HDMI Audio not recognized

I have HP Omen 15 with Nvidia 1650 Ti and ryzen 5, 4600H, running manjaro unstable with kernel 5.14 and HDMI output seems to be connected to nvidia gpu. everything works fine except for hdmi audio. It doesn’t show up anywhere aplay -l outputs:

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 0: ALC245 Analog [ALC245 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

after running this

archlinux. org/title/NVIDIA/Troubleshooting#No_audio_over_HDMI
(I can’t add links, huh?)

kernel log reports: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card2/input20 but still nothing works.

I don’t really know what to do and any help would be much appreciated.

Welcome to Manjaro forum

New users can only post inactive links (to prevent spam posts) like this:

https://wiki.archlinux.org/title/NVIDIA/Troubleshooting#No_audio_over_HDMI

New users are generally promoted to Basic users within 1 or 2 weeks and can access more forum functions, including posting links

Have you tried this from [Stable Update] 2021-09-24 announcement ?

nVidia 4xx PRIME on kernel >= 5.5 has no audio

If you are using an nVidia card with the proprietary prime driver and you get no audio through the HDMI port or the USB devices of the card don’t work it’s because they have been disable due to a power management bug in the kernel. This bug has been fixed in recent updates, so if you are running a kernel with version >= 5.5 and the 4xx version nVidia driver you can fix those problems by editing the file /etc/udev/rules.d/90-mhwd-prime-powermanagement.rules and commenting the following lines in this way.

  • To go from this:
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"

# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"

# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
  • to this:
# Remove NVIDIA USB xHCI Host Controller devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"

# Remove NVIDIA USB Type-C UCSI devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"

# Remove NVIDIA Audio devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
  • execute this:
sudo sed -Ei '/"0x040300"/s/^/#/' /etc/udev/rules.d/90-mhwd-prime-powermanagement.rules
sudo sed -Ei '/"0x0c8000"/s/^/#/' /etc/udev/rules.d/90-mhwd-prime-powermanagement.rules
sudo sed -Ei '/"0x0c0330"/s/^/#/' /etc/udev/rules.d/90-mhwd-prime-powermanagement.rules
1 Like

Thank you, I’ll try that when I have hdmi around

That did help, now aplay -l recognizes some nvidia stuff:

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

However, it doesn’t play any sound! I added those to pulseaudio as described here but none of them works. Also, when I run pulseaudio it throws following errors:

E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
W: [pulseaudio] cli-command.c: stat('/etc/pulse/default.pa.d'): No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

I added those to pulseaudio as described here but none of them works

The information you linked to in Archwiki is showing how to test audio outputs with an aplay command
so I do not understand what you might have added to PulseAudio

I suggest you remove whatever you have added
reboot system
and post responses this command to show system information

inxi -SMAa

and pulseaudio information

systemctl --user status -l --no-pager pulseaudio.*
pacmd dump

inxi -SMAa:

System:    Host: pc Kernel: 5.14.8-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.14-x86_64 root=UUID=6b5826fc-c009-4152-8a3a-8a2acf388f66 rw quiet splash 
           apparmor=1 security=apparmor udev.log_priority=3 
           Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: LightDM 1.30.0, SDDM Distro: Manjaro Linux 
           base: Arch Linux 
Machine:   Type: Laptop System: HP product: OMEN Laptop 15-en0xxx v: N/A serial: <superuser required> Chassis: type: 10 
           serial: <superuser required> 
           Mobo: HP model: 8788 v: 22.54 serial: <superuser required> UEFI: AMI v: F.07 date: 09/16/2020 
Audio:     Device-1: NVIDIA vendor: Hewlett-Packard driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:10fa 
           class-ID: 0403 
           Device-2: Advanced Micro Devices [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor vendor: Hewlett-Packard 
           driver: snd_rn_pci_acp3x v: kernel alternate: snd_pci_acp3x bus-ID: 06:00.5 chip-ID: 1022:15e2 class-ID: 0480 
           Device-3: Advanced Micro Devices [AMD] Family 17h HD Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel 
           bus-ID: 06:00.6 chip-ID: 1022:15e3 class-ID: 0403 
           Sound Server-1: ALSA v: k5.14.8-1-MANJARO running: yes 
           Sound Server-2: JACK v: 1.9.19 running: no 
           Sound Server-3: PulseAudio v: 15.0 running: yes 
           Sound Server-4: PipeWire v: 0.3.37 running: no

systemctl --user status -l --no-pager pulseaudio.*


● pulseaudio.socket - Sound System
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-10-01 11:55:41 EEST; 3min 56s ago
   Triggers: ● pulseaudio.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pulseaudio.socket

окт 01 11:55:41 pc systemd[1047]: Listening on Sound System.

● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-10-01 11:55:41 EEST; 3min 56s ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 1057 (pulseaudio)
      Tasks: 8 (limit: 18414)
     Memory: 11.9M
        CPU: 180ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
             ├─1057 /usr/bin/pulseaudio --daemonize=no --log-target=journal
             └─1183 /usr/lib/pulse/gsettings-helper

окт 01 11:55:41 pc pulseaudio[1057]: Failed to find a working profile.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to find a working profile.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to find a working profile.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to find a working profile.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to find a working profile.
окт 01 11:55:41 pc pulseaudio[1057]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

pacmd dump

### Configuration dump generated at Fri Oct  1 12:02:40 2021

load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-switch-on-port-available
load-module module-udev-detect
load-module module-alsa-card device_id="1" name="pci-0000_06_00.6" card_name="alsa_card.pci-0000_06_00.6" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
load-module module-jackdbus-detect channels=2
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-bluez5-discover
load-module module-dbus-protocol
load-module module-native-protocol-unix
load-module module-gsettings
load-module module-default-device-restore
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-systemd-login
load-module module-position-event-sounds
load-module module-role-cork
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-x11-publish display=:0 xauthority=/home/illusion/.Xauthority
load-module module-x11-xsmp display=:0 xauthority=/home/illusion/.Xauthority session_manager=local/gem:@/tmp/.ICE-unix/1695,unix/gem:/tmp/.ICE-unix/1695
load-module module-cli-protocol-unix

set-sink-volume alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink 0xbae1
set-sink-mute alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink no
suspend-sink alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink yes

set-source-volume alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink.monitor 0x10000
set-source-mute alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink.monitor no
suspend-source alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink.monitor yes
set-source-volume alsa_input.pci-0000_06_00.6.HiFi__hw_acp__source 0x10000
set-source-mute alsa_input.pci-0000_06_00.6.HiFi__hw_acp__source yes
suspend-source alsa_input.pci-0000_06_00.6.HiFi__hw_acp__source yes
set-source-volume alsa_input.pci-0000_06_00.6.HiFi__hw_Generic__source 0xffff
set-source-mute alsa_input.pci-0000_06_00.6.HiFi__hw_Generic__source yes
suspend-source alsa_input.pci-0000_06_00.6.HiFi__hw_Generic__source yes

set-card-profile alsa_card.pci-0000_06_00.6 HiFi

set-default-sink alsa_output.pci-0000_06_00.6.HiFi__hw_Generic__sink
set-default-source alsa_input.pci-0000_06_00.6.HiFi__hw_acp__source

### EOF

@nikgnomic any ideas?

If you have the prime drivers,verify if your /etc/udev/rules.d/90-mhwd-prime-powermanagement.rules you have a # before the word ACTION in

# Remove NVIDIA Audio devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"

If not,add that,then reboot,it should appear now.

Yes, I did that (the first comment in the thread).
I managed to get the audio to work by adding
load-module module-alsa-sink device=hdmi:0
to /etc/pulse/default.pa
However, it seems like on each reboot the number changes! It’s now hdmi:0, then hdmi:0,1 then hdmi:0,4.
Can I make it persistent somehow?

If you check HDMI output Profiles in ‘pactl list cards’ you should be able to deduce the correct HDMI subdevice from HDMI 0 to HDMI 5 and find the related ALSA device number in aplay -l

The sink module device can be specified using the card number and device number

If pactl shows the working device is HDMI 0, use this command in PulseAudio configuration:

load-module module-alsa-sink device=hw:0,3

Or use these hw:[card],[device] numbers for the other devices

  • hw:0,7 – [HDMI 1]
  • hw:0,8 – [HDMI 2]
  • hw:0,9 – [HDMI 3]
  • hw:010 – [HDMI 4]
  • hw:0,11 – [HDMI 5]

I tried adding some of those with
load-module module-alsa-sink device=hdmi:0:1
but after I have rebooted it didn’t work. hdmi:0,1 worked though.
It looks like the output device changes after every reboot (ranging from 0 to 4). Can I do something to make it persistent?

device=hdmi:0:1 is an ALSA PCM device from listing in aplay -L

https://alsa.opensrc.org/PCM_device
A PCM device is something like an abstract soundcard. It can either be a hardware device or a PCM plugin layer device

I suspect this would be HDMI 1, so the equivalent hardware device would be device=hw:0,7

(If the 5 HDMI devices are not recognised by, or connected to, PulseAudio the plughw PCM suggested in Archwiki is not needed to work around PulseAudio connections to ALSA)

PulseAudio data is showing only one audio device detected

The HDMI card is only shown in the journal as Failed to find a working profile
the same error repeated 5 times would be the 5 output devices in ALSA
so there is no information about the HDMI card ( alsa_card.pci-0000_01_00.1) in PulseAudio data
The only ALSA card shown in PulseAudio is alsa_card.pci-0000_06_00.6
Which is mostly Card:2 for onboard analog audio - speakers and headset jack
but also Card:3 for the Ryzen Audio CoProcessor digital array microphone
The HiFi profile combines the two cards to appear as only one card in PulseAudio

‘hdmi:0,’ where there is no 2nd ALSA device number may be something misconfigured

The 1st digit is the card number and that can change if audio devices are detected in a different order, but the card numbers don’t change with every single boot
(the card numbers can be fixed in ALSA, but it is less complicated to use the card name instead of the used

I have never known of device numbers changing because they are usually hard-wired to a specific connection. But HDMI connections on a GPU may not be hardwired in the same way
I have been able to find datasheets for some audio codecs, but I have never come across any internal details about GPUs to know what might be going on internally