From 47592bb48642e66230b09d75b9037c1a93693df1 Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Fri, 14 Jun 2024 19:49:04 +0000 Subject: Add generic graphic output over rdp This option enables an rdp server for one primary display. It is intended to be used e.g. with the aws-ec2-x86-64 or aws-ec2-arm64 machines in the first place but can be useful for debugging purposes for local setup as well. Bug-AGL: SPEC-5093 Change-Id: I2659628d389080ba382da3c7e5ec1286c2ed1286 Signed-off-by: Jan-Simon Moeller (cherry picked from commit 405183531725ec7ed27985bc62e2804658b4e3d0) --- meta-agl-rdp/conf/layer.conf | 12 ++++++++++++ .../wayland/agl-freerdp-sample-server-key/server.crt | Bin 0 -> 1002 bytes .../wayland/agl-freerdp-sample-server-key/server.key | Bin 0 -> 1705 bytes .../wayland/agl-freerdp-sample-server-key_1.1.bb | 18 ++++++++++++++++++ .../recipes-graphics/wayland/weston-ini-conf.bbappend | 15 +++++++++++++++ .../wayland/weston-ini-conf/rdp-standalone.cfg | 15 +++++++++++++++ .../recipes-graphics/wayland/weston_%.bbappend | 2 ++ templates/feature/agl-rdp/50_bblayers.conf.inc | 3 +++ templates/feature/agl-rdp/50_local.conf.inc | 1 + 9 files changed, 66 insertions(+) create mode 100644 meta-agl-rdp/conf/layer.conf create mode 100644 meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.crt create mode 100644 meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.key create mode 100644 meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key_1.1.bb create mode 100644 meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf.bbappend create mode 100644 meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf/rdp-standalone.cfg create mode 100644 meta-agl-rdp/recipes-graphics/wayland/weston_%.bbappend create mode 100644 templates/feature/agl-rdp/50_bblayers.conf.inc create mode 100644 templates/feature/agl-rdp/50_local.conf.inc diff --git a/meta-agl-rdp/conf/layer.conf b/meta-agl-rdp/conf/layer.conf new file mode 100644 index 00000000..59f2703a --- /dev/null +++ b/meta-agl-rdp/conf/layer.conf @@ -0,0 +1,12 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-aglrdp" +BBFILE_PATTERN_meta-aglrdp = "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-aglrdp = "8" + +LAYERSERIES_COMPAT_meta-aglrdp= "kirkstone" diff --git a/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.crt b/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.crt new file mode 100644 index 00000000..4205cfd2 Binary files /dev/null and b/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.crt differ diff --git a/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.key b/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.key new file mode 100644 index 00000000..81d963bf Binary files /dev/null and b/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key/server.key differ diff --git a/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key_1.1.bb b/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key_1.1.bb new file mode 100644 index 00000000..c1666362 --- /dev/null +++ b/meta-agl-rdp/recipes-graphics/wayland/agl-freerdp-sample-server-key_1.1.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Sample key files for the freerdp server" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = " file://server.crt file://server.key " + +FILES:${PN} = "/etc/xdg/weston/server.crt /etc/xdg/weston/server.key" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install () { + + install -d ${D}/etc/xdg/weston + install -m 0644 ${WORKDIR}/server.crt ${D}/etc/xdg/weston/server.crt + install -m 0644 ${WORKDIR}/server.key ${D}/etc/xdg/weston/server.key + +} diff --git a/meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf.bbappend new file mode 100644 index 00000000..e385c50d --- /dev/null +++ b/meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -0,0 +1,15 @@ +FILESEXTRAPATHS:prepend:agl-rdp := "${THISDIR}/${PN}:" + +SRC_URI:prepend:agl-rdp = " file://rdp-standalone.cfg " + +WESTON_DISPLAYS:agl-rdp = " " +WESTON_FRAGMENTS:agl-rdp = " rdp-standalone " + +# sample keys +AGL_FREERDP_DEFAULT_KEYS ?= "agl-freerdp-sample-server-key" +AGL_FREERDP_DEPENDENCY ?= "${AGL_FREERDP_DEFAULT_KEYS}" +RDEPENDS:${PN}:append:agl-rdp = " ${AGL_FREERDP_DEPENDENCY} " + +# the key tools need to be on-target (for now) +RDEPENDS:${PN}:agl-rdp += " freerdp " + diff --git a/meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf/rdp-standalone.cfg b/meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf/rdp-standalone.cfg new file mode 100644 index 00000000..50555b6d --- /dev/null +++ b/meta-agl-rdp/recipes-graphics/wayland/weston-ini-conf/rdp-standalone.cfg @@ -0,0 +1,15 @@ +[core] +backend=rdp-backend.so +require-input=false +idle-time=0 +modules=systemd-notify.so +activate-by-default=false + +[rdp] +tls-key=/etc/xdg/weston/server.key +tls-cert=/etc/xdg/weston/server.crt +# change with/height for demo +width=1080 +height=1920 +# transform not working in weston10 +#transform=rotate-90 diff --git a/meta-agl-rdp/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-rdp/recipes-graphics/wayland/weston_%.bbappend new file mode 100644 index 00000000..a9b96c7d --- /dev/null +++ b/meta-agl-rdp/recipes-graphics/wayland/weston_%.bbappend @@ -0,0 +1,2 @@ +# remote display setup +PACKAGECONFIG:append:agl-rdp = " rdp" diff --git a/templates/feature/agl-rdp/50_bblayers.conf.inc b/templates/feature/agl-rdp/50_bblayers.conf.inc new file mode 100644 index 00000000..4a34bd7d --- /dev/null +++ b/templates/feature/agl-rdp/50_bblayers.conf.inc @@ -0,0 +1,3 @@ +BBLAYERS =+ " \ + ${METADIR}/meta-agl-devel/meta-agl-rdp \ +" diff --git a/templates/feature/agl-rdp/50_local.conf.inc b/templates/feature/agl-rdp/50_local.conf.inc new file mode 100644 index 00000000..20f12eed --- /dev/null +++ b/templates/feature/agl-rdp/50_local.conf.inc @@ -0,0 +1 @@ +OVERRIDES:append = ":agl-rdp" -- cgit 1.2.3-korg