Bezgłośny Steam w Manjaro

Każdy przyzna, że cyfrowa rozrywka bez dźwięku jest niemal patologią. A do takiego zachowania zachęca nas Steam, który na Manjaro teoretycznie działa bez zarzutów, lecz czasami bez dźwięku. Takie to już są uroki braku oficjalnego wsparcia ze strony platformy Steam dla innych dystrybucji niż Ubuntu. Wsparcie dla Steama użytkownicy Manjaro muszą zapewnić sobie sami. Na szczęście rozwiązanie jest, może nie do końca oczywiste, ale jednak.

Jeżeli zatem po uruchomieniu Steama nie wydaje on żadnych odgłosów (ani przy odtwarzaniu filmików reklamujących gry, ani podczas samych gier), poniższe wskazówki mogą być pomocne.

Na początku dobrze jest zdiagnozować (choć nie zawsze jest to konieczne), z czego wynika nasz problem z dźwiękiem. Opisany trick naprawia dźwięk w przypadku, gdy korzystamy z PulseAudio – przynajmniej u mnie problem występował przy użyciu tego rozwiązania – przypuszczalnie i wg. tego co widać w sieci – przy wykorzystaniu Alsa problem też istnieje. Odpalamy Steam i sprawdzamy logi, które zrzuca do /tmp/dumps/*:

tail /tmp/dumps/*_stdout.txt

…i jeżeli znajdujemy tam:

(…)
OpenAL error: 40964
OpenAL error: 40964
OpenAL error: 40964
(…)

… to możemy uskuteczniać poniższe.

Bez zagłębiania się w technikalia – rozwiązania są dwa, bo czasem może się zdarzyć, że u kogoś zadziała tylko jedno z nich. Restart (zatrzymanie i ponownie uruchomienie) PulseAudio:

pulseaudio -k
pulseaudio --start

To ma jednak swoje złe strony. W Xfce działanie kończy widoczny w zasobniku systemowym kontroler dźwięku pa-applet, jak też wyłączanie i włączanie serwera dźwięku przy każdym uruchomieniu Steam jest siermiężne. Drugi sposób jest ciekawszy. Sprawdzamy istnienie pliku /etc/machine-id:

ls -l /etc/machine-id

Jeżeli istnieje, usuwamy podobny plik, ale utworzony w /var/lib/dbus:

sudo rm /var/lib/dbus/machine-id

… i tworzymy dowiązanie do tego istniejącego w /etc:

sudo ln -s /etc/machine-id /var/lib/dbus/machine-id

To przywróciło ekspresowo dźwięk w mojej instalacji Steama. Może i komuś też pomoże.