Arch Linux - Audio richtig einrichten
Dieser Beitrag richtet sich zwar in erster Linie an Arch Linux, jedoch kann der Inhalt auch auf andere Linux Distributionen zutreffen.
Audio unter Linux ist leider etwas... sagen wir "kompliziert". Daher wird in diesem Beitrag genau beschrieben, was zu tun ist, um ein zuverlässiges High End Audio Backend einzurichten.
Zuerst installieren wir die notwendigen Pakete. Ich bevorzuge Pipewire. Eine alternative wäre Pulseaudio, dies wird aber nicht so aktiv weiterentwickelt und man sagt, es wäre weniger zuverlässig. Daher beschränken wir uns heute nur auf Pipewire.
sudo pacman -Sy pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber
Pipewire wird mittels Systemd User Units nach dem Login ausgeführt. Dabei kommen die beiden Units pipewire.socket
und pipewire-pulse.socket
zum Einsatz. Nach der Installation sollten diese bereits nach einem erneuten login automatisch starten. Die Units pipewire.service
und pipewire-pulse.service
werden bei Bedarf vom Socket-Unit aktiviert - diese sollten also nicht automatisch starten.
Leider kann es vorkommen, dass Pipewire (und auch Pulseaudio) nach dem login nicht immer funktionieren und diese immer händisch nach dem Login neu gestartet werden müssen. Ein Workaround ist die Systemd Units zu bearbeiten und hier einen Delay einzubauen (für 3 Sekunden Delay: ExecStartPre=/bin/sleep 3
).
sudo vim /usr/lib/systemd/user/pipewire.service
Dasselbe muss auch mit...
sudo vim /usr/lib/systemd/user/pipewire-pulse.service
...gemacht werden.
Nach einem reboot sollte aus den Lautsprechern / dem Headset schon Ton kommen, wenn man etwas abspielt. Die Grundkonfiguration wäre somit schon mal beendet. Wer noch tweaken möchte liest weiter.
Nun kopieren wir die relevanten Standard-Config-Files von /usr/share/pipewire/
nach /etc/pipewire/
.
sudo cp /usr/share/pipewire/pipewire.conf /usr/share/pipewire/pipewire-pulse.conf /usr/share/pipewire/minimal.conf /etc/pipewire/
Als Standardwert für die Sample-Rate setzen wir 48000 in /etc/pipewire/pipewire.conf
.
Um einen Virtual Sink zu erhalten (nützlich für Aufnahmen mittels Audacity oder ähnlichem) erweitern wir in /etc/pipewire/pipewire-pulse.conf
den Abschnitt context.modules
.
# VirtualSink
{ name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = Audio/Sink
node.name = VirtualSink
}
}
}
Und um Suspend on Idle zu deaktivieren gehen wir in /etc/pipewire/minimal.conf
, suchen nach suspend
und setzen jeden Fund auf false
.
node.suspend-on-idle = false
Alles erledigt. Rebooten und fett aufdrehen!