Skip to main content
Associate II
Sep 25, 2025 5:58 AM UTC
Solved

LTDC pixel format RGB565 produces output only when CLUT is enabled

I am using LTDC for interfacing with a TFT LCD. The LCD is connected with 18 bit (RGB666) interface. I have selected the pixel format as RGB565, and I am using a frame buffer stored in the internal SRAM. The frame buffer has been populated with 16 bit RGB values. The problem is, I can only see the output when I enable the CLUT and populate the CLUT with RGB values. Otherwise, if CLUT is not enabled, I cannot see the output. As far as I know, CLUT is used in L8 pixel format, but for RGB565 CLUT is not used. I am confused about this situation. Any idea what may be happening here?

This topic has been closed for replies.
MM..1
MM..1Best answer
Super User
Oct 5, 2025 8:09 AM UTC

Now is reply simple layer0 alpha must be 255 not 0. L8 set it for pixels but 565 no.

6 replies

ST Employee
Oct 2, 2025 12:27 PM UTC

Hello @yusuf1809,

TouchGFX doesn't support RGB666 framebuffer format. You did the proper conversion from rgb565 to rgb666 for the screen ?

Br,

Louis BOUDOST Software Engineer | TouchGFX
yusuf1809Author
Associate II
Oct 2, 2025 12:39 PM UTC

Hi @LouisB thanks for your reply. I am not using touch gfx. I have configured the frame buffer manually. The rgb666 interface is working as I have been able to pass data using L8 pixel format with the CLUT. But when I changed the pixel format from L8 to rgb565, nothing shows up on the LCD unless I enable the CLUT. Note that when I was using the L8 format, my frame buffer was 8 bit. When I changed to rgb565, I have updated the frame buffer size to 16 bit. Even if I put 16 bit rgb values in the frame buffer nothing shows up on the LCD without enabling the CLUT.

MM..1
Super User
Oct 4, 2025 9:05 AM UTC

You ask in TouchGFX area and changing generated code from one format to other isnt simple click... If you first generate L8 setup , changing to 565 require more as one regenerate code and chceck all settings LTDC ...

Try show what and where you change, normal is only Layer type change. (without touchgfx)