diff mbox series

[6/8] lvgl: Default to XRGB8888 DRM framebuffer

Message ID 20240313045038.90500-7-marex@denx.de
State Accepted
Headers show
Series lvgl: Upgrade to LVGL 9 series | expand

Commit Message

Marek Vasut March 13, 2024, 4:40 a.m. UTC
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>
---
Cc: Fabio Estevam <festevam@denx.de>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
---
 meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb | 3 +++
 meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb         | 5 +++++
 2 files changed, 8 insertions(+)
diff mbox series

Patch

diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb
index 0045706ef..ee3d5ab20 100644
--- a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb
+++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb
@@ -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"
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb
index 7a109df45..bdd61d891 100644
--- a/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb
+++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb
@@ -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/ \