Patches 1 through 4 clean up directory creation in the boot scripts, and patch 5 actually adds working (and tested) support for audio in the VM via PipeWire. This only works when running in a VM, as Spectrum OS has no sound on the host yet. --- Changes since v5: - Move changes to startup scripts into a single patch. - Remove "directories" service in favor of creating the directories from rc.init. - Use VM_DIRS to create /run/user and /run/wait. - Create /run/user and /run/wait on the host as well, using the same mechanism as for the VM (though with a different variable name in the makefile). - Use a drop-in configuration file for WirePlumber instead of overriding wireplumber.conf. This should be more robust to future WirePlumber changes. Demi Marie Obenour (5): host/rootfs: Create /run/user and /run/wait via run-image img/app: Create /run/user and /run/wait via run-image img/app: tell mount(8) to create directories img/app: Create needed directories in early boot img/app: Run PipeWire and WirePlumber in the VMs host/rootfs/Makefile | 2 + host/rootfs/etc/mdev/listen | 1 - host/rootfs/etc/mdev/wait | 1 - host/rootfs/etc/s6-rc/weston/run | 1 - img/app/Makefile | 22 +- img/app/default.nix | 3 + img/app/etc/mdev.conf | 1 + img/app/etc/mdev/listen | 1 - img/app/etc/mdev/wait | 1 - img/app/etc/pipewire/pipewire.conf | 199 ++++++++++++++++++ img/app/etc/s6-linux-init/scripts/rc.init | 11 +- .../etc/s6-rc/app/dependencies.d/wireplumber | 0 .../etc/s6-rc/pipewire/dependencies.d/dbus | 0 img/app/etc/s6-rc/pipewire/notification-fd | 1 + .../s6-rc/pipewire/notification-fd.license | 2 + img/app/etc/s6-rc/pipewire/run | 23 ++ img/app/etc/s6-rc/pipewire/type | 1 + img/app/etc/s6-rc/pipewire/type.license | 2 + img/app/etc/s6-rc/wayland-proxy-virtwl/run | 11 - .../etc/s6-rc/wireplumber/dependencies.d/dbus | 0 .../s6-rc/wireplumber/dependencies.d/pipewire | 0 img/app/etc/s6-rc/wireplumber/run | 4 + img/app/etc/s6-rc/wireplumber/type | 1 + img/app/etc/s6-rc/wireplumber/type.license | 2 + .../wireplumber.conf.d/99_spectrum.conf | 39 ++++ 25 files changed, 307 insertions(+), 22 deletions(-) create mode 100644 img/app/etc/pipewire/pipewire.conf create mode 100644 img/app/etc/s6-rc/app/dependencies.d/wireplumber create mode 100644 img/app/etc/s6-rc/pipewire/dependencies.d/dbus create mode 100644 img/app/etc/s6-rc/pipewire/notification-fd create mode 100644 img/app/etc/s6-rc/pipewire/notification-fd.license create mode 100644 img/app/etc/s6-rc/pipewire/run create mode 100644 img/app/etc/s6-rc/pipewire/type create mode 100644 img/app/etc/s6-rc/pipewire/type.license create mode 100644 img/app/etc/s6-rc/wireplumber/dependencies.d/dbus create mode 100644 img/app/etc/s6-rc/wireplumber/dependencies.d/pipewire create mode 100644 img/app/etc/s6-rc/wireplumber/run create mode 100644 img/app/etc/s6-rc/wireplumber/type create mode 100644 img/app/etc/s6-rc/wireplumber/type.license create mode 100644 img/app/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf base-commit: f2f6d7d2a36fd37910335654b8fc69fb01934cb3 -- Sincerely, Demi Marie Obenour (she/her/hers)