So I know my setup is really niche, but here goes nothing
- I am using Arch Pi on Pi 4
- Installed
cage
as a lightweight Wayland compositor - Installed
mpv + wireplumber + pipewire
I am not quite sure how to use cage
to launch a simple “Wayland session (if it even makes sense)”, so that I can send MPV to that display.
So I tried cage -s alacritty :1
, and it does launch alacritty
with it detecting that it is on wayland
.
But when I do DISPLAY=:1 mpv ....
, the video runs, but there’s no audio.
Also there’s no errors shown on mpv
either.
The other thing of note is that I tried cage -s Xwayland :1
and the audio+video works perfectly.
So in all:
- How do I launch
cage
to spawn a simple Wayland session? Is this even possible? - How do I solve the audio issue on Wayland?
EDIT: Thanks all for the help.
After some investigation, I found out the pipewire
somehow is not ran on startup of alacritty
, but it did for Xwayland
.
I noticed that the first play of the video would be audio-less on alacritty
, and subsequent ones are fine.
It seems like the first run causes pipewire
to be started and thus I wrongfully assumed that the daemon was running.
Still strange nonetheless…
It’s possible you didn’t install pipewire-audio, or didn’t start/enable a service.
Btw fun fact: you can use
mpv --gpu-context=drm
in a tty to watch a video directly from the framebuffer.Edit: read this https://wiki.archlinux.org/title/PipeWire#Audio
That shouldn’t be the problem since I’m using
pipewire
and it is working in the Xwayland session. When I launch intoalacritty
, I also checked thatpipewire + wireplumber
were both active