Can't Get Sound Output through HDMI

I’m on CachyOS trying to screen mirror to my TV. I’ve got the display set, but can’t seem to find anything in “Sound” settings that allows me to switch the audio to the device connected via HDMI (my TV). This seems like a fairly basic thing that worked on LMDE. I’ve read through a few similar topics on here, but none of them ever seem to culminate in a solution.

My problem seems to be that the TV isn’t recognized by the Sound app, as there no HDMI/connected device options to select for the output.

Help appreciated.

So you are just mirroring via HDMI? What’s the output of xrandr?

Yes.

 xrandr
Screen 0: minimum 16 x 16, current 1924 x 1082, maximum 32767 x 32767
eDP-1 connected primary 1924x1082+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1924x1082     59.98*+
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.29  
   1680x1050     60.06  
   1440x900      60.03  
   1280x800      59.99  
   1152x720      59.97  
   960x600       59.96  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.14  
   1920x1080     60.05  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.27  
   640x350       59.28  
HDMI-A-1 connected 1920x1080+1+0 (normal left inverted right x axis y axis) 1096mm x 616mm
   1920x1080     59.96*+
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.29  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.97  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.14  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.27  
   640x350       59.28

In case it matters, I wasn’t attempting to play any audio when I ran this command.

Hm, so HDMI is properly detected. What about aplay -l? That should list all sound devices including HDMI outputs.

1 Like
❯ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC257 Analog [ALC257 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [V505-J09]
  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

Can you switch the Profile from “Analog Stereo Duplex” to “Pro Audio” and / or to the “HDMI” itself? (if CachyOS uses Pipewire.)

Personally I would prefer “Pro Audio” because it shows all channels (unfortunately even the unused) and you don’t have to switch back and forth.

1 Like

The devices are there, so it’s now the thing of your OS’s GUI… You could try playing sound via aplay using HDMI channels in CLI.

1 Like

Looks like to me, in this case, there is no dedicated Graphics card. only a iGPU?

And Pipewire has the tendency to hide other outputs when on the same card (as aplay shows everything on card0) within the profiles.

For example I have not only a Intel iGPU but also a Nvidia dGPU (card1 on aplay -l) and while that is listed/shown separately as it is a separate card, to switch between the different HDMI/DP outputs, with 2 (or more) Monitors I either have to switch the profile every time or switch to “Pro Audio” to have everything visible.

So the “Pro Audio” Profile should probably help here. No need to (only) playing HDMI sound from CLI.
And after figuring out what “Internal Audio Pro #” matches that HDMI it can be renamed accordingly.

1 Like

aplay was just for testing. Ofc once you identify the issue (and there is sound, although via CLI), you can resolve it via GUI.

1 Like

Sorry for the delay. It has pipewire installed, but it seems to be having issues. It won’t load when I click on it in applications, and I get this error in the terminal:

 pipewire
[E][16:44:11.497759] mod.protocol-native | [module-protocol-:  803 lock_socket()] server 0x5ceb6c4c1ef0: unable to lock lockfile '/run/user/1000/pipewire-0.lock': Resource temporarily unavailable (maybe another daemon is running)
[E][16:44:11.499664] pw.conf      | [          conf.c:  602 load_module()] 0x5ceb6c4a16f0: could not load mandatory module "libpipewire-module-protocol-native": Resource temporarily unavailable
[E][16:44:11.511450] default      | [      pipewire.c:  124 main()] failed to create context: Resource temporarily unavailable

I updated and rebooted my system afterwards, but still get the same error.

I’m not worried about it at this point, as I plan on going back to LMDE soon (for more reasons than this). CachyOS with Plasma has been surprisingly good, but LMDE does everything I need it to as a casual user. In the meantime, if I need sound while screen mirroring, I’ll just connect my headphones to my PC instead of playing audio through the connected device.

I sincerely appreciate the quick responses to help a stranger out @dusoft & @M.Karrde.

I also removed and reinstalled pipewire & its dependencies to no avail.

(Can’t edit my post for some reason, so new reply had to be made.)

If the Pipewire background service is responsible for Sound and not working I would have thought Audio would not work at all(?) but maybe there is enough fallback.
I don’t known enough about CachyOS for that, sorry, but that would probably be more CachyOS than KDE related.

And “Profile”, just right hand side on your screenshot where you clicked on Speakers, does not contain “Pro Audio” or “Digital Stereo (HDMI) output”, or something along those lines?

1 Like