Unable to configure sound card in YaST Sound and no sound thru Nvidia HDMI

Hello,

I have an Acer Nitro 5 laptop model AN515-57 with a dual Intel and Nvidia (RTX 3050 Ti) GPUs. openSUSE Leap 15.4 is installed. There is no problems playing audio through the internal laptop speakers or the headphone jack (“Analog stereo duplex” profile selected under “Configure audio devices” in the Sound/Volume applet.

Thanks to others in another thread, they helped me get the Nvidia graphics driver working. I plugged the HDMI to play a video on my LG 4K Smart TV (model 43UK6090PUA); video was fine but no audio. Using the sound applet, I right-clicked the sound applet icon and selected “Configure audio devices…” and was surprised to see 11 HDMI profiles listed! I only have one physical HDMI port on the laptop which I think is from the Nvida GPU (but not sure). I tried each of the 11 HDMI profiles but no sound could be heard through the TV.

Also noticed that the Playback Devices section disappeared for all HDMI profiles but only appeared for “Analog stereo output” or “Analog stereo duplex”, including the “Test” sound button.

I found and followed other posts on the the openSUSE forums regarding missing drivers and no sound using HDMI but nothing worked:

I went to the YaST > Sound and was surprised to see that the (Intel) “Tiger Lake-H HD Audio Controller” was the only one listed and not configured.

I clicked on Edit, the selected “Normal setup” but got the following error:

An error occurred during the installation of Tiger Lake-H HD Audio Controller
The kernel module snd-sof-pci-intel-tgl for sound support could not be loaded. This can be caused by incorrect
module parameters, including invalid IO or IRQ parameters.

Package sof-firmware was already installed.

Not sure how to configure the “Tiger Lake-H HD Audio Controller” and how to get HDMI sound working.

# /sbin/lspci -nnk | egrep -A3 "VGA|Display|3D"
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a60] (rev 01)
        Subsystem: Acer Incorporated [ALI] Device [1025:1539]
        Kernel driver in use: i915
        Kernel modules: i915
--
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Ti Mobile] [10de:25a0] (rev a1)
        Subsystem: Acer Incorporated [ALI] Device [1025:153a]
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
# /sbin/lspci -nnk | grep -A3 Audio
0000:00:1f.3 Audio device [0403]: Intel Corporation Tiger Lake-H HD Audio Controller [8086:43c8] (rev 11)
        Subsystem: Acer Incorporated [ALI] Device [1025:1539]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl

(no mention of Nvidia HDMI in the output)

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC295 Analog [ALC295 Analog]
  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
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 13: HDMI 7 [HDMI 7]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 14: HDMI 8 [HDMI 8]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 15: HDMI 9 [HDMI 9]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 16: HDMI 10 [HDMI 10]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 17: HDMI 11 [HDMI 11]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Is this even right? How come so many HDMI playback devices are listed?

Help is greatly appreciated. Thank you.

There should be no need to configure your sound hardware explicitly via YaST. The ‘extra’ HDMI devices are likely associated with the video card. Run the following commands…

inxi -Aa

Let’s see what configuration entries may be present already…

