LINUX.ORG.RU

Проблемы с выводом звука по всем HDMI-каналам

 ,


0

1

Manjaro KDE. Всё обновлено.

[aaasashamggu@aaaSashaMGGU ~]$ uname -a
Linux aaaSashaMGGU 4.20.0-1-MANJARO #1 SMP PREEMPT Mon Dec 24 08:20:48 UTC 2018 x86_64 GNU/Linux

Видеокарта Nvidia Geforce 1050Ti. У неё 5 разъёмов (1xDVI, 3xHDMI, 1xDP). В данный момент подключены 4 монитора: 1xDVI и 3xHDMI

Проблема в том, что на один из трёх подключенных по HDMI мониторов не выводится звук. Хотя, с картинкой проблем нет — всё работает, как надо. Проверено на Windows7 с последним драйвером NVidia - звук выводится без проблем на любом из трёх HDMI.

[aaasashamggu@aaaSashaMGGU ~]$ 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 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 0/1
Subdevice #0: subdevice #0

Следующие команды приводят к следующему результату:

aplay -D plughw:1,3 /mnt/Data/111.wav — звука просто нет, хотя, консоль никаких ошибок не выдаёт

aplay -D plughw:1,7 /mnt/Data/111.wav — звук норм

aplay -D plughw:1,8 /mnt/Data/111.wav — звук норм

pactl list:

Звуковая плата №0
Имя: alsa_card.pci-0000_01_00.1
Драйвер: module-alsa-card.c
Модуль-владелец: 6
Свойства:
alsa.card = «1»
alsa.card_name = «HDA NVidia»
alsa.long_card_name = «HDA NVidia at 0xf6080000 irq 17»
alsa.driver_name = «snd_hda_intel»
device.bus_path = «pci-0000:01:00.1»
sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
device.bus = «pci»
device.vendor.id = «10de»
device.vendor.name = «NVIDIA Corporation»
device.product.id = «0fb9»
device.product.name = «GP107GL High Definition Audio Controller»
device.string = «1»
device.description = «GP107GL High Definition Audio Controller»
module-udev-detect.discovered = «1»
device.icon_name = «audio-card-pci»
Профили:
output:hdmi-stereo: Digital Stereo (HDMI) выход (sinks: 1, sources: 0, priority: 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) выход (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) выход (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) выход (sinks: 1, sources: 0, priority: 5700, available: yes)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) выход (sinks: 1, sources: 0, priority: 5700, available: yes)
off: Выключено (sinks: 0, sources: 0, priority: 0, available: yes)
Активный профиль: output:hdmi-stereo-extra1
Порты:
hdmi-output-0: HDMI / DisplayPort (priority: 5900, latency offset: 0 usec, not available)
Свойства:
device.icon_name = «video-display»
Входит в профиль(и): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
hdmi-output-1: HDMI / DisplayPort 2 (priority: 5800, latency offset: 0 usec, available)
Свойства:
device.icon_name = «video-display»
device.product.name = «ASUS VG278HE
»
Входит в профиль(и): output:hdmi-stereo-extra1
hdmi-output-2: HDMI / DisplayPort 3 (priority: 5700, latency offset: 0 usec, available)
Свойства:
device.icon_name = «video-display»
device.product.name = «LONTIUM
»
Входит в профиль(и): output:hdmi-stereo-extra2

