You are not logged in.

#1 2021-01-12 21:13:32

Krokodil
Member
Registered: 2021-01-12
Posts: 3

ALSA will not detect HDMI audio device

I recently installed Arch to a new system, and I can't figure out what to do to get it to recognize my HDMI audio device. I have tried both attempting to set the default device in asoundrc and in modprobe.d and neither were able to accomplish the task.

$ cat /proc/asound/cards
 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfcb00000 irq 116
 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xfcca0000 irq 114

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 0: ALCS1200A Analog [ALCS1200A Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 1: ALCS1200A Digital [ALCS1200A Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

From this I can tell that the sound card that I wish to be using is card 1 (HDMI) and device 3. When I look at the settings for card 1 in alsamixer, I see no volume controls for the hdmi device, only a S/PDIF toggle. Following the advice on the wiki and in https://bbs.archlinux.org/viewtopic.php?id=185675, I attempted modifying /etc/asound.conf and ~/.asoundrc to contain

defaults.pcm.card 1
defaults.ctl.card 1

and

defaults.pcm.device 3
defaults.ctl.device 3

with no luck. Upon attempting a speaker test with -D HDMI, I receive the following error.

Playback device is HDMI
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Playback open error: -2,No such file or directory

In following with the linked topic, I also attempted to perform the modification

$ cat /etc/modprobe.d/50-alsa.conf
options snd-hda-intel index=0,1

as they both use snd-hda-intel, and HDMI is first on the PCI/hardware bus placement. However, this also had no effect. I am rather stuck at this point, and any assistance would be much appreciated.

Offline

#2 2021-01-12 21:42:52

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 11,800

Re: ALSA will not detect HDMI audio device

Which device the actual sound producing one is depends on the port you plugged your HDMI into. See for a suggestion for identifying this no clue if or how this would map to AMD

A surefire albeit tedious way would be to try and identify the correct device, either use the hdmi pcms (as exposed by aplay -L ) or just go through them by number, e.g.

speaker-test -c2 -Dhw:1,3
speaker-test -c2 -Dhw:1,7
speaker-test -c2 -Dhw:1,8
...

Map the identified combination in a relevant ALSA conf

Last edited by V1del (2021-01-12 21:43:44)

Offline

#3 2021-01-12 22:20:00

Krokodil
Member
Registered: 2021-01-12
Posts: 3

Re: ALSA will not detect HDMI audio device

Thank you for the information. I was able to identify using the method described in this post that the device for which monitor_present = 1 is hw:1,3. However, that is the card/device combination that I have already been using in my .asoundrc configuration file, and running

speaker-test -c2 -Dhw:1,3

produces no sound. For good measure, I ran speaker-test for all other possible combinations ([1,7], [1,8], [1,9], [1,10] and [1,11]), and none of them produced any sound either.

When using pacmd list-cards, I am shown that I have only one card available (alsa_card.pci-0000_0b_00.1) and setting that as the default sink using pacmd does not seem to have had any noticeable effect. Could there perhaps be another setting that I would need to change in order to fix this issue?

Last edited by Krokodil (2021-01-12 22:20:39)

Offline

#4 2021-01-12 23:18:18

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 11,800

Re: ALSA will not detect HDMI audio device

Does it actually work, as in it tries to play back but there's simply no audible noise?

Does your monitor have HDMI output in the first place ? Any messages in dmesg when this doesn't work? Which actual card and kernel driver is this, also xorg or wayland? I've heard reports that wayland has issues here for some reason. The relevant SPDIF control in alsamixer is set to OO ?

Last edited by V1del (2021-01-12 23:19:12)

Offline

#5 2021-01-13 02:22:57

Krokodil
Member
Registered: 2021-01-12
Posts: 3

Re: ALSA will not detect HDMI audio device

Yes, that is correct, the program displays no errors in terminal, but I get no sound from it.

I am certain that my monitor does have HDMI output, I have tested it with a windows machine and it works fine. The card and kernel driver are "HDA ATI HDMI" and snd_hda_intel, respectively, and I am using xorg. I am not sure what you mean regarding alsamixer, because as far as I can tell, the program does not allow me to modify any settings for that card.

When I try to run the sound test, I get the following message in dmesg:

snd_hda_intel 0000:0b:00.1: IRQ timing workaround is activated for card #1. Suggest a bigger bdl_pos_adj.

Upon googling the message, I came onto a page that suggested modifying the value of bld_pos_adj in /sys/module/snd_hda_intel. I tried doing that, increasing the values by a factor of 2 and testing the sound-test after, but even with a value of 64, (as opposed to the default of -1), the sound test still didn't produce any sound. Should I try to keep increasing the value, or is there another location I should be looking at instead?

Offline

Board footer

Powered by FluxBB