I have a 16bit (565) display attached to a Pi with the DPI interface. The problem is that the framebuffer that gets set up is still 32bit and it looks like it's just dropping the LSBs to truncate the output to the screen. This leads to really nasty banding when there is a colour gradient to display.
How can I force the framebuffer to be 16bit?
I've tried setting
framebuffer_depth=16 in the config.txt but still end up with a 32bit framebuffer.
dpi_output_format is set to
0x70013 which should be mode 3 565 output.
mode "320x480" geometry 320 480 320 480 32 timings 0 0 0 0 0 0 0 rgba 8/16,8/8,8/0,8/24 endmode Frame buffer device information: Name : BCM2708 FB Address : 0x1eb62000 Size : 614400 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 1 YPanStep : 1 YWrapStep : 0 LineLength : 1280 Accelerator : No