Звуковая плата №1
Имя: alsa_card.pci-0000_00_1b.0
Драйвер: module-alsa-card.c
Модуль-владелец: 7
Свойства:
alsa.card = «0»
alsa.card_name = «HDA Intel PCH»
alsa.long_card_name = «HDA Intel PCH at 0xf7200000 irq 40»
alsa.driver_name = «snd_hda_intel»
device.bus_path = «pci-0000:00:1b.0»
sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
device.bus = «pci»
device.vendor.id = «8086»
device.vendor.name = «Intel Corporation»
device.product.id = «1c20»
device.product.name = «6 Series/C200 Series Chipset Family High Definition Audio Controller»
device.form_factor = «internal»
device.string = «0»
device.description = «Встроенное аудио»
module-udev-detect.discovered = «1»
device.icon_name = «audio-card-pci»
Профили:
input:analog-stereo: Аналоговый стерео вход (sinks: 0, sources: 1, priority: 65, available: yes)
output:analog-stereo: Аналоговый стерео выход (sinks: 1, sources: 0, priority: 6500, available: yes)
output:analog-stereo+input:analog-stereo: Аналоговый стерео дуплекс (sinks: 1, sources: 1, priority: 6565, available: yes)
output:analog-surround-21: Аналоговый объёмный 2.1 выход (sinks: 1, sources: 0, priority: 1300, available: no)
output:analog-surround-21+input:analog-stereo: Аналоговый объёмный 2.1 выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 1365, available: yes)
output:analog-surround-40: Аналоговый объёмный 4.0 выход (sinks: 1, sources: 0, priority: 1200, available: no)
output:analog-surround-40+input:analog-stereo: Аналоговый объёмный 4.0 выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 1265, available: yes)
output:analog-surround-41: Аналоговый объёмный 4.1 выход (sinks: 1, sources: 0, priority: 1300, available: no)
output:analog-surround-41+input:analog-stereo: Аналоговый объёмный 4.1 выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 1365, available: yes)
output:analog-surround-50: Аналоговый объёмный 5.0 выход (sinks: 1, sources: 0, priority: 1200, available: no)
output:analog-surround-50+input:analog-stereo: Аналоговый объёмный 5.0 выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 1265, available: yes)
output:analog-surround-51: Аналоговый объёмный 5.1 выход (sinks: 1, sources: 0, priority: 1300, available: no)
output:analog-surround-51+input:analog-stereo: Аналоговый объёмный 5.1 выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 1365, available: yes)
output:analog-surround-71: Analog Surround 7.1 выход (sinks: 1, sources: 0, priority: 1200, available: no)
output:analog-surround-71+input:analog-stereo: Analog Surround 7.1 выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 1265, available: yes)
output:iec958-stereo: Цифровой стерео (IEC958) выход (sinks: 1, sources: 0, priority: 5500, available: yes)
output:iec958-stereo+input:analog-stereo: Цифровой стерео (IEC958) выход + Аналоговый стерео вход (sinks: 1, sources: 1, priority: 5565, available: yes)
off: Выключено (sinks: 0, sources: 0, priority: 0, available: yes)
Активный профиль: output:analog-surround-21+input:analog-stereo
Порты:
analog-input-front-mic: Фронтальный микрофон (priority: 8500, latency offset: 0 usec)
Свойства:
device.icon_name = «audio-input-microphone»
Входит в профиль(и): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:iec958-stereo+input:analog-stereo
analog-input-rear-mic: Тыловой микрофон (priority: 8200, latency offset: 0 usec, not available)
Свойства:
device.icon_name = «audio-input-microphone»
Входит в профиль(и): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:iec958-stereo+input:analog-stereo
analog-input-linein: Линейный вход (priority: 8100, latency offset: 0 usec, not available)
Входит в профиль(и): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:iec958-stereo+input:analog-stereo
analog-output-lineout: Линейный выход (priority: 9900, latency offset: 0 usec, not available)
Входит в профиль(и): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21, output:analog-surround-21+input:analog-stereo, output:analog-surround-40, output:analog-surround-40+input:analog-stereo, output:analog-surround-41, output:analog-surround-41+input:analog-stereo, output:analog-surround-50, output:analog-surround-50+input:analog-stereo, output:analog-surround-51, output:analog-surround-51+input:analog-stereo, output:analog-surround-71, output:analog-surround-71+input:analog-stereo
analog-output-headphones: Аналоговые наушники (priority: 9000, latency offset: 0 usec)
Свойства:
device.icon_name = «audio-headphones»
Входит в профиль(и): output:analog-stereo, output:analog-stereo+input:analog-stereo
iec958-stereo-output: Цифровой выход (S/PDIF) (priority: 0, latency offset: 0 usec)
Входит в профиль(и): output:iec958-stereo, output:iec958-stereo+input:analog-stereo

Как видно: output:hdmi-stereo: Digital Stereo (HDMI) выход (sinks: 1, sources: 0, priority: 5900, available: no)

output:hdmi-surround: Digital Surround 5.1 (HDMI) выход (sinks: 1, sources: 0, priority: 800, available: no)

output:hdmi-surround71: Digital Surround 7.1 (HDMI) выход (sinks: 1, sources: 0, priority: 800, available: no)

output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) выход (sinks: 1, sources: 0, priority: 5700, available: yes)

