LINUX.ORG.RU

При установки драйверов nvidia пропадают звуковые устройства HDMI

 , ,


1

1

Добрый день!

Являюсь начинающим пользователем Linux и из-за нехватки знаний прошу помощи в решении проблемы. В общих чертах - в системе не отображается звуковое устройство HDMI.

Есть система:

voodoo@Orion:~$ inxi -b
System:    Host: Orion Kernel: 5.4.0-77-generic x86_64 bits: 64 Desktop: Cinnamon 4.8.6 Distro: Linux Mint 20.1 Ulyssa 
Machine:   Type: Desktop Mobo: Gigabyte model: H97M-HD3 v: x.x serial: <superuser/root required> UEFI: American Megatrends 
           v: F7 date: 04/21/2015 
CPU:       Quad Core: Intel Core i7-4790 type: MT MCP speed: 798 MHz min/max: 800/4000 MHz 
Graphics:  Device-1: NVIDIA GP104 [GeForce GTX 1070] driver: nvidia v: 460.84 
           Display: x11 server: X.Org 1.20.9 driver: nvidia resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: GeForce GTX 1070/PCIe/SSE2 v: 4.6.0 NVIDIA 460.84 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 
Drives:    Local Storage: total: 1.46 TiB used: 400.26 GiB (26.9%) 
Info:      Processes: 270 Uptime: 1h 02m Memory: 7.70 GiB used: 2.53 GiB (32.9%) Shell: bash inxi: 3.0.38 

voodoo@Orion:~$ groups voodoo
voodoo : voodoo adm dialout cdrom sudo audio dip plugdev lpadmin sambashare

с установленными драйверами nvidia v: 460.84 в системе определяется только одно playback устройство - встроенная звуковая, хотя lspci выводит 2 устройства (встроенная звуковая + NVIDIA).

voodoo@Orion:~$ lspci -knn | grep "Audio" -iA2
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
	Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family HD Audio Controller [1458:a182]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
--
01:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
	Subsystem: NVIDIA Corporation GP104 High Definition Audio Controller [10de:1b81]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel


voodoo@Orion:~$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7210000 irq 32


voodoo@Orion:~$ aplay -l
**** Список PLAYBACK устройств ****
карта 0: PCH [HDA Intel PCH], устройство 0: ALC887-VD Analog [ALC887-VD Analog]
  Подустройства: 0/1
  Подустройство №0: subdevice #0

при удалении драйверов nvidia sudo apt purge nvidia* появляются следующие устройства и звук на монитор начинает выводиться:

voodoo@Orion:~$ inxi -b
System:    Host: Orion Kernel: 5.4.0-77-generic x86_64 bits: 64 Desktop: Cinnamon 4.8.6 Distro: Linux Mint 20.1 Ulyssa 
Machine:   Type: Desktop Mobo: Gigabyte model: H97M-HD3 v: x.x serial: <superuser/root required> UEFI: American Megatrends 
           v: F7 date: 04/21/2015 
CPU:       Quad Core: Intel Core i7-4790 type: MT MCP speed: 2295 MHz min/max: 800/4000 MHz 
Graphics:  Device-1: NVIDIA GP104 [GeForce GTX 1070] driver: nouveau v: kernel 
           Display: x11 server: X.Org 1.20.9 driver: modesetting unloaded: vesa resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: NV134 v: 4.3 Mesa 20.2.6 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 
Drives:    Local Storage: total: 1.46 TiB used: 398.71 GiB (26.8%) 
Info:      Processes: 269 Uptime: 2m Memory: 7.70 GiB used: 1.25 GiB (16.2%) Shell: bash inxi: 3.0.38 


voodoo@Orion:~$ lspci -knn | grep "Audio" -iA2
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
	Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family HD Audio Controller [1458:a182]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
--
01:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
	Subsystem: NVIDIA Corporation GP104 High Definition Audio Controller [10de:1b81]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel


voodoo@Orion:~$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7210000 irq 34
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xf7080000 irq 17


voodoo@Orion:~$ aplay -l
**** Список PLAYBACK устройств ****
карта 0: PCH [HDA Intel PCH], устройство 0: ALC887-VD Analog [ALC887-VD Analog]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 3: HDMI 0 [HDMI 0]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 7: HDMI 1 [HDMI 1]
  Подустройства: 0/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 8: HDMI 2 [HDMI 2]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 9: HDMI 3 [HDMI 3]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 10: HDMI 4 [HDMI 4]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 11: HDMI 5 [HDMI 5]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: NVidia [HDA NVidia], устройство 12: HDMI 6 [HDMI 6]
  Подустройства: 1/1
  Подустройство №0: subdevice #0

