summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Duskett <adam.duskett@amarulasolutions.com>2026-01-14 18:25:53 +0100
committerKhem Raj <raj.khem@gmail.com>2026-01-14 16:59:51 -0800
commit882622c7e5d2d394dac2632056fdca500b8c4a6a (patch)
treebd88f7c0831036d8f5791c2ff3b33dec21aa01b8
parent29298838b513f1eafeff1fa7e2e2485e5940d767 (diff)
downloadmeta-openembedded-882622c7e5d2d394dac2632056fdca500b8c4a6a.tar.gz
kmscon: Add recipe
Provide sane defaults that do not have dependencies, such as a dummy and terminal session support and basic fbdev support. kmsconvt@.service must be added separatly or else do_rootfs fails with the following error: ``` do_rootfs: Postinstall scriptlets of ['kmscon'] have failed. If the intention is to defer them to first boot, then please place them into pkg_postinst_ontarget:${PN} (). Deferring to first boot via 'exit 1' is no longer supported. ``` Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb63
1 files changed, 63 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb b/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb
new file mode 100644
index 0000000000..9f19bd18e6
--- /dev/null
+++ b/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb
@@ -0,0 +1,63 @@
1SUMMARY = "Simple terminal emulator based on linux kernel mode setting (KMS)."
2DESCRIPTION = "\
3 Kmscon is a simple terminal emulator based on linux kernel mode setting \
4 (KMS). It is an attempt to replace the in-kernel VT implementation with \
5 a userspace console. \
6"
7HOMEPAGE = "https://github.com/kmscon/kmscon"
8BUGTRACKER = "https://github.com/kmscon/kmscon/issues"
9CVE_PRODUCT = "kmscon"
10
11SECTION = "graphics"
12
13LICENSE = "MIT"
14LIC_FILES_CHKSUM = "file://COPYING;md5=6d4602d249f8a3401040238e98367d9e"
15
16DEPENDS = "\
17 libtsm \
18 libxkbcommon \
19 udev \
20"
21
22SRC_URI = "git://github.com/kmscon/kmscon;branch=main;protocol=https"
23SRCREV = "7d46650dbb0826f9b89de42f879be879391c14fd"
24
25inherit meson pkgconfig systemd
26
27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
28
29PACKAGECONFIG[backspace_sends_delete] = "-Dbackspace_sends_delete=true, -Dbackspace_sends_delete=false"
30PACKAGECONFIG[font_pango] = "-Dfont_pango=enabled, -Dfont_pango=disabled, pango"
31PACKAGECONFIG[multi_seat] = "-Dmulti_seat=enabled, -Dmulti_seat=disabled, systemd"
32PACKAGECONFIG[opengl] = "-Drenderer_gltex=enabled -Dvideo_drm3d=enabled, -Drenderer_gltex=disabled -Dvideo_drm3d=disabled, libdrm virtual/egl virtual/libgles2 virtual/libgbm"
33PACKAGECONFIG[video_drm2d] = "-Dvideo_drm2d=enabled, -Dvideo_drm2d=disabled, libdrm"
34
35EXTRA_OEMESON = "\
36 -Delogind=disabled \
37 -Dextra_debug=false \
38 -Dfont_unifont=enabled \
39 -Dsession_dummy=enabled \
40 -Dsession_terminal=enabled \
41 -Dtests=false \
42 -Dvideo_fbdev=enabled \
43"
44
45SYSTEMD_SERVICE:${PN} = "kmscon.service"
46FILES:${PN} += "${systemd_system_unitdir}/kmsconvt@.service"
47
48do_install:append() {
49 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
50 install -d ${D}${sysconfdir}/systemd/system
51 ln -sf ${systemd_system_unitdir}/kmsconvt@.service \
52 ${D}${sysconfdir}/systemd/system/autovt@.service
53 fi
54
55 if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'true', 'false', d)}; then
56 sed -e "s@#drm@drm@g" \
57 -e "s@#hwaccel@hwaccel@g" \
58 -e "s@#render-engine=gltex@render-engine=gltex@g" \
59 -i ${D}${sysconfdir}/kmscon/kmscon.conf
60 fi
61}
62
63RDEPENDS:${PN} = "xkeyboard-config"