grep -i snd /etc/modprobe.d/*

*Depending on what is present, you may need remove problematic configuration files.

It’s common, and I wonder why so many myself.

Note that sound is supposedly supposed to work automagically for most hardware, and that YaST has become virtually useless as a sound configuration tool. For that reason, it was recently retired from Tumbleweed. It is still present in 15.5, which is due for RC announcement very soon. Given the relative newness of Tiger Lake, you may wish to try 15.5, or a backport kernel. I too have a Tiger Lake-H [8086:43c8] working for 15.4 using aplay /usr/share/sound/alsa/test.wav, but for Intel-only HDMI. This is a list of its installed audio-related packages:

# rpm -qa | grep -E 'alsa|arts|gstream|jack|mix|pavu|puls|wire' | sort
alsa-1.2.6.1-150400.1.4.x86_64
alsa-plugins-1.2.6-150400.1.10.x86_64
alsa-plugins-speexrate-1.2.6-150400.1.10.x86_64
alsa-plugins-upmix-1.2.6-150400.1.10.x86_64
alsa-ucm-conf-1.2.6.3-150400.1.4.noarch
alsa-utils-1.2.6-150400.1.4.x86_64
gstreamer-1.20.1-150400.1.5.x86_64
gstreamer-plugins-base-1.20.1-150400.1.9.x86_64
libgstreamer-1_0-0-1.20.1-150400.1.5.x86_64
libjack0-1.9.12-150000.3.3.1.x86_64
libpipewire-0_3-0-0.3.49-150400.1.5.x86_64
libpulse-mainloop-glib0-15.0-150400.2.10.x86_64
libpulse0-15.0-150400.2.10.x86_64
libwireplumber-0_4-0-0.4.9-150400.3.3.2.x86_64
pipewire-0.3.49-150400.1.5.x86_64
pipewire-alsa-0.3.49-150400.1.5.x86_64
pipewire-modules-0_3-0.3.49-150400.1.5.x86_64
pipewire-pulseaudio-0.3.49-150400.1.5.x86_64
pipewire-spa-plugins-0_2-0.3.49-150400.1.5.x86_64
pipewire-spa-tools-0.3.49-150400.1.5.x86_64
pipewire-tools-0.3.49-150400.1.5.x86_64
pulseaudio-bash-completion-15.0-150400.2.10.x86_64
pulseaudio-setup-15.0-150400.2.10.x86_64
pulseaudio-utils-15.0-150400.2.10.x86_64
system-user-pulse-15.0-150400.2.10.noarch
trinity-arts-1.5.10-14.0.13_1.oss154.x86_64
trinity-kmix-14.0.13-1.oss154.x86_64
trinity-libarts-akode-14.0.13-1.oss154.x86_64
trinity-libarts-audiofile-14.0.13-1.oss154.x86_64
trinity-libarts-mpeglib-14.0.13-1.oss154.x86_64
trinity-libarts-xine-14.0.13-1.oss154.x86_64
wireplumber-0.4.9-150400.3.3.2.x86_64
wireplumber-audio-0.4.9-150400.3.3.2.noarch

Here are the outputs of the commands:

# inxi -Aa
Audio:     Device-1: Intel Tiger Lake-H HD Audio vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel
           alternate: snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3 chip-ID: 8086:43c8 class-ID: 0403
           Sound Server-1: ALSA v: k5.14.21-150400.24.60-default running: yes
           Sound Server-2: PulseAudio v: 15.0 running: yes
           Sound Server-3: PipeWire v: 0.3.49 running: yes
# grep -i snd /etc/modprobe.d/*
#

(the grep command had no results)

I wonder if your hybrid graphics set up is some how impacting here. As per mrmazda’s comments regarding sound working for HDMI when using Intel graphics. Have you tried switching between the two, and testing HDMI-audio with each?

FWIW, I did find this github page wrt suse-prime (but I’m not sure what you are using to switch graphics and not something I have experience with)…

Another speculative thought…perhaps a newer kernel version (along with the appropriate nvidia driver) would resolve this issue.

I currently have the nvidia gpu selected.

# prime-select boot nvidia

If I change “nvidia” to “intel” or “intel2” and reboot, X doesn’t start and I’m dropped down to a text login prompt. HDMI doesn’t work in that state. HDMI works only with "nvidia"selected and graphical boots normally. I’d like to switch between intel and nvdia graphics but I’m ok if only can use nvidia that except that the hdmi sound doesn’t work. Not sure what to do next.

What is output from cat /proc/cmdline on a default Grub selection boot?

What is output from grep -i driver /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*.conf when booted with intel prime-selected?

With NVidia gpu selected:

# cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-5.14.21-150400.24.60-default root=/dev/mapper/encSSD-encRoot splash=silent resume=/dev/disk/by-uuid/0c9c3445-1cca-49b3-a5be-41cc7131bff4 preempt=full mitigations=auto quiet security=apparmor
#  grep -i driver /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*.conf
grep: /etc/X11/xorg.conf: No such file or directory
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-quirks.conf:        MatchDriver "evdev"
/etc/X11/xorg.conf.d/10-quirks.conf:        MatchDriver "evdev"
/etc/X11/xorg.conf.d/11-evdev.conf:        Driver  "evdev"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/50-device.conf:#  #Driver "radeon"
/etc/X11/xorg.conf.d/50-device.conf:#  ## Required magic for radeon/radeonhd drivers; output name
/etc/X11/xorg.conf.d/50-elotouch.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/50-screen.conf:#  ## Doesn't help for radeon/radeonhd drivers; use magic in
/etc/X11/xorg.conf.d/70-wacom.conf:# driver is not accidentally bound to other types of hardware that
/etc/X11/xorg.conf.d/70-wacom.conf:# Wacom has made which are not handled by the wacom driver (e.g the
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:     Driver "wacom"
/etc/X11/xorg.conf.d/90-nvidia.conf:    Driver "intel"
/etc/X11/xorg.conf.d/90-nvidia.conf:    Driver "modesetting"
/etc/X11/xorg.conf.d/90-nvidia.conf:    Driver "nvidia"

Intel selected:

# cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-5.14.21-150400.24.60-default root=/dev/mapper/encSSD-encRoot splash=silent resume=/dev/disk/by-uuid/0c9c3445-1cca-49b3-a5be-41cc7131bff4 preempt=full mitigations=auto quiet security=apparmor
#  grep -i driver /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*.conf
grep: /etc/X11/xorg.conf: No such file or directory
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-evdev.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/10-quirks.conf:        MatchDriver "evdev"
/etc/X11/xorg.conf.d/10-quirks.conf:        MatchDriver "evdev"
/etc/X11/xorg.conf.d/11-evdev.conf:        Driver  "evdev"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/40-libinput.conf:        Driver "libinput"
/etc/X11/xorg.conf.d/50-device.conf:#  #Driver "radeon"
/etc/X11/xorg.conf.d/50-device.conf:#  ## Required magic for radeon/radeonhd drivers; output name
/etc/X11/xorg.conf.d/50-elotouch.conf:        Driver "evdev"
/etc/X11/xorg.conf.d/50-screen.conf:#  ## Doesn't help for radeon/radeonhd drivers; use magic in
/etc/X11/xorg.conf.d/70-wacom.conf:# driver is not accidentally bound to other types of hardware that
/etc/X11/xorg.conf.d/70-wacom.conf:# Wacom has made which are not handled by the wacom driver (e.g the
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:        Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/70-wacom.conf:	Driver "wacom"
/etc/X11/xorg.conf.d/90-intel.conf:    Driver "modesetting"

Found the solution. The udev rules for NVidia card has the sound disabled. Commenting out this setting and rebooting fixed it. HDMI now appears as an option under Configure Audio Devices.

  1. Edit the udev rules for your Nvidia card
$ sudo vi /lib/udev/rules.d/90-nvidia-udev-pm-G05.rules

(Note: the .rules filename maybe different; look for a .rules filename containing nvidia-udev)

  1. Look for the lines:
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
  1. Comment out the line beginning with ACTION (in vi, using the cursor keys, move to beginning of the second line, press i to insert characters, type #) :
# Remove NVIDIA Audio devices, if present
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
  1. Save the file and exit vi: In vi, press : then type wq (to write and quit) and press ENTER.

  2. Reboot

  3. Plug in your HDMI cable into your computer.

  4. Choose your audio device. Right click the sound icon on the right hand side of the taskbar (in KDE) and select “Configure Audio Devices”

  5. Select HDMI from the drop-down list or radio button under the “Playback Devices” section.

Thanks God! (Was praying earlier to find a solution :smile: )

Two helpful online articles that pointed me to the solution:
No HDMI Audio on Nvidia 1660 Super (Driver 460) & Ubuntu 20.10

NVidia HDMI not an option for audio output

Resolved! Thank you to everyone who was kind to offer help and solutions! Loving openSUSE and the community.

2 Likes

Well done. This will be useful to others who come searching for help.