output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) выход (sinks: 1, sources: 0, priority: 5700, available: yes)

«available: no» — на том, что мне нужно. В профилях pulseaudio и прочих pavucontrol тоже, соответственно, нет нужного профиля…

Пробовал Ubuntu Live, Fedora Live, Manjaro XFCE Live, Manjaro KDE Live — всё то же самое. Пробовал открытые и закрытые драйвера NVidia с Live — всё то же самое.

Текущая версия драйвера NVidia:

NVIDIA Driver Version: 415.25
Имхо, дело в драйвере NVidia... Куда ещё можно покопать? Всем спасибо, кто дочитал. Заранее благодарен.

Видеокарта Nvidia Geforce 1050Ti. У неё 5 разъёмов (1xDVI, 3xHDMI, 1xDP). В данный момент подключены 4 монитора: 1xDVI и 3xHDMI

Была чем-то похожая проблема. Правда intel, а не nvidia, и 1 канал звука на 2 монитора, а не 3 на 4, и пульсы нет :)

Куда ещё можно покопать?

man xrandr, отключи звук на DVI:

xrandr --verbose | grep -n1 -e audio -e ^[A-Z]
xrandr --output Который_DVI --set audio off

arson ★★★★★ ()
Ответ на: комментарий от arson
[aaasashamggu@aaaSashaMGGU ~]$ xrandr --verbose | grep -n1 -e audio -e ^[A-Z]
1:Screen 0: minimum 8 x 8, current 5120 x 1080, maximum 32767 x 32767
2:DVI-D-0 connected 1280x1024+0+4 (0x1c0) normal (normal left inverted right x axis y axis) 380mm x 300mm
3-      Identifier: 0x1be
--
74-        v: height  480 start  490 end  492 total  525           clock  59.94Hz
75:HDMI-0 connected primary 1920x1080+1280+0 (0x1cd) normal (normal left inverted right x axis y axis) 598mm x 336mm
76-     Identifier: 0x1cc
--
200-        v: height  480 start  490 end  492 total  525           clock  59.93Hz
201:DP-0 disconnected (normal left inverted right x axis y axis)
202-    Identifier: 0x1dd
--
222-            supported: 0, 1
223:DP-1 disconnected (normal left inverted right x axis y axis)
224-    Identifier: 0x1de
--
244-            supported: 0, 1
245:HDMI-1 connected 1920x1080+1280+0 (0x1cd) normal (normal left inverted right x axis y axis) 708mm x 398mm
246-    Identifier: 0x1df
--
349-        v: height  480 start  490 end  492 total  525           clock  59.93Hz
350:HDMI-2 connected 1920x1080+3200+0 (0x1e0) normal (normal left inverted right x axis y axis) 1600mm x 900mm
351-    Identifier: 0x1e5
[aaasashamggu@aaaSashaMGGU ~]$ xrandr --output DVI-D-0 --set audio off
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  11 (RRQueryOutputProperty)
  Serial number of failed request:  47
  Current serial number in output stream:  47

BadName написано на всех вариантах: HDMI-0, HDMI-1, HDMI-2 и т.д.

aaaSashaMGGU ()
Ответ на: комментарий от arson

Нашёл тут старую ссылочку: https://www.linux.org.ru/forum/desktop/12376789

Похоже-похоже... У человека не выводится звук по одному из двух каналов. И тоже «Остальные порты HDMI подписаны как unplugged» У меня так оно и есть - в Pavucontrol они unplugged

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

Ну значит на nvidia-вских драйверах такого (audio) параметра нет.
На intel-е есть:

78:	audio: auto 
79-		supported: force-dvi, off, auto, on
Да и DVI там как HDMI1 идет.

А если просто отключить DVI-монитор?

P.S. А покажи полный вывод xrandr --verbose (на pastebin).

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

бежал тут мимо...[b/] я в этих ваших HDMI не «спец», но

Активный профиль: output:hdmi-stereo-extra1

и для второго HDMI работающего, есть профиль output:hdmi-stereo-extra2. а для неработающего нет «такого» (я б посоветовал или профиль сменить, или создать профиль профиль output:hdmi-stereo-extra0 с параметрами как у тех 2-х, но я в этом полный профан)

anonymous ()
Ответ на: комментарий от arson

Внезапно, после физического отключения DVI-монитора, все 3 HDMI-звука заработали. Но это лишь меняет проблему с «Работают два из трёх звуковых устройств» на «Работают три из четырёх звуковых устройств» :)

