lvgl: Default to XRGB8888 DRM framebuffer

The ARGB8888 framebuffer format for base canvas makes little sense
as the base canvas is unlikely to be transparent and require alpha.
Use XRGB8888 framebuffer format which is more widely supported by
DRM drivers as base plane pixel format.

This is identical to upstream fix for this issue which already landed:
https://github.com/lvgl/lv_drivers/commit/c71e5f84bb2aebaed0644e31b8868bf90b199d32
The upstream fix just never made it into the LVGL 9.0.0 for some reason,
an repeated upstream fix is being worked in now.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Marek Vasut
2024-03-13 05:40:09 +01:00
committed by Khem Raj
parent 1f075a9a28
commit 87e19a8c3d
2 changed files with 8 additions and 0 deletions
@@ -26,6 +26,9 @@ S = "${WORKDIR}/git"
TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm"
do_configure:prepend() {
# Fix ARGB8888 base plane format misuse again
sed -i 's@ARGB8888@XRGB8888@g' "${S}/lvgl/src/drivers/display/drm/lv_linux_drm.c"
if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then
# Add libdrm build dependency
sed -i '/^target_link_libraries/ s@pthread@& drm@' "${S}/CMakeLists.txt"
@@ -22,6 +22,11 @@ ALLOW_EMPTY:${PN} = "1"
PACKAGECONFIG ??= "drm"
require lv-conf.inc
do_configure:prepend() {
# Fix ARGB8888 base plane format misuse again
sed -i 's@ARGB8888@XRGB8888@g' "${S}/src/drivers/display/drm/lv_linux_drm.c"
}
FILES:${PN}-dev += "\
${includedir}/${PN}/ \
${includedir}/${PN}/lvgl/ \