No sound from Intel HDMI

Hi everyone

I installed OpenSuse Tumbleweed a few days ago (with KDE) on my Dell XPS 13 9360, everything is working flawlessly except the HDMI sound (was working on Win 10).
Sound is working as expected from the laptop speaker or even from the 3,5mm jack, but i’m unable to make it working on the TV speaker.

I did some research about the problem but i didn’t found something for my computer ^^.

Here are some informations about the sound system of the computer

sudo lspci -nn |grep -i audio
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: PCH [HDA Intel PCH], périphérique 0: ALC3246 Analog [ALC3246 Analog]
  Sous-périphériques: 0/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 3: HDMI 0 [HDMI 0]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 7: HDMI 1 [HDMI 1]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 8: HDMI 2 [HDMI 2]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 9: HDMI 3 [HDMI 3]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 10: HDMI 4 [HDMI 4]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

/usr/sbin/alsa-info.sh

http://www.alsa-project.org/db/?f=380c6c38030cb038fd9b04fc444566d1574a3bc2

In KDE control panel, we can see that there is only “Audio Interne” recognized and nothing else about hdmi…

I tried also :

aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Right.wav

and the same with plughw:0,7, plughw:0,8
which outputs

Lecture WAVE '/usr/share/sounds/alsa/Front_Right.wav' : Signed 16 bit Little Endian, Fréquence 48000 Hz, Mono

with no sound at all

aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Right.wav

outputs the same thing but here, there is sound coming from the computer’s speakers.

