Похоже, что опять вылезает ошибка 32065 или похожая на нее. Есть 2 аудиоустройства встроенный звук intel и HDMI out через видеокарту: $ lspci 00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Turks HDMI Audio [Radeon HD 6500/6600 / 6700M Series] 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Turks XT [Radeon HD 6670/7670] Опция модуля radeon audio=1 установлена в параметрах загрузки ядра. $ aplay -l **** List of PLAYBACK Hardware Devices **** card 2: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 3: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 0/1 Subdevice #0: subdevice #0 ЗВУК ЕСТЬ, но: 1) Видим ошибку $ sudo alsactl init alsactl: sysfs_init:48: sysfs path '/sys' is invalid Found hardware: "HDA-Intel" "Realtek ALC892" "HDA:10ec0892,1043860b,00100302" "0x1043" "0x860b" Hardware is initialized using a generic method 2) $aplay -L ничего не показывает! При воспроизведении многоканального PCM (по HDMI) перепутана раскладка каналов. Для исправления нужно виртуальное устройство ALSA, где модуль ttable переназначает каналы да раскидывает центр на передние колонки (у меня нет центральной). В /etc/asound.conf есть соответствующая запись pcm.hdmiremapvc { type route hint.show on hint.description "HDMI Remap Channels L+vC-R+vC-SL-SR-x-LF" slave.pcm "plughw:0,8" ttable.0.0= 1 ttable.1.1= 1 ttable.2.0= 0.5 ttable.2.1= 0.5 ttable.3.5= 1 ttable.4.2= 1 ttable.5.3= 1 } (Она работает на другой машине с видеокартой nvidia). Однако ни одна программа не видит это устройство, а alplay -L выводит пустоту. 3) alsamixer не запускается, зато работает alsamixer-qt4 4) Во время написания этой жалобы в chromium под apulse запустил alsactl init (конфигурация не менялась) и неожиданно получил другой набор аппаратных аудиоустройств: $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 Это точно ерунда. Вся эта проблема возникла после обновлений Сизифа (сейчас версия сегодняшняя).
Я видел https://bugzilla.altlinux.org/show_bug.cgi?id=32065, но те исправления были давно и в моей системе должны быть. alsa-utils-1.1.0-alt1.1 sysfsutils-2.1.0-alt8 udev-alsa-0.3-alt3.x86_64 $ systemctl status alsa-restore.service ● alsa-restore.service - Save/Restore Sound Card State Loaded: loaded (/lib/systemd/system/alsa-restore.service; enabled; vendor > Active: active (exited) since Fri 2020-01-10 17:53:19 MSK; 37min ago Process: 1434 ExecStart=/usr/sbin/alsactl restore (code=exited, status=0/SU> Main PID: 1434 (code=exited, status=0/SUCCESS) CPU: 3ms $ systemctl status alsa-state.service ● alsa-state.service - Manage Sound Card State (restore and store) Loaded: loaded (/lib/systemd/system/alsa-state.service; static; vendor pre> Active: active (running) since Fri 2020-01-10 17:53:19 MSK; 37min ago Main PID: 1435 (alsactl) Tasks: 1 (limit: 18874) Memory: 588.0K CPU: 4ms CGroup: /system.slice/alsa-state.service └─1435 /usr/sbin/alsactl -s -n 19 -c rdaemon (я блокировал проверку наличия /etc/alsa/state-daemon.conf. Это ничего не меняет)
alsactl проверяет доступ к /sys по файлу /sys/kernel/uevent_helper, которого в последних ядрах уже нет, так как CONFIG_UEVENT_HELPER deprecated. Так что теперь alsactl не стоит так делать. Debian, например, просто выкинул несколько строчек: https://sources.debian.org/patches/alsa-utils/1.1.9-1/do-not-check-for-sys-kernel-uevent_helper.patch/ Апстрим, предсказуемо, поступил аккуратнее и переехал на другой файлик: https://github.com/alsa-project/alsa-utils/commit/3c740d90490abe64c86c667934ba5d990817b873 Релиза с этим изменением, как я понимаю, пока не было.
Спасибо за объяснение! А почему может быть всегда пустой вывод aplay -L? Мне важно иметь виртуальные устройства alsa, но что-то мешает их видеть. Это связано с /sys?
Иван, спасибо за расследование!
alsa-utils-1:1.2.1-alt3 -> sisyphus: Mon Jan 13 2020 Michael Shigorin <mike@altlinux> 1:1.2.1-alt3 - cherry-picked upstream commit 3c740d90490abe64c86c667934ba5d990817b873 (closes: #37757)