Hi,
We have a few problems with dithering in Android.
In our test arrangement, we've connected a 18bit panel via LVDS to an i.mx6 Quad.
Running Android 5.0 on it, a gradient test image shows a lot of chunks (as limited by the 18bit panel) - So It seems like dithering is not working. - But if we enable "Disable HW-Overlay" in the developer settings, everything get's dithered correctly.
Has anyone experienced similar problems, and/or got any idea on how to fix this problem?
Thanks in advance.
解決済! 解決策の投稿を見る。
Hello Matthias,
Was the change made in the Device Tree file to change the display from RGB666 to RGB565?
Hello Sergio,
yes, we tried this before, but there seems to be no difference between RGB666 an RGB565 with a 16Bit framebuffer.
Although RGB666 with 32Bit is a little bit better (as mentioned above).
Hi,
This is the same issue as this one:
Android ICS -> Lollipop upgrade on IMx6 creates image binding
Have you tried setting the bpp to 32-bit? Are you sure your LVDS display framebuffer is actually 24-bit (check the sysfs entries)?
Otherwise the difference with or without the HW overlays is the use of the GPU2D, when HW overlays are disabled everything goes through GPU3D instead of GPU2D.
Regards,
Gary
Hi,
thanks for the response.
Yes, we've tried setting the default_bpp to 32 and it's a little bit better (since now, we can use the full RGB666 not only RGB565).
But it's still not great.
Our devicetree setting look like this - Can you see anything wrong with that?
/ { mxcfb1: fb@0 { disp_dev = "ldb"; interface_pix_fmt = "RGB666"; default_bpp = <32>; int_clk = <0>; late_init = <0>; status = "okay"; }; }; &ldb { status = "okay"; lvds-channel@0 { fsl,data-mapping = "spwg"; fsl,data-width = <18>; crtc = "ipu2-di0"; primary; status = "okay"; display-timings { /* ... */ }; }; };
Thanks again,
- Matthias Rabe