Graphics corruption with HW overlay planes enabled
The graphics get sometimes corrupted on a fork of LineageOS 16 (based on AOSP 9) when the system property hwc.drm.use_overlay_planes is set to 1. When hwc.drm.use_overlay_planes is 0, i.e. the hardware overlay planes are not used then the graphics corruption disappears and everything looks good. See the photos attached how the corruption looks when it happens. There is also logcat and dmesg attached. The corruption happened around the time Tue Jul 16 16:44:41 2019 +- 10 seconds.
Hardware and software used:
- Samsung Galaxy S3 (i9305), Exynos 4412 SoC
- Linux 5.2 with custom patches, notably there is one "hack" to for Exynos DRM driver to allow the usage of pixel formats used commonly by AOSP: https://git.replicant.us/contrib/GNUtoo/kernel_replicant_linux.git/commit/?h=GNUtoo/lineage-16.0-base&id=4d497192b8d4c71ce361fdaf52a5ef6265c5339d We are trying to check whether this could also be the cause for the issue but as the corruption doesn't happen with hwc.drm.use_overlay_planes = 0 the issue could be as well something else.
- Modified Mesa3D so that we can use Softpipe / swrast software rendering without VGEM node: https://git.replicant.us/contrib/GNUtoo/external_mesa3d.git/commit/?h=GNUtoo/lineage-16.0-base&id=bd1bfc40e2dd72e178b7fdc9a84f4063f0117f6b
- We use the following graphics nodes: hwc.drm.device=/dev/dri/card0 (exynos drm master node) and gralloc.gbm.device=/dev/dri/renderD128 (exynos drm render node)
- gbm_gralloc