Linux: ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave

Автор: | 28/02/2019
 

Имеется свежая установка Arch Linux.

Пока фиксил запуск Viber – игрался с pulseaudio и alsa, после чего начал пропадать звук.

Выглядит это так: запускаем qmmp, жмём Play:

[simterm]

...
DecoderMAD: Fixed rate detected
DecoderMAD: Total time: 297900
ReplayGain: disabled
Dithering: disabled
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
OutputALSA: Error opening PCM device default
OutputWriter: unable to initialize output
StateHandler: Current state: FatalError; previous state: Stopped
DecoderMAD: deleting input_buf
OutputALSA: setupMixer()
OutputALSA: setupMixer() success
StateHandler: Current state: Stopped; previous state: FatalError
...

[/simterm]

Решение

Проверяем аудио-устройства и драйвера:

[simterm]

$ lspci -knn|grep -iA2 audio
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05)
        Subsystem: ASUSTeK Computer Inc. 8 Series/C220 Series Chipset High Definition Audio Controller [1043:8576]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
--
01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
        Subsystem: ASUSTeK Computer Inc. GP107GL High Definition Audio Controller [1043:8613]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

[/simterm]

Создаём файл /etc/modprobe.d/default.conf:

options snd_hda_intel index=1

И перезагружаем машину.

Проверить можно с помощью speaker-test:

[simterm]

$ speaker-test -c2 

speaker-test 1.1.8

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 1048576
Period size range from 32 to 349526
Using max buffer size 1048576
Periods = 4
was set period_size = 262144
was set buffer_size = 1048576
 0 - Front Left
 1 - Front Right
^CTime per period = 10.940188

[/simterm]

Готово.