backends: make the framebuffer backend optional

The framebuffer is a legacy backend and we know that at least OpenSUSE disabled it in the kernel configuration, so let's make it optional.
This commit is contained in:
Vladimir Stoiakin 2026-01-26 14:37:37 +03:00
parent 6c3eca8fb6
commit 1840f10f62
13 changed files with 51 additions and 32 deletions

View file

@ -1,9 +1,11 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# Manual post-processing steps for the generated lv_conf.h
# 1. Comment LV_USE_LINUX_DRM (handled by meson.build)
# 2. Comment LV_BIG_ENDIAN_SYSTEM (handled by meson.build)
# 3. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py)
# 1. Comment LV_USE_SDL
# LV_USE_LINUX_FBDEV
# LV_USE_LINUX_DRM
# LV_BIG_ENDIAN_SYSTEM (handled by meson.build)
# 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py)
LV_COLOR_DEPTH 32
LV_USE_STDLIB_MALLOC LV_STDLIB_CLIB
@ -106,7 +108,9 @@ LV_USE_GRID 0
LV_USE_OBSERVER 0
LV_USE_LINUX_FBDEV 1
LV_USE_SDL 0
LV_USE_LINUX_FBDEV 0
LV_LINUX_FBDEV_BSD 0
LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT

View file

@ -1251,7 +1251,7 @@
*==================*/
/** Use SDL to open window on PC and handle mouse and keyboard. */
#define LV_USE_SDL 0
//#define LV_USE_SDL 0
#if LV_USE_SDL
#define LV_SDL_INCLUDE_PATH <SDL2/SDL.h>
#define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT /**< LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance */
@ -1280,7 +1280,7 @@
#endif
/** Driver for /dev/fb */
#define LV_USE_LINUX_FBDEV 1
//#define LV_USE_LINUX_FBDEV 0
#if LV_USE_LINUX_FBDEV
#define LV_LINUX_FBDEV_BSD 0
#define LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT

View file

@ -15,16 +15,21 @@ unl0kr_dependencies = [
unl0kr_args = []
deplibdrm = dependency('libdrm', required: get_option('with-drm'))
if deplibdrm.found()
unl0kr_dependencies += deplibdrm
if get_option('lvgl_backends').contains('framebuffer')
unl0kr_args += '-DLV_USE_LINUX_FBDEV=1'
else
unl0kr_args += '-DLV_USE_LINUX_FBDEV=0'
endif
if get_option('lvgl_backends').contains('drm')
unl0kr_dependencies += dependency('libdrm')
unl0kr_args += '-DLV_USE_LINUX_DRM=1'
else
unl0kr_args += '-DLV_USE_LINUX_DRM=0'
endif
if deplibsdl.found()
unl0kr_dependencies += deplibsdl
if get_option('lvgl_backends').contains('sdl')
unl0kr_dependencies += dependency('sdl2')
unl0kr_args += '-DLV_USE_SDL=1'
else
unl0kr_args += '-DLV_USE_SDL=0'