diff options
9 files changed, 87 insertions, 1 deletions
diff --git a/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in index 536f24db..2fbf4193 100644 --- a/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in +++ b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in @@ -18,3 +18,5 @@ lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir lxc.cgroup.devices.allow = c 10:* rwm lxc.mount.entry = /dev/pvr_sync dev/pvr_sync none bind,optional,create=file +lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file + diff --git a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in index 374b9c03..632252d5 100644 --- a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in +++ b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in @@ -4,4 +4,5 @@ lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ lxc.environment = QML_IMPORT_PATH=/usr/lib/qml/ lxc.environment = QML2_IMPORT_PATH=/usr/lib/qml/ lxc.environment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell +lxc.environment = PIPEWIRE_RUNTIME_DIR=/var diff --git a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in index 83362ddf..262f09bd 100644 --- a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in +++ b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in @@ -14,3 +14,4 @@ lxc.mount.entry = /run/drm-lease-manager/lease-ivi var/display/drm-lease-manager lxc.cgroup.devices.allow = c 13:* rwm lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir +lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file diff --git a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in index 29a49b6c..de7c6cdd 100644 --- a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in +++ b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in @@ -6,3 +6,4 @@ DefaultEnvironment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ DefaultEnvironment = QML_IMPORT_PATH=/usr/lib/qml/ DefaultEnvironment = QML2_IMPORT_PATH=/usr/lib/qml/ DefaultEnvironment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell +DefaultEnvironment = PIPEWIRE_RUNTIME_DIR=/var diff --git a/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_git.bbappend b/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_git.bbappend new file mode 100644 index 00000000..fe6dab86 --- /dev/null +++ b/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_git.bbappend @@ -0,0 +1,8 @@ +do_install:append() { + config_dir="${D}${sysconfdir}/wireplumber/" + systemd_dir="${D}${sysconfdir}/systemd/system/sockets.target.wants" + + # enable additional systemd services + install -d ${systemd_dir} + ln -s ${systemd_system_unitdir}/wireplumber@.service ${systemd_dir}/wireplumber@policy.service +} diff --git a/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch b/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch new file mode 100644 index 00000000..0da0bfb6 --- /dev/null +++ b/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch @@ -0,0 +1,64 @@ +From a2d324c75057f0ddd66cbe5b5e419fddda213cc2 Mon Sep 17 00:00:00 2001 +From: Ashok Sidipotu <ashok.sidipotu@collabora.com> +Date: Mon, 28 Feb 2022 06:46:19 +0530 +Subject: [PATCH] systemd: changes to run wireplumber instances in containers + +- remove the pipewire daemon dependencies so that +only wireplumber policy daemon can run in containers. +- remove pipewire user +--- + src/systemd/system/wireplumber@.service.in | 8 +++----- + src/systemd/user/wireplumber@.service.in | 5 ++--- + 2 files changed, 5 insertions(+), 8 deletions(-) + + Inappropriate [configuration] + +diff --git a/src/systemd/system/wireplumber@.service.in b/src/systemd/system/wireplumber@.service.in +index ba8eefe..e4b985b 100644 +--- a/src/systemd/system/wireplumber@.service.in ++++ b/src/systemd/system/wireplumber@.service.in +@@ -5,8 +5,7 @@ + # wireplumber@policy.service loads policy.conf, etc. + [Unit] + Description=Multimedia Service Session Manager (%i) +-After=pipewire.service +-BindsTo=pipewire.service ++After=sockets.target + Conflicts=pipewire-media-session.service + + [Service] +@@ -19,9 +18,8 @@ SystemCallFilter=@system-service + Type=simple + ExecStart=@WP_BINARY@ -c %i.conf + Restart=on-failure +-User=pipewire +-Environment=PIPEWIRE_RUNTIME_DIR=%t/pipewire ++Environment=PIPEWIRE_RUNTIME_DIR=/var + Environment=GIO_USE_VFS=local + + [Install] +-WantedBy=pipewire.service ++WantedBy=multi-user.target +diff --git a/src/systemd/user/wireplumber@.service.in b/src/systemd/user/wireplumber@.service.in +index 9dbceff..7e21194 100644 +--- a/src/systemd/user/wireplumber@.service.in ++++ b/src/systemd/user/wireplumber@.service.in +@@ -5,8 +5,7 @@ + # wireplumber@policy.service loads policy.conf, etc. + [Unit] + Description=Multimedia Service Session Manager (%i) +-After=pipewire.service +-BindsTo=pipewire.service ++After=sockets.target + Conflicts=pipewire-media-session.service + + [Service] +@@ -23,4 +22,4 @@ Slice=session.slice + Environment=GIO_USE_VFS=local + + [Install] +-WantedBy=pipewire.service ++WantedBy=multi-user.target +-- +2.35.1 + diff --git a/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber_git.bbappend b/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber_git.bbappend new file mode 100644 index 00000000..6a73503d --- /dev/null +++ b/meta-agl-lxc/recipes-multimedia/wireplumber/wireplumber_git.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/wireplumber:" + +SRC_URI += "\ + file://0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch \ +" diff --git a/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb b/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb index 9cb495a3..22a59114 100644 --- a/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb +++ b/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb @@ -24,4 +24,7 @@ IMAGE_INSTALL += " \ ttf-dejavu-mathtexgyre \ ttf-dejavu-common \ ca-certificates \ -" + wireplumber \ + packagegroup-pipewire-base \ + wireplumber-policy-config-agl \ +"
\ No newline at end of file diff --git a/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb b/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb index fd7e559b..aace83a8 100644 --- a/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb +++ b/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb @@ -12,6 +12,7 @@ IMAGE_INSTALL += " \ alsa-utils \ packagegroup-pipewire \ pipewire-ic-ipc \ + wireplumber-config-agl \ ${@bb.utils.contains('AGL_FEATURES', 'agl-drm-lease', 'drm-lease-manager', '', d)} \ " |