Linux – NVIDIA – kein Sound / Ton nach Bereitschaftsmodus (S3 / Suspend to RAM)

Lange Zeit habe ich das Problem vor mir hergeschoben, da ich einen Workaround (alter NVIDIA-Treiber 295.71) gefunden habe. Nun, nach der Arch Linux Umstellung von sysvinit auf systemd und der Einführung vom Kernel 3.6 führt nur ein sehr mühsamer Weg an dem neuen NVIDIA-Treiber 304.64 sowie 304.60304.51304.43304.37304.32302.17 (Stand: 8. November 2012) vorbei. Daher habe ich mich nun mit dem Problem intensivst auseinander gesetzt und eine Lösung gefunden!

NVIDIA Logo - Linux - NVIDIA - kein Sound / Ton nach Bereitschaftsmodus (S3 / Suspend to RAM)
NVIDIA Press Room

Problem: Nach einem Suspend to RAM wird kein Ton per HDMI ausgeben!

Vermutung: Es hat sehr wahrscheinlich mit der Einschaltreihenfolge (TV, AVR / Verstärker, Media-PC) zu tun. Diese Analyse möchte ich hier nun nicht weiter breit treten, da ihr sie im Arch Linux Forum findet.

Lösung: Glücklicherweise bin ich gestern ziemlich schnell auf einen Thread im VDR-Portal gestoßen. Dort lieferte mir steffen_b den perfekten Denkanstoß – xrandr ist das Zauberwort!

Um einen xrandr Befehl automatisch nach dem Suspend auszuführen, müssen wir ein Skript anlegen – eine sogenannte Hook. Jetzt kommt aber erschwerend hinzu, dass die meisten Distributionen pm-utils also pm-suspend für den Bereitschaftsmodus verwenden, Arch Linux in der aktuellsten Version (Stand: 8. November 2012) hingegen verwendet dank systemd nun systemctl suspend (systemd-suspend).

Das heißt, erstmal müssen wir herausfinden, wie unser System in den Bereitschaftsmodus, beim Auswählen von Bereitschaft oder Suspend, wechselt. Dazu führen wir folgenden Befehl aus:

journalctl -b -u systemd-suspend

Kommt nun Linux – NVIDIA – kein Sound / Ton nach Bereitschaftsmodus (S3 / Suspend to RAM) weiterlesen