Ссылка на xrandr --verbose https://pastebin.com/PFGDiQNe

aaaSashaMGGU ()
Ответ на: комментарий от arson

xrandr теперь и звуком распоряжается? вот правда — не знал...

anonymous ()
Ответ на: комментарий от aaaSashaMGGU

При старте системы отключать DVI и сразу подключать обратно? :)

Просто найти как отключить звуковой канал от DVI. Может в настройках драйвера, а может в /sys-ку echo-нуть нуликом куда-нибудь.

arson ★★★★★ ()
Ответ на: комментарий от aaaSashaMGGU

меняет проблему с «Работают два из трёх звуковых устройств» на «Работают три из четырёх звуковых устройств» :)

Как ты узнал сколько звуковых каналов на твоей видюхе?

У меня на intel-е похоже вообще один (тот который в HDMI) и то по умолчанию подключается к DVI (если к нему подключен монитор) :(
Хотя aplay -l говорит что их три, да и китайцы клепают коробочки на celeron-ах с тремя HDMI...

Ау, у кого-нибудь работает звук на 2/3 HDMI на intel-е (одновременно!)?

arson ★★★★★ ()
Последнее исправление: arson (всего исправлений: 1)
Ответ на: комментарий от arson

Как ты узнал сколько звуковых каналов на твоей видюхе?

Ну, я думал, что сколько разъёмов - столько и каналов, что было бы логично. Видимо, я ошибался.

Про DVI просто я чего-то подзабыл, что он тоже умеет звук, но ни один aplay, как будто, этого не говорит...

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

Кстати, в Windows лишних DVI-звуковых устройств не было, DVI-монитор был подключен, все 3 HDMI выдавали звук изкоробки (сразу после установки драйвера)

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

Обозначения устройств в alsa и в видео-драйвере Xorg, в общем случае никак не связаны. У меня например есть: alsa - [HDMI 0], [HDMI 1], [HDMI 2], Xorg - HDMI1 (реально это DVI), HDMI2. Слышен только [HDMI 0] на HDMI2 и только если отключить звук на HDMI1(DVI).

arson ★★★★★ ()
Ответ на: комментарий от arson

Ну, в общем, разумеется, костыль, но работает. Как и хотел - сначала отрубаю DVI, а затем включаю его.

#!/bin/bash   
xrandr --output DVI-D-0 --off
xrandr --output DVI-D-0 --left-of HDMI-0 --mode 1280x1024

Ну и после выбираем правильный профиль, т.к., после отключения-включения DVI он сбивается:

#!/bin/bash   
pactl set-card-profile 'alsa_card.pci-0000_01_00.1' 'output:hdmi-stereo-extra1'

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

Всё в одном скрипте. Пауза нужна, т.к., профили звука после включения-отключения DVI пока ещё не успели обновиться

#!/bin/bash

echo OtklVkl
xrandr --output DVI-D-0 --off
xrandr --output DVI-D-0 --left-of HDMI-0 --mode 1280x1024

echo Pause
sleep 5

echo Sound
pactl set-card-profile 'alsa_card.pci-0000_01_00.1' 'output:hdmi-stereo-extra1'    

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

А вообще похоже это глюк. Т.к. сейчас вспоминаю, что к этому компьютеру (на котором приходится отключать звук от DVI) я пару лет назад уже подключал монитор и телевизор, и со звуком было все нормально без этих выкрутасов.

arson ★★★★★ ()
Ответ на: комментарий от arson

Глюк-то глюк, но на всех драйверах, ядрах, сборках и просто системах... В любом случае спасибо за помощь. Если будут ещё идеи сделать не костылём - с радостью попробую.

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

И, кстати, это оффтопик, но моей целью было сделать параллельный одновременный вывод звука на все 3 эти HDMI.

Проверено, работает. Делается это так: в конец файла /etc/pulse/default.pa добавляем строки:

load-module module-alsa-sink sink_name=TV1 device=hw:1,3
load-module module-alsa-sink sink_name=TV2 device=hw:1,7
load-module module-alsa-sink sink_name=TV3 device=hw:1,8
load-module module-combine-sink sink_name=AllSounds
set-default-sink AllSounds     
После чего получаем параллельный одновременный вывод на все наши HDMI

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