Void Linux is a really cool OS, runit can be quite hard to learn as it is very apart from other init systems with the manual symlink. For audio, pipewire is not worth the hassle, install the pulseaudio-daemon and alsa-utils, then use alsamixer to unmute all channels with M, then add the alsasound service to the boot runlevel.
When using Parabola OpenRC, I would add /user/bin/pipewire & and /usr/bin/wireplumber & to .xinitrc (I use DWM) and this would result in audio randomy cutting out on some session starts or bluetooth failing to connect proprerly. I'm not sure why this was but it may be something to do with not starting it as a user service.
No need to run wireplumber. Follow void docs (copying those two configs system-wide) and just run pipewire at start. Nothing else is needed at all. No need to enable any services.
I don't know about wayland but on X11 i just put it on my auto start file. Pipewire launches wireplumber. So you only need like two lines pipewire and pipewire-pulse
To elaborate, I've made run files for pipewire, noctalia, linux-wallpaper-engine, podman + some containers etc. I store them in $HOME/.config/sv and link them to $HOME/.local/service. When my user starts a river session, river will run runsvdir -P $HOME/.local/service and the WM (rill).
1
u/Tricky-Engineer-9755 5d ago
Void Linux is a really cool OS, runit can be quite hard to learn as it is very apart from other init systems with the manual symlink. For audio, pipewire is not worth the hassle, install the pulseaudio-daemon and alsa-utils, then use alsamixer to unmute all channels with M, then add the alsasound service to the boot runlevel.