Score:0

How to troubleshoot no audio over HDMI

tr flag

Yes, this question has been asked 6 or 7 million times already. But everybody has had a different cause for it, and therefore everybody has had a different solution to it. I am suffering from this issue, so I thought I would have a post where all the main causes (and solutions) are listed along with the troubleshooting steps. Of course, if anybody sees anything that I'm missing, please chime in.

First step, what's the machine.

user@machine:~$ sudo inxi
CPU: 8-core AMD Ryzen 7 7735HS with Radeon Graphics (-MT MCP-)
speed/min/max: 1700/1600/4828 MHz Kernel: 5.19.0-35-generic x86_64 Up: 9m
Mem: 2348.4/28818.8 MiB (8.1%) Storage: 476.94 GiB (2.7% used) Procs: 397
Shell: Sudo inxi: 3.3.13

user@machine:~$ sudo inxi -xA
Audio:
  Device-1: AMD driver: snd_hda_intel v: kernel bus-ID: 74:00.1
  Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor
    driver: snd_pci_acp6x v: kernel bus-ID: 74:00.5
  Device-3: AMD Family 17h HD Audio driver: snd_hda_intel v: kernel
    bus-ID: 74:00.6
  Sound Server-1: ALSA v: k5.19.0-35-generic running: yes
  Sound Server-2: PulseAudio v: 15.99.1 running: yes
  Sound Server-3: PipeWire v: 0.3.48 running: yes

user@machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:    22.04
Codename:   jammy

Second, what's the behaviour. No audio over HDMI. Headphone jack works fine, Bluetooth audio works fine, no audio at all over HDMI (video signal is fine).

Third, what's been tried. The HDMI cable and speakers are known to be good. I hooked up an old laptop running 20.04, and the audio over HDMI is fine. There is a solution somewhere where somebody fixed this issue (on Windows) by getting a "4K HDMI cable", if that's even a thing, and that solved their issue. My HDMI cable says "High Speed Cable" on it, and nothing else. For someone else, what fixed it for them is to boot with the HDMI cable disconnected, and then reconnect it. Tried it, didn't help.

I looked under sound settings, HDMI is selected as an output. Sometimes I see a profile, but not for long, and that disappears, so I suspect it's a software thing (driver?), not a hardware thing. When I play sound, the sound meter moves, so the PC thinks it's outputting sound. I should probably look at the drivers (they say Intel HDA, this is an AMD APU, wtf?).

I also looked in Alsamixer to make sure nothing was muted (I've had this issue on other machines), everything was unmuted and I turned all the volumes to max.

UPDATE#1: tried deleting the pulse audio profile and rebooting, no change.

UPDATE#2: Gnome Alsamixer isn't a thing in 22.04, 18.04 is the latest release that has it.

UPDATE#3: Playing a test sound to a specific hardware output didn't result in sound over HDMI. I did get sound through the headphone jack when expected though.

UPDATE#4: Found a post that claims audio over HDMI is broken for my current kernel and that I need to downgrade.

Things to look into (with links to posts):

create a sink (I don't even know what a sink is, but I can look into it, instructions look simple and clear enough)

install GNOME AlsaMixer (I don't know that this would make a difference from the cli alsamixer, could be an updated or forked version, worth trying)

removing pulseaudio profile (worth trying)

disabling the iGPU (as someone in that thread pointed out, this is mental, it's like closing your eyes so you can hear better)

Kernel incompatibility (instructions to downgrade are here)

I will edit this post with progress.

Score:0
tr flag

Great success! Kernel v5.19.0-35 is known to have issues with audio over HDMI. I reverted to kervel v5.15.104, the latest LTS kernel in the v5 series, and everything works as expected. Under sound settings, clicking "test" produces audible sound over the speakers that are connected through HDMI, and playing a YouTube video produces sound through those as well. Here are the steps I took to downgrade the kernel, copied from the original post in case things change there:

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
chmod +x ubuntu-mainline-kernel.sh

# search and find your wanted version
ubuntu-mainline-kernel.sh -r | grep 5.13

# install that version kernel
ubuntu-mainline-kernel.sh -i v5.13.19

# get all menuentries
grep 'menuentry \|submenu ' /boot/grub/grub.cfg | cut -f2 -d "'"

# change the grub configuration
vi /etc/default/grub
from: GRUB_DEFAULT=0
to: GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.13.19-051319-generic"

# update grub
update-grub

# reboot
reboot now

# verify
uname -r

Please note, some of these commands required sudo. Also make the following 3 changes to match your desired kernel version:

  • "5.13" in the second step to the version you want (5.15 in my case)
  • "v5.13.19" in the 3rd step to the one you want from the output of step #2 (v5.15.104 in my case)
  • "5.13.19-051319-generic" from the 5th step to the exact entry from the output of step #4 that has your desired kernel version and that does NOT say recovery ("5.15.104-0515104-generic" in my case)

I find it deeply upsetting that a broken kernel would be forced onto the user, and a non-LTS one at that.

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.