aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-04-20 23:33:56 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-04-20 23:33:56 +0200
commitd8a159ad1fdc64c65453484c4a5750a3426f765e (patch)
tree030d07b3efdb7d95a86b15f19cb025df251efdbb
parent63960ca3c91849920bdbaa96090e208816d344ea (diff)
Add helper to enable both displays in qemu
This supports testing the drm-leasemanager in qemu. We can bring up two outputs, but the 2nd output is disabled until it is connected. See https://jira.automotivelinux.org/browse/SPEC-4464 and https://gitlab.com/qemu-project/qemu/-/issues/1107 This adds a helper tool that will bring up the 2nd screen. Bug-AGL: SPEC-4464 Change-Id: I145a1b947916337daa9c8e7aed38e64919b35df8 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
-rw-r--r--recipes-graphics/libvncserver/libvncserver_0.9.14.bb52
-rw-r--r--recipes-platform/images/agl-cluster-demo-platform.bb1
-rw-r--r--recipes-support/qemu-set-display/qemu-set-display_git.bb14
3 files changed, 67 insertions, 0 deletions
diff --git a/recipes-graphics/libvncserver/libvncserver_0.9.14.bb b/recipes-graphics/libvncserver/libvncserver_0.9.14.bb
new file mode 100644
index 000000000..50bdad57d
--- /dev/null
+++ b/recipes-graphics/libvncserver/libvncserver_0.9.14.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+# ffmpeg support is not currently compatible with ffmpeg 5.0
+PACKAGECONFIG ??= " \
+ 24bpp \
+ filetransfer \
+ gcrypt \
+ gnutls \
+ jpeg \
+ lzo \
+ png \
+ pthread \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
+ sdl \
+ websockets \
+ zlib \
+"
+
+PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
+PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
+PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
+PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
+PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
+PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
+PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
+PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
+PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+
+PACKAGE_BEFORE_PN = "libvncclient"
+FILES:libvncclient = "${libdir}/libvncclient.*"
+
+inherit cmake
+
+SRC_URI = "git://github.com/LibVNC/libvncserver;branch=master;protocol=https"
+SRCREV = "10e9eb75f73e973725dc75c373de5d89807af028"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"
diff --git a/recipes-platform/images/agl-cluster-demo-platform.bb b/recipes-platform/images/agl-cluster-demo-platform.bb
index f11d883c3..8a3b9a793 100644
--- a/recipes-platform/images/agl-cluster-demo-platform.bb
+++ b/recipes-platform/images/agl-cluster-demo-platform.bb
@@ -15,4 +15,5 @@ IMAGE_INSTALL:append = " \
packagegroup-agl-cluster-demo-platform \
${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "cluster-demo-config", "", d)} \
${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "weston-ini-conf-landscape-inverted", "weston-ini-conf-landscape", d)} \
+ ${@bb.utils.contains("AGL_FEATURES", "AGLCI", "qemu-set-display", "", d)} \
"
diff --git a/recipes-support/qemu-set-display/qemu-set-display_git.bb b/recipes-support/qemu-set-display/qemu-set-display_git.bb
new file mode 100644
index 000000000..870ac6b86
--- /dev/null
+++ b/recipes-support/qemu-set-display/qemu-set-display_git.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Helper tool to enable the secondandary vnc displays"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+
+SRC_URI = "git://github.com/dhobsong/qemu-set-display.git;protocol=https;branch=main"
+SRCREV = "${AUTOREV}"
+S = "${WORKDIR}/git"
+
+DEPENDS += "libvncserver"
+
+inherit meson pkgconfig
+
+PV = "0.1+git${SRCPV}"