Linux audio setup
2026-03-12
hardware
voidlinux
To avoid the fustration of trying to work this out again!
Voidlinux audio setup
Install the following packages:
$ sudo xbps-install -Su sof-firmware-XXX libspa-bluetooth bluez blueman pipewire
Blacklist the Intel HDA modules:
$ cat /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist snd_soc_skl
Ensure we are in the right groups:
$ groups felix
felix : felix wheel audio video plugdev _seatd bluetooth socklog
Pipewire
Setup pipewire:
$ ls -l .config/pipewire/pipewire.conf.d/
total 1
lrwxrwxrwx 1 felix felix 51 Nov 30 2023 10-wireplumber.conf -> /usr/share/examples/wireplumber/10-wireplumber.conf
lrwxrwxrwx 1 felix felix 51 Sep 30 2023 20-pipewire-pulse.conf -> /usr/share/examples/pipewire/20-pipewire-pulse.conf
Disable docking outputs:
$ cat .config/wireplumber/wireplumber.conf.d/51-dock-disable.conf
monitor.alsa.rules = [{
matches = [{
device.name = "alsa_card.usb-Lenovo_ThinkPad_Thunderbolt_3_Dock_USB_Audio_000000000000-00"
}]
actions = {
update-props = {
device.disabled = true
}
}
}, {
matches = [{
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink"
}, {
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink"
# }, {
# node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink"
}]
actions = {
update-props = {
node.disabled = true
}
}
}, {
matches = [{
device.name = "alsa_card.usb-Focusrite_Scarlett_2i2_USB-00"
}]
actions = {
update-props = {
device.description = "Scarlett 2i2"
}
}
}, {
matches = [{
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
}]
actions = {
update-props = {
device.description = "Thinkpad X1"
}
}
}]
Can’t remember what this was for:
$ cat .config/wireplumber/wireplumber.conf.d/51-settings.conf
wireplumber.settings = {
node.features.audio.monitor-ports = false
}
XDG portal
Install the XDG portal thingies for screenshots etc:
$ sudo xbps-install -Su xdg-desktop-portal-gtk xdg-desktop-portal-wlr
Configure the XDG portal thingies:
$ cat .config/xdg-desktop-portal/sway-portals.conf
[preferred]
default=gtk
org.freedesktop.impl.portal.Screenshot=wlr
org.freedesktop.impl.portal.ScreenCast=wlr