Bei neueren Systemen, gerade mit modernen Mainboard-Chipsätzen, kann es zu Problemem mit der Audiowiedergabe und der Mikrofonaufnahme kommen.

Dies kann am Chipsatz liegen. Z690 oder Z790 basierte Motherboards kommen meist mit einem Chipsatz der Reihe Realtek ALC4080 oder Realtek ALC1220. Die Hersteller der Mainboards verwenden hierbei immer eine abweichende Hardware-ID.

Hier an einem Beispiel: Das Mainboard MSI PRO Z790-A WIFI hat den Chipsatz Realtek ALC4080 verbaut. Dieser wird aktuell nicht erkannt, da niemand die tatsächliche Hardware-ID in das ALSA-Projekt eingepflegt hat.

Prüfen wir, ob wir richtig liegen:

Finden wir die Hardware-ID heraus, indem wir auf der Shell Folgendes anschauen:

lsusb | grep -i audio

> Bus 001 Device 006: ID 0db0:d1d7 Micro Star International USB Audio

Damit wissen wir nun, dass dieser verbaute Chipsatz, für dieses Mainboard, die Hardware-ID 0db0:d1d7 hat. Schauen wir in die aktuelle USB-Audio.conf, sehen wir, dass diese entweder vorhanden ist (vorwiegend in Form einer Regex) oder auch nicht.

Wer die ganze Runde drehen möchte, einfach das Repository forken, die eigene ID nachpatchen und via Pull Request zurückgeben. Pop OS ist hier größtenteils etwas eigen, da diese eine eigene Version pflegen und diese auch separat verteilen, wodurch nicht direkt diese ausgespielt wird und Pop OS natürlich auch nach Upstream Pull Requests stellt.

Ich installiere immer erst einmal eine saubere ALSA-Version, direkt von der Quelle:

cd /tmp

curl -L -o alsa-ucm-conf.tar.gz https://github.com/alsa-project/alsa-ucm-conf/archive/refs/heads/master.tar.gz
tar xvzf alsa-ucm-conf.tar.gz -C /usr/share/alsa --strip-components=1 --wildcards "*/ucm" "*/ucm2"

systemctl --user restart pipewire.service pipewire-pulse.service

Dann über den Audiomixer des Betriebssystems kurz das Gerät wechseln (und/oder die Lautsprecher/Kopfhörer kurz ein- und ausstecken) und es könnte funktionieren.

Falls die Hardware-ID noch fehlt, entsprechend in der Datei /usr/share/alsa/ucm2/USB-Audio/USB-Audio.conf ergänzen, den Dienst über systemctl (wie oben erwähnt) durchstarten.