Из-за чего может возникать данная проблема и в какую сторону рыть для ее решения? Спасибо!

P.S. Пытался найти решение проблемы в интернете, но большинство тем описывают ситуации в которых не происходит автоматического переключения звука на HDMI при подключении ТВ к ноутбуку.

voodoo@Orion:~$ sudo dmesg | grep snd
[    3.760606] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[    3.847430] snd_hda_codec_realtek hdaudioC0D2: autoconfig for ALC887-VD: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[    3.847432] snd_hda_codec_realtek hdaudioC0D2:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.847434] snd_hda_codec_realtek hdaudioC0D2:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    3.847435] snd_hda_codec_realtek hdaudioC0D2:    mono: mono_out=0x0
[    3.847436] snd_hda_codec_realtek hdaudioC0D2:    inputs:
[    3.847437] snd_hda_codec_realtek hdaudioC0D2:      Front Mic=0x19
[    3.847439] snd_hda_codec_realtek hdaudioC0D2:      Rear Mic=0x18
[    3.847440] snd_hda_codec_realtek hdaudioC0D2:      Line=0x1a
[    5.435834] snd_hda_intel 0000:01:00.1: Disabling MSI
[    5.435839] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    5.435855] snd_hda_intel 0000:01:00.1: number of I/O streams is 30, forcing separate stream tags
[    5.537971] snd_hda_intel 0000:01:00.1: no codecs initialized

Явно последние 4 строчки должны мне что-то сказать, да только что?



Последнее исправление: bad_popeye (всего исправлений: 1)

Ответ на: комментарий от sap78

Так проблема в том, что cat /proc/asound/cards выводит только 1 звуковую - встроенную. Поэтому опция enable увы не поможет, так как вторая не доступна (она есть как устройство PCI, но ALSA ее не видит как устройство воспроизведения), если я правильно все понял.

По логу полагаю, что первое устройство «инициализируется», а второе нет (или нет кодеков для него, пока не понимаю).

voodoo@Orion:~$ sudo dmesg | grep snd
[    3.460100] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[    3.536913] snd_hda_codec_realtek hdaudioC0D2: autoconfig for ALC887-VD: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[    3.536915] snd_hda_codec_realtek hdaudioC0D2:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.536916] snd_hda_codec_realtek hdaudioC0D2:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    3.536917] snd_hda_codec_realtek hdaudioC0D2:    mono: mono_out=0x0
[    3.536918] snd_hda_codec_realtek hdaudioC0D2:    inputs:
[    3.536920] snd_hda_codec_realtek hdaudioC0D2:      Front Mic=0x19
[    3.536921] snd_hda_codec_realtek hdaudioC0D2:      Rear Mic=0x18
[    3.536921] snd_hda_codec_realtek hdaudioC0D2:      Line=0x1a
[    5.224338] snd_hda_intel 0000:01:00.1: Disabling MSI
[    5.224343] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    5.224369] snd_hda_intel 0000:01:00.1: number of I/O streams is 30, forcing separate stream tags
[    5.326501] snd_hda_intel 0000:01:00.1: no codecs initialized

bad_popeye
() автор топика
Ответ на: комментарий от bad_popeye

мне пришлось добавить, чтобы выключить Nvidia-sound

# cat /proc/asound/cards 
# первая включена, вторая и третья отключены:
# options snd-hda-intel enable=1,0,0
# modinfo snd-hda-intel
# https://wiki.ubuntu.com/Audio/PositionReporting
options snd-hda-intel enable=0,1 position_fix=3

первая звуковая карта у меня была Nvidia

sap78
()
Ответ на: комментарий от bad_popeye
└$► inxi -Fxz
...
Graphics:  Device-1: NVIDIA GK208B [GeForce GT 710] vendor: Gigabyte driver: nvidia v: 460.80 bus ID: 08:00.0 
           Display: x11 server: X.Org 1.20.9 driver: nvidia resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GT 710/PCIe/SSE2 v: 4.6.0 NVIDIA 460.80 direct render: Yes 
Audio:     Device-1: NVIDIA GK208 HDMI/DP Audio vendor: Gigabyte driver: N/A bus ID: 08:00.1 
           Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel 
           bus ID: 0a:00.4 
           Sound Server: ALSA v: k5.11.0-22-generic 

