No more sound through HDMI

Hello,
I have an MSI laptop with up-to-date openSUSe Tumbleweed. I have sound through the PC speakers but no sound through the HDMI cable connected to an ASUS external display.
I think this happened after an update. I don’t see anymore HDMI output in pavucontrol.
Thank you.

Operating System: openSUSE Tumbleweed 20241114
KDE Plasma Version: 6.2.3
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.0
Kernel Version: 6.11.7-1-default (64-bit)
Graphics Platform: Wayland
Processors: 8 × 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz
Memory: 7.5 Gio of RAM
Graphics Processor: Mesa Intel® Xe Graphics
Manufacturer: Micro-Star International Co., Ltd.
Product Name: Modern 15 A11M
System Version: REV:1.0
inxi -A
Audio:
  Device-1: Intel Tiger Lake-LP Smart Sound Audio
    driver: sof-audio-pci-intel-tgl
  Device-2: CMX Systems EarPods_TC01_KAJ
    driver: hid-generic,snd-usb-audio,usbhid type: USB
  API: ALSA v: k6.11.7-1-default status: kernel-api
  Server-1: PipeWire v: 1.2.6 status: active

zypper se -i pipewire
Loading repository data...
Reading installed packages...

S  | Name                      | Summary                                                                  | Type
---+---------------------------+--------------------------------------------------------------------------+--------
i+ | gstreamer-plugin-pipewire | Gstreamer Plugin for PipeWire                                            | package
i  | kpipewire-imports         | QtQuick bindings for kpipewire                                           | package
i  | kpipewire6-imports        | QtQuick bindings for kpipewire6                                          | package
i  | libKPipeWire5             | PipeWire integration for KDE Plasma - main library                       | package
i  | libKPipeWire5-lang        | Translations for package libKPipeWire5                                   | package
i  | libKPipeWire6             | PipeWire integration for KDE Plasma - main library                       | package
i  | libKPipeWire6-lang        | Translations for package libKPipeWire6                                   | package
i  | libKPipeWireDmaBuf5       | PipeWire integration for KDE Plasma - DMA-BUF support                    | package
i  | libKPipeWireDmaBuf6       | PipeWire integration for KDE Plasma - DMA-BUF support                    | package
i  | libKPipeWireRecord5       | PipeWire integration for KDE Plasma - recording support                  | package
i  | libKPipeWireRecord6       | PipeWire integration for KDE Plasma - recording support                  | package
i+ | libpipewire-0_3-0         | A Multimedia Framework designed to be an audio and video server and more | package
i+ | pipewire                  | A Multimedia Framework designed to be an audio and video server and more | package
i  | pipewire-alsa             | PipeWire media server ALSA support                                       | package
i+ | pipewire-lang             | Translations for package pipewire                                        | package
i+ | pipewire-modules-0_3      | Modules For PipeWire, A Multimedia Framework                             | package
i+ | pipewire-pulseaudio       | PipeWire PulseAudio implementation                                       | package
i+ | pipewire-spa-plugins-0_2  | Plugins For PipeWire SPA                                                 | package
i+ | pipewire-spa-tools        | The PipeWire SPA Tools                                                   | package
i+ | pipewire-tools            | The PipeWire Tools                                                       | package

zypper se -i pulseaudio
Loading repository data...
Reading installed packages...

S  | Name                       | Summary                            | Type
---+----------------------------+------------------------------------+--------
i  | libKF6PulseAudioQt5        | Qt bindings for PulseAudio         | package
i+ | pipewire-pulseaudio        | PipeWire PulseAudio implementation | package
i  | pulseaudio-bash-completion | PulseAudio Bash completion         | package
i  | pulseaudio-setup           | Set-up script for PulseAudio       | package
i+ | pulseaudio-utils           | PulseAudio utilities               | package

and this command

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: HDA Analog Deep Buffer (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I use this script, among others, when trying to troubleshoot audio:

#!/bin/sh
echo "# aplay /usr/share/sounds/alsa/test.wav"
aplay /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 1 
echo "# aplay -D default /usr/share/sounds/alsa/test.wav && sleep 5"
aplay -D default /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 5
echo "# aplay -D hdmi /usr/share/sounds/alsa/test.wav"
aplay -D hdmi /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 1 
echo "# aplay -D hdmi:0,0 /usr/share/sounds/alsa/test.wav"
aplay -D hdmi:0,0 /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 1 
echo "# aplay -D hdmi:0,1 /usr/share/sounds/alsa/test.wav"
aplay -D hdmi:0,1 /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 1 
echo "# aplay -D hw:0,3 /usr/share/sounds/alsa/test.wav"
aplay -D hw:0,3 /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 1 
echo "# aplay -D hw:0,7 /usr/share/sounds/alsa/test.wav"
aplay -D hw:0,7 /usr/share/sounds/alsa/test.wav
echo "#^" && sleep 1 

Sometimes, all work. Sometimes, none work. Most of the time some to and some don’t. :stuck_out_tongue:

Another showing state of things:

#!/bin/sh
echo "# alsactl info"
alsactl info
echo "# wpctl status"
wpctl status
echo "# pw-cli list-objects Device"
pw-cli list-objects Device
echo "# pw-cli list-objects Node"
pw-cli list-objects Node
echo "# aplay -lL"
aplay -lL
echo "# systemctl -l --no-pager --global --user status pipewire.{service,socket} pipewire-pulse.{service,socket} wireplumber"
systemctl -l --no-pager --global --user status pipewire.{service,socket} pipewire-pulse.{service,socket} wireplumber

To spot software that may be absent:

# rpm -qa | egrep 'alsa|arts|audio|codec|demul|fmpeg|gstr|jack|kodi|26[45]|mix|mpv|pavu|puls|sof-f|sound|vlc|wire|xdg'|sort

I’m not suggesting you flood the thread with output from all of this, only that it might be useful in finding cause for failure. Actually pinning down why working or not in the zoo that is PC audio I have yet to figure out.

I tried “aplay -D hdmi /usr/share/sounds/alsa/test.wav” on my i7-9700 and that works although the first part of the sample is silenced out.

I see in my boot log:

Nov 17 08:15:02 localhost kernel: snd_hda_intel 0000:00:1f.3: enabling device (0100 -> 0102)
Nov 17 08:15:02 localhost kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

Is that also present in your boot log (sudo journalctl -b)?
If not check earlier boots to see when it was last seen.

aplay -D hdmi /usr/share/sounds/alsa/test.wav

I don’t get sound with hdmi.

sudo jounalctl |grep snd_hda_intel

return only since September
localhost kernel: snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver

sudo journalctl |grep failed

return lines about alsa :

Nov 17 10:04:21 localhost (udev-worker)[722]: controlC0: Process '/usr/sbin/alsactl restore ' failed with exit code 99.
Nov 17 10:04:22 localhost alsactl[1379]: alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -22
Nov 17 10:05:05 localhost.localdomain accounts-daemon[3551]: g_dbus_interface_skeleton_get_object_path: assertion 'G_IS_DBUS_INTERFACE_SKELETON (interface_)' failed
Nov 17 10:23:42 localhost.localdomain wireplumber[2135]: wp-event-dispatcher: <WpAsyncEventHook:0x558b52cdbc10> failed: <WpSiStandardLink:0x558b53032dd0> link failed: 1 of 1 PipeWire links failed to activate

That is a good dat point.

Searching for “snd_hda_intel not loaded” I found at some links with good debug tips.

I get
alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -22
since alsa update (15 november) version 1.2.13

sudo journalctl |grep 'snd_hda_intel not loaded'

return nothing

Solved today with alsa update.
Thank you

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.