Wer beim Wechsel zu Fedora 34 auch plötzlich seine oder ihre Musik aus dem Kopfhörer hören mußte, dem kann wohl doch helfen.
Fedora: Falscher Port bei Pulseaudio gesetzt
Die Ursache habe ich zwar nicht finden können, aber es gibt eine automatische Lösung das Problem: Den Port beim Desktopstart umstellen.
Wir brauchen:
- Eine Desktopdatei für den Autostart
- ein kleines Bashscript
- eine dynamische Anpassung an sich verändernde PulseAudio Sinks.
~/.config/autostart/fixpipewire.desktop
[Desktop Entry]
Version=1.0
Name=Fixpipewire
GenericName=Fixpipewire
Comment=fixes audio port selection
Exec=/home/<username>/.local/bin/fixpipewire
Icon=pva
Terminal=false
Type=Application
StartupNotify=false
Categories=extras
Keywords=tools
X-Desktop-File-Install-Version=0.21
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=5
Das hier angegebene Script sieht dann so aus:
~/.local/bin/fixpipewire
#!/bin/bash
pactl list sinks | grep -B2 „Name: alsa_output.pci-0000_0a_00.4.analog-stereo“ | grep Ziel | sed -e „s/^.* #//g“ | awk ‚{print „pactl set-sink-port „$1″ analog-output-lineout“;}’| bash
Wie man an die Details kommt
Mehrere Details müssen wir erwähnen. Mit
$ pactl list sinks | less
bekommen wir eine Liste mit allen Sinks. Auf Deutsch heißen die Sinks leider „Ziel“.. keine Ahnung welches Genie da eine Übersetzung angebracht hat 🙁
Wir schauen nach folgenden Angaben: Sink #, Name und .. Portid
Beispiel:
Ziel #48
Name: alsa_output.pci-0000_0a_00.4.analog-stereo
Beschreibung: Starship/Matisse HD Audio Controller Analog StereoPorts:
analog-output-lineout: Line-Ausgang (type: Line, priority: 9000, availability group: Legacy 4, not available)
analog-output-headphones: Kopfhörer (type: Kopfhörer, priority: 9900, availability group: Legacy 5, availability unknown)
Aktiver Port: analog-output-headphones
Der aktive Port ist die Stellung, die das Ausgabegeräte gerade hat. Im Beispiel oben ist das z.Z. „analog-output-headphones“, also wird der Ton auf den Kopfhörern ausgegeben. Das beheben wir so:
$ pactl set-sink-port 48 analog-output-lineout
Da wir das Script per Desktopdatei in den Autostart gebracht haben, mit einer Verzögerung von 5 Sekunden, wird der Port jetzt bei Desktoplogin umgestellt, egal wie oft man ein- und ausloggt.
Vielen Dank für diesen Post! Ich habe jetzt ein halbes Jahr lang einen blinden Klinkenstecker im Kopfhörerport gehabt, aber hiermit bin ich zur softwareseitigen Lösung gekommen.
Ich habe einfach den Befehl (in meinem Fall ’set-sink-port 0 analog-output-speaker‘) in die Datei ‚/etc/pulse/default.pa.d/fix-outputs.pa‘ geschrieben und nun funktioniert es direkt zum Systemstart. 🙂