вот как бы первая Nvidia но её нет уже в

└$► cat /proc/asound/cards
 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfc900000 irq 119
sap78
()
Ответ на: комментарий от sap78

Добавил options snd-hda-intel enable=1,1 - не помогло. Пробовал еще добавлять в разных комбинациях

options snd-hda-intel model=auto
options snd-hda-intel model=generic
options snd-hda-intel dmic_detect=0

тоже не помогло.

inxi -Fxz ее показывает

Graphics:  Device-1: NVIDIA GP104 [GeForce GTX 1070] driver: nvidia v: 460.84 bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.9 driver: nvidia resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: GeForce GTX 1070/PCIe/SSE2 v: 4.6.0 NVIDIA 460.84 direct render: Yes 
Audio:     Device-1: Intel 9 Series Family HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel bus ID: 00:1b.0 
           Device-2: NVIDIA GP104 High Definition Audio driver: snd_hda_intel v: kernel bus ID: 01:00.1 
           Sound Server: ALSA v: k5.4.0-77-generic 
~$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7210000 irq 32
bad_popeye
() автор топика
Ответ на: комментарий от sap78

нет

voodoo@Orion:~/.config$ lsmod |grep snd
snd_soc_rt5640        143360  0
snd_soc_rl6231         20480  1 snd_soc_rt5640
snd_soc_core          249856  1 snd_soc_rt5640
snd_hda_codec_realtek   131072  1
snd_compress           24576  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            36864  1 snd_seq_midi
snd_hda_intel          53248  2
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_hda_codec         135168  3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core           90112  4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_seq                69632  2 snd_seq_midi,snd_seq_midi_event
snd_hwdep              20480  1 snd_hda_codec
snd_pcm               106496  6 snd_hda_intel,snd_hda_codec,snd_soc_rt5640,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer              36864  2 snd_seq,snd_pcm
snd                    90112  16 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore              16384  1 snd
bad_popeye
() автор топика
Ответ на: комментарий от sap78

Выполнил sudo modprobe snd_hda_codec_hdmi

Далее alsa force-reload

voodoo@Orion:~$ sudo alsa force-reload
Unloading ALSA sound driver modules: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-soc-rt5640 snd-intel-dspcfg snd-soc-rl6231 snd-hda-codec snd-soc-core snd-hda-core snd-compress snd-hwdep snd-pcm-dmaengine snd-pcm snd-seq-midi snd-seq-midi-event snd-rawmidi snd-seq snd-seq-device snd-timer (failed: modules still loaded: snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-intel-dspcfg snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer).
Loading ALSA sound driver modules: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-soc-rt5640 snd-intel-dspcfg snd-soc-rl6231 snd-hda-codec snd-soc-core snd-hda-core snd-compress snd-hwdep snd-pcm-dmaengine snd-pcm snd-seq-midi snd-seq-midi-event snd-rawmidi snd-seq snd-seq-device snd-timer.

Вроде модуль загрузился, но смущает 0 напротив него (количество устройств?)

voodoo@Orion:~$ lsmod |grep snd
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_seq                69632  2 snd_seq_midi,snd_seq_midi_event
snd_rawmidi            36864  1 snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_soc_rt5640        143360  0
snd_soc_rl6231         20480  1 snd_soc_rt5640
snd_soc_core          249856  1 snd_soc_rt5640
snd_compress           24576  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_codec_hdmi     61440  0
snd_hda_codec_realtek   131072  1
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_intel          53248  2
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_hda_codec         135168  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core           90112  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              20480  1 snd_hda_codec
snd_pcm               106496  7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_soc_rt5640,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_timer              36864  2 snd_seq,snd_pcm
snd                    90112  17 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore              16384  1 snd

В устройствах воспроизведения HDMI не появился.

voodoo@Orion:~$ aplay -l
**** Список PLAYBACK устройств ****
карта 0: PCH [HDA Intel PCH], устройство 0: ALC887-VD Analog [ALC887-VD Analog]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
bad_popeye
() автор топика
Ответ на: комментарий от bad_popeye

Но если удалить видео драйвер nvidia, то кодек загружается и звук через HDMI магическим образом появляется. Оо

bad_popeye
() автор топика
Ответ на: комментарий от sap78

там эти мудозвоны Intel намудрили со своими девайсами у карты nvidia 870m вообще нет никаких hdmi все через intel выводится

sap78
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.