# Void Linux! ## Getting sound to work This is a tutorial on how to make Pipewire work on Void Linux. Not sure how to structure this but here we go What you'll need to install: xbps-install dbus pipewire wireplumber elogind turnstile psmisc first things first: we'll have to configure turnstile
What is turnstile for? (click to view) Turnstile makes user services work on non-systemd distros such as Void. This is important for dbus and pipewire to work
in /etc/turnstile/turnstiled.conf change this option from "yes" to "no": manage_rundir = no then we'll have to enable dbus and turnstile system services: ln -s /etc/sv/{dbus,turnstiled} ## First part is done. Now for the second one Make sure these directories exist: mkdir -p ~/.config/service/dbus mkdir -p ~/.config/service/pipewire mkdir -p ~/.config/pipewire/pipewire.conf.d then link these files: ln -s /usr/share/examples/turnstile/dbus.run ~/.config/service/dbus/run ln -s /usr/share/examples/wireplumber/10-wireplumber.conf ~/.config/pipewire/pipewire.conf.d ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf ~/.config/pipewire/pipewire.conf.d
What are these files for? (click to view) Linking the first file will make the user dbus service work. Last two are for making pipewire run correctly
## Second part ends here. One more to go now you'll have to make 2 files for the pipewire user service to work here's the contents of the first one: ~/.config/service/pipewire/run #!/bin/sh exec chpst -e "$TURNSTILE_ENV_DIR" pipewire and the second one: ~/.config/service/pipewire/finish #!/bin/sh killall pipewire wireplumber And now you should be good to go! Althought there's still one more thing left: turnstile has a special command on Void: turnstile-update-runit-env. This command can add variables from your environment to user services. Here's an example: turnstile-update-runit-env WAYLAND_DISPLAY DISPLAY NIRI_SOCKET XDG_CURRENT_DESKTOP XCURSOR_SIZE XCURSOR_THEME you should make this command run after your environment starts. For example, if you're using a window manager, then put this command in its config. More variables may be needed but this should make everything work for the most part