Skip to main content
Explorer
September 25, 2025
Solved

LTDC pixel format RGB565 produces output only when CLUT is enabled

  • September 25, 2025
  • 1 reply
  • 615 views

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.
    Best answer by MM..1

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

    1 reply

    ST Employee
    October 2, 2025

    Hello @yusuf1809,

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

    Br,

    yusuf1809Author
    Explorer
    October 2, 2025

    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.

    Graduate II
    October 4, 2025

    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)