Audio Ausgabe über HDMI geht verloren

  • Jedes Mal wenn mein über HDMI angeschlossener Monitor in Standby schaltet, fällt anscheinend die Audio Ausgabe von "Built-In Audio Digital Stereo (HDMI)" zurück auf "Built-In Audio Analog Stereo". Wenn ich dann den Monitor wieder aktiviere (durch Mausbewegung oder Tastendruck) schaltet die Audio Ausgabe aber nicht wieder auf HDMI, und die Lautsprecher im Monitor bleiben stumm.


    Ein "pulseaudio -k" führt (meistens) dazu, daß es wieder funktioniert, ist aber natürlich lästig, wenn man das jedes Mal machen muß.


    Im Web habe ich den Tipp gefunden, in /etc/pulse/default.pa die Zeile


    load-module module-switch-on-port-available


    auszukommentieren. Das hat aber dazu geführt, daß irgendwann gar keine Ausgabe mehr erfolgte, und auch ein "pulseaudio -k" nicht mehr geholfen hat. Erst nach einem Reboot ging es dann wieder.


    Hat hier vielleicht jemand eine Idee, wie man die Audio Ausgabe auf HDMI "festklemmen" kann, ohne daß sich irgend etwas einmischt und meint, besonders schlau sein zu müssen?


    Klaus

  • Hilft das vielleicht (mit passender sink natürlich):

    https://wiki.archlinux.org/ind…the_default_output_source


    Lars

  • Danke für den Link.

    Ich habe aber erst nochmal das mit "#load-module module-switch-on-port-available" probiert und das scheint doch zu funktionieren. Vermutlich lag der Fehler daran, daß ich, der dortigen Anleitung folgend, "pulseaudio --kill; pulseaudio --start" gemacht habe, wodurch der Dämon vielleicht zweimal gestartet wurde (er wird ja nach einem Kill automatisch neu gestartet). Seit einem Reboot und mit "#load-module module-switch-on-port-available" ist HDMI-Audio bisher trotz mehrfachem Aus-/Einschalten des Monitors sowie Umschalten via KVM-Switch immer aktiv geblieben.


    Klaus

  • Die Audio-Ausgabe bleibt jetzt zwar auf HDMI, aber sobald der Monitor in Standby geschaltet wird, ist beim späteren wieder Einschalten keine Audio-Ausgabe mehr möglich. Da hilft dann auch kein "pulseaudio -k" mehr, und auch kein Neustart des Desktops, sondern nur ein Reboot (eine "minimalinvasivere" Methode habe ich noch nicht gefunden). Wenn ich ohne Standby lediglich das HDMI-Kabel zum Monitor abziehe und nach einiger Zeit wieder anstecke hat das keinen Einfluss auf die Tonwiedergabe.


    Das heißt also, der Fehler liegt irgendwo in der "Energy Saving"-Ecke. Fragt sich nur, was man da machen kann, denn darauf zu verzichten, den Monitor bei längerer Nichtbenutzung in Standby zu schalten, wäre ja auch blöd...


    Klaus

  • Das ist mir noch nicht untergekommen, aber bei yaVDR speichern wir die edid.bin, damit das System auch bei ausgeschaltetem Monitor weiß, was es da erwarten kann. Die muss dann in der xorg.conf hinterlegt werden.


    Aber mit der energy-saving-Ecke kenne ich mich nicht wirklich aus, ich nutze sowas eigentlich nicht.


    Kannst du mit pavucontrol sonst vielleicht etwas sehen oder umschalten/wieder aktivieren?


    Lars.

  • pavucontrol ist bei mir nicht installiert, aber mit dem "Audio Volume" Widget rechts unten in der Taskbar erreiche ich auch nichts. Es scheint zwar zu funktionieren, aber Ton kommt trotzdem keiner.


    Beim "energy-saving" geht es eigentlich nur darum, den Monitor in Standby zu schalten, wenn längere Zeit keine Benutzeraktivität erfolgt.


    Zu bemerken ist wohl noch, daß dies kein VDR ist, sondern einfach ein Desktop.


    Das Problem haben anscheinend mehrere und ist auch schon länger bekannt, z.B.:


    https://askubuntu.com/question…tput-at-screen-power-save


    aber bis auf die Tatsache, daß er sich jetzt merkt, daß er auf HDMI bleiben soll, haben alle Workaroud-Vorschläge nicht dazu geführt, daß der Ton wieder kommt, wenn der Monitor aus dem Standby wieder eingeschaltet wird.


    Klaus

  • Zu bemerken ist wohl noch, daß dies kein VDR ist, sondern einfach ein Desktop.

    Mit KDE?

    Wenn ja, mal geschaut, was sich unter Systemeinstellungen -> Hardware -> Audio tut?

    Ich hatte das Problem praktisch umgekehrt: Monitor anschalten und der Ton verschwand aufs HDMI.

    Da hat es geholfen die Reihenfolge der Geräte zu ändern.

    Gruss
    SHF


  • Ja, KDE 5.

    Unter "Settings/Configure Desktop/Hardware/Multimedia/Audio and Video/Device Preferences/Audio Playback" ist er anfangs immer wieder von "Built-in Audio Digital Stereo (HDMI)" auf "Built-in Audio Analog Stereo" oder "Dummy Output" zurückgefallen. Das konnte ich aber mit den o.g. Änderungen inzwischen verhindern. Es steht nun auch nach einem "Monitor standby" und anschließendem Aktivieren des Monitors immer auf HDMI. Nur erfolgt dann einfach keine Ton-Ausgabe mehr, egal was ich mache. Erst ein kompletter Reboot "heilt" das wieder. Ich habe mittlerweile unter "Settings/Configure Desktop/Hardware/Power Management/Energy Saving" das "Screen Energy Saving" deaktiviert und schalte über Nacht den Monitor von Hand aus. Schön ist das allerdings nicht, denn dadurch verbraucht er natürlich deutlich mehr Strom als nötig. Aber alle Nase lang den Rechner neu zu booten geht ja auch nicht...


    Klaus

  • Unter "Settings/Configure Desktop/Hardware/Multimedia/Audio and Video/Device Preferences/Audio Playback" ist er anfangs immer wieder von "Built-in Audio Digital Stereo (HDMI)" auf "Built-in Audio Analog Stereo" oder "Dummy Output" zurückgefallen. Das konnte ich aber mit den o.g. Änderungen inzwischen verhindern. Es steht nun auch nach einem "Monitor standby" und anschließendem Aktivieren des Monitors immer auf HDMI. Nur erfolgt dann einfach keine Ton-Ausgabe mehr, egal was ich mache.

    Dann hattest du das schon probiert.

    KDE wird also wahrscheinlich nicht die Ursache sein.


    Ich habe mittlerweile unter "Settings/Configure Desktop/Hardware/Power Management/Energy Saving" das "Screen Energy Saving" deaktiviert und schalte über Nacht den Monitor von Hand aus.

    Monitor ausschalten geht, Monitor standby geht nicht?

    Der Rechner läuft in beiden Fällen aber normal weiter, also kein STR oder so, richtig?

    Kurios.


    Das einzige, was mir jetzt noch einfiele, wäre, im Fehlerfall, mal das ALSA-Device direkt zu probieren (zB. mit aplay -D hw:x.y).

    Dann wüsste man wenigstens, ob es an ALSA oder pulseaudio liegt.


    Eventuell wäre es aber auch eine Möglichkeit, den gewünschten HDMI per asond.conf als default zu definieren. Das sollte dann eigentlich auch auf pulseaudio wirken.

    Da müsste aber jemand einspringen, der sich da besser auskennt als ich.

    Gruss
    SHF


  • Auf Alsa-Seite zu testen könnte tatsächlich ein interessanter Versuch sein.

    Wenn es auf Alsa-Seite schon hängt, dann dürfte der Fehler im Kernel liegen. Hier könnten neuere Kernel eventuell helfen. Ist bei Distributionen mit längeren Lebenszyklen halt dann immer etwas schwer da auf etwas aktuelleres zu kommen.

  • Zitat

    Monitor ausschalten geht, Monitor standby geht nicht?

    Der Rechner läuft in beiden Fällen aber normal weiter, also kein STR oder so, richtig?

    Genau.


    Ich habe jetzt mal versuchsweise (bei noch funktionierendem Ton) den Befehl


    aplay /usr/share/sounds/alsa/test.wav


    ausgeführt. Dabei habe ich nichts gehört, und danach ging auch generell gar nichts mehr. Ich habe es also quasi geschafft, die Tonausgabe zu disabeln, ohne den Weg über "Monitor standby" zu gehen ;-).


    Welche Parameter müsste ich denn bei


    aplay -D hw:x.y


    genau angeben? Ein 'aplay -l' liefert


    Code
    1. **** List of PLAYBACK Hardware Devices ****
    2. card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
    3. Subdevices: 1/1
    4. Subdevice #0: subdevice #0
    5. card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
    6. Subdevices: 0/1
    7. Subdevice #0: subdevice #0
    8. card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
    9. Subdevices: 1/1
    10. Subdevice #0: subdevice #0

    Klaus

  • Entweder 0,3 oder 0,7, das kann man nicht so ohne weiteres sagen. Wenn pulseaudio aber noch läuft, sollte aplay keinen Zugriff bekommen, denke ich.


    Lars

  • Wenn ich das richtig im Kopf habe, hängt das von den Energiespareinstellungen von pulseaudio ab, ob es die Geräte freigibt oder nicht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Entweder 0,3 oder 0,7

    Denke ich auch.

    Die Nummer kann sich aber nach den standby ändern.

    Es muss aber einer der HDMI-Ports sein, muss man halt probieren.


    Wenn pulseaudio aber noch läuft, sollte aplay keinen Zugriff bekommen, denke ich.

    Bei ALSA geht normalerweise nur ein Programm pro Device. (Deshalb die ganze Sache mit pulseaudio und co.)

    Bei mir gibt pulseaudio das Device nach ein paar Sekunden aber wieder frei.

    Einen Absturz sollte es aber trotzdem nicht geben, die später gestartete Software gibt normalerweise schlicht keinen Ton aus. Nach einem beenden des Programms und eines Neustarts geht es dann wieder mit Ton.(Ich hab hier noch so alte Schätzchen, die ALSA direkt ansprechen.)


    Ich habe es also quasi geschafft, die Tonausgabe zu disabeln, ohne den Weg über "Monitor standby" zu gehen ;-).

    Das sollte, wie gesagt, eigentlich nicht passieren und ich hab es auch noch nicht hin bekommen.

    Eventuell bist du da aber schon über die Ursache gestolpert. Ich hab aber momentan keine Idee, wie man das einordnen soll.


    Im Zweifelsfall pulseaudio vor den versuchen aber besser stoppen, dann pfuscht es nicht rein.

    Gruss
    SHF


  • hallo Klaus,

    Hast du mal versucht HDMI einfach zu resetten?

    Code
    1. xrandr -display :0.0 --output HDMI-0 --off
    2. xrandr -display :0.0 --output HDMI-0 --auto

    ich hatte das Problem, daß sich mein HDMI-Port immer aufgehängt hat, wenn ich den AVR (Denon) eingeschaltet habe. Ist allerdings jetzt erledigt. Aber die Kommandos in einem Script in die commands.conf rein und du kannst den Reset direkt über den VDR machen. Nicht erschrecken, nach dem ersten Befehl ist auch das Bild weg.


    Gruß

    msv