From d8a159ad1fdc64c65453484c4a5750a3426f765e Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Thu, 20 Apr 2023 23:33:56 +0200 Subject: [PATCH] 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 --- .../libvncserver/libvncserver_0.9.14.bb | 52 ++++++++++++++++++++++ .../images/agl-cluster-demo-platform.bb | 1 + .../qemu-set-display/qemu-set-display_git.bb | 14 ++++++ 3 files changed, 67 insertions(+) create mode 100644 recipes-graphics/libvncserver/libvncserver_0.9.14.bb create mode 100644 recipes-support/qemu-set-display/qemu-set-display_git.bb 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}" -- 2.16.6