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:
c71e5f84bb
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
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 8 additions and 0 deletions

View File

@ -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"

View File

@ -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/ \