I have perhaps an idea : On this computer there is no hdmi output, I have an adapter (which i connect on the thunderbolt 3 port), this one gives me Ethernet (working), HDMI (video working, but no sound (sound ok with Win 10), and 2 USB3.0 ports (working as well).

Do you have ideas ?
Many thanks :slight_smile:
Have a great day :wink:

I see from the diagnostic script that your PC uses an ALC3246 hardware audio codec. I don’t recall trying to help anyone before with this codec.

aplay -l 
....
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: PCH [HDA Intel PCH], périphérique 0: ALC3246 Analog [ALC3246 Analog]
  Sous-périphériques: 0/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 3: HDMI 0 [HDMI 0]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 7: HDMI 1 [HDMI 1]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 8: HDMI 2 [HDMI 2]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 9: HDMI 3 [HDMI 3]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 10: HDMI 4 [HDMI 4]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

Ok, from the above its clear that hw:0,0 is your analog sound, and your HDMI is either hw:0,3 [HDMI-0] or hw:0,7 [HDMI-1] or hw:0,8 [HDMI-2] or hw:0,9 [HDMI-3] or hw:0,10 [HDMI-4].

I note from the diagnostic script:


!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [PCH]

Card hw:0 'PCH'/'HDA Intel PCH at 0xdc428000 irq 139'
  Mixer name	: 'Realtek ALC3246'
...
Simple mixer control **'IEC958',0**
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback **[off]**

I am speculating, as I do not fully understand the relationship between IEC958 and HDMI, but I speculate that:

  • IEC958,0 corresponds to hw:0,3 [HDMI 0]
  • IEC958,1 corresponds to hw:0,7 [HDMI 1]
  • IEC958,2 corresponds to hw:0,8 [HDMI 2]
  • IEC958,3 corresponds to hw:0,9 [HDMI 3]
  • IEC958,4 corresponds to hw:0,10 [HDMI 4]

and if that speculation is correct, and if your HDMI sound is hw:0,3, then you need to switch ON IEC958,0 in your mixer.

There could of course be other causes for this sound problem - I am just speculating here.

Also, have you installed “pavucontrol” application and tried to use that to redirect your sound to HDMI, trying each of hw:0,3 (HDMI-0), hw:0,7 (HDMI-1), hw:0,8 (HDMI-2), hw:9, (HDMI-3), hw:0,10 (HDMI-4) to see which one is the active one on your Dell ?

Well, I speculate with IEC958,0 muted, that is to be expected if hw:0,3 is your HDMI sound device. Did you also try : plughw:0,9 and plughw:0,10 ?

Good luck on this.
.

As an aside, I would think the HDMI should be working. I note a very detailed Arch linux article on this dell XPS 13 9360 and I don’t recall seeing there any complaints wrt HDMI sound not working. I do note a table thou, that lists various audio problems that had to be handled …

  • Popping sound on headphones/external speakers
  • Crackling sound with screen changes
  • Coil Whine
  • Continuous hissing sound with headphones

Hopefully you did not encounter any of those.

I looked a bit more into HDMI on this Dell XPS 13 9360 - and it does appear other’s have struggled to get HDMI sound to work. For example, going back to December 2016 :

http://ewen.mcneill.gen.nz/blog/entry/2016-12-22-dell-xps-9360-hdmi-output/

Still, thats 15-month ago and one would hope this is working now. Try IEC958,0 being switched to ON like I suggested above. If that does not work, you might be into bug reporting territory, which is not as bad as that sounds. We are fortunate with openSUSE that a sound packager for the distribution is also an alsa sound driver developer, and when bugs are written on openSUSE sound, he tries to help the user, fix the sound in the kernel/alsa (if/as appropriate) and then submit the fix upstream for all GNU/Linux users to benefit.
.

Hello !

Thanks for your answers !

I tried aplay -D with plughw:0,8, plughw:0,9 and plughw:0,10, none of them is working.

I just experience the “hissing” sound with headphones (but absolutely not with the integrated speakers), but in my case it is not annoying, because when there is a sound, we do not heard it anymore ^^.

I installed pavucontrol and i do not see the options to “redirect” the sound to hdmi, there is only one recognized card which is “Audio Interne Stéréo Analogique” → must be ALC3246
I don’t see any option, thing speaking about HDMI…

https://maxou2600.dedyn.io/Images/Screen.png

In section Port, there is only “Haut-parleur” which is “Speaker” and “Casque Audio (unplugged)” which is “Headphones (unplugged)”, also when i connect headphones, the mention unplugged disappear, and I can of course choose which output (between speakers and headphones) i want to use and that thing is working great :slight_smile:

Thanks :wink:

Is it set up in Yast-Sound??? Test sound work there?

Nope and nope (before modifying, the test does not output anything even by the laptop speakers)

Every time I try to configure it (by clicking “Modify”), it makes some error and then the working analogic sound disappear from pavucontrol and kde controls and becomes for both “Sortie Factice” which is maybe “Dummy output” in English.

Rebooting the computer makes the analogic sound working again.

Some screenshots to see what’s happening

Edit : Unable to put all the screens, see the links.

Screenshot1
Screenshot2
Screenshot3
Screenshot4

Thanks :wink:

HDMI only works through the HDMI interface and will not make sounds unless you have a HDMI device attached.

Since you use some sort of adapter for HDMI perhaps it is is not recognized completely. What model?? What CPU/GPU??? HDMI is handled trough the GPU hardware

I don’t use TW so someone else needs to jump in

The computer is a Dell XPS 13 9360 (Full HD screen, 512GB SSD, 16GB RAM, CPU : i7-7560u, GPU : Intel Iris Plus 640)

The graphic driver is i915.

The adapter is from Cable-Matters : Amazon

Did you unmute IEC958,0 like I suggested ?

Try this in a konsole/xterm as a regular user:


amixer -c 0 -- set ''IEC958',0' on

Note very carefully the syntax (hopefully I did not screw it up). That should unmute the IEC958,0 (which I think is hw:0,3)

Then after that, try:


aplay -D plughw:0,3 /usr/share/sounds/alsa/test.wav

Oh sorry, i’m quite new at linux, wasn’t understanding how to unmute it ^^

You got it :good:, after doing

amixer -c 0 -- set ''IEC958',0' on

i received


Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

and the test works, the test sound outputs from the tv speakers lol!

Thanks

Excellent !! Glad to read it works !

Just needed to add

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

to /etc/pulse/default.pa and then restarting pulseaudio to add the HDMI output in pavucontrol / kde controls.

After reboot, I needed to do

amixer -c 0 -- set ''IEC958',0' on

again to make it work.

Is there a way to make the computer doing the command automatically at boot without any action coming from me ?

Thanks again :wink:

I would have expected the ALSA sound state to be saved/restored automatically. What is reported by the following?

systemctl status alsasound

Here it is :wink:

maxime@linux-z573:~> systemctl status alsasound
● alsa-restore.service - Save/Restore Sound Card State
   Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static; vendor preset: disabled)
   Active: inactive (dead)
Condition: start condition failed at Wed 2018-03-07 17:07:04 CET; 10min ago

Thanks :slight_smile:

I’m not sure why that is failing. Can you please run that command as root? (That should yield a little more info.)

The same setting should be kept. Its a bit strange. In the ‘old days’ one could attempt to force amixer to save settings by typing (with root permissions)


alsactl store

Its been years (a decade ? ) since I last needed to do that, so I do not know if it is still even a valid approach - but you could try.

That can still be done. FWIW, the alsasound.service (alsa-restore.service) unit file contains the following…

# cat /usr/lib/systemd/system/alsa-restore.service
#
# Note that two different ALSA card state management schemes exist and they
# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
#

[Unit]
Description=Save/Restore Sound Card State
ConditionPathExists=!/etc/alsa/state-daemon.conf
ConditionPathExistsGlob=/dev/snd/control*
After=alsa-state.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/sbin/alsactl restore
ExecStop=-/usr/sbin/alsactl store