Font and Image alpha with Color Depth 16

I’m using 2 bit per pixel (I tried already with 4 bit per pixel) on fonts and 2 bit indexed images with alpha, but I noticed that alpha does not work properly Color Depth 16 on target.

It works on simulation but on target it is not getting the correct alpha. I think I have a good gamma as I can create a good black to white gradient.

Image on Simulation (ColorDepth 16)ok:

Image on Target (ColorDepth 16) not ok:

Gradient on Target ok:

It looks good on eye, better than the picture.

So if I have a good gradient, why I can’t get good text and image alpha on target?

simulation effect on pc monitor is ok usually.
in fact, embed system, small tft module for display.
monitor is 888-full color width view angle ltps.
tft module is 565 color normal view angle a-si tft.
you can tune gamma curve improve effect, but can’t achieve as well as pc monitor.
if your module support gamma 888, you can try it.
if only 565 or 666, soso…

but as you see in the picture, I still can get a good gradient in the TFT. Maybe the fonts/ image could be adjusted to have a better result on TFT?
I’m using lvgl online tools to convert. I can adjust image alpha offline (not sure how it will result) but I can’t adjust the fonts anti aliasing tones in the tool.

I found that if I export images as “True color with Alpha” option, it works on Target as expected.
I noticed the “True color with Alpha” option exports to different target Color Depth options, so it is using “Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit”

I was expecting that the exported “Indexed” option, since it has also the Alpha component, it could result similar results

I found what the issue was, antialiasing must be enabled on lvgl display driver:
disp_drv.antialiasing = 1;