NVidia HDMI not an option for audio output

Stop PipeWire instead of PulseAudio as PipeWire is quite new:

systemctl --user disable --now pipewire.socket && systemctl --user disable --now pipewire.service && systemctl --user mask pipewire.socket

(I’m on KDE and PulseAudio too and it works)

:crossed_fingers:

2 Likes

ok my idea about this:

Since the AMD GPU seems to be the main, and it is hardwired to the internal card, I would say only the internal Soundcard can be addressed, as long as you use the amdgpu as main.

If you need the Nivdia Soundcard for the HDMI output, which must be hardwired to the Nivdia GPU, you have to use the Nvidia Card as main somehow.

Maybe you can switch it with the optimus-manager? Since I have no laptop with a hybrid GPU I can not assist here.

1 Like

Did this and a reboot, no change unfortunately.

Post-reboot I found however that I still need to run optimus-manager --switch nvidia to regain HDMI output to my monitor.

Should I be setting this in a more persistent way somewhere that would perhaps detect HDMI audio as the system boots?

This is unrelated, but hybrid mode, too, should theoretically provide access to the outputs of the nvidia gpu.

Strange, confirmed HDMI video works in hybrid but couldn’t test audio as it effectively locks up the system to where the mouse moves max 2 frames per minute. Reproducible.

  • What does lock op the system? Playing audio or optimus-manager --switch nvidia all by itself?
  • How do you get out of the lock-up? Switching back or a REISUB?

If you tell me now “By pressing the power button”, please read all of this:

:scream:

optimus-manager --switch hybrid causes it, its not a “smother it with a pillow” hard lock, but unusable beyond getting back to terminal.

Reversion to --switch nvidia clears it up.

1 Like

@nikgnomic We need a pro here…

:+1:

There was a recent discussion about disabling a udev rule to allow use of HDMI audio with nvidia-prime
nVidia HDMI audio mhwd-prime-powermanagement.rules
Your system data shows the rule for 'NVIDIA Audio Devices` is already commented out and disabled

Main package for pipewire is now a required dependency of KDE
But pipewire.service and socket can be stopped as per @fabby’s post to continue using PulseAudio

The pulseaudio.service and socket cannot be stopped to use Pipewire
Additional Pipewire dependencies must be installed to replace PulseAudio packages for using Pipewire

If system is only detecting one card, the HDMI output(s) are probably supported by the onboard audio codec

I suggest you check if there are any Digital Output profiles available in

pavucontrol --tab=5

and check HDMI is not muted in ALSA controls

amixer --card=0
2 Likes

profiles available are “Play HiFi Quality Music” and “Off”

It’s on HiFi by default, if I change this to off the only output device is “Dummy Output”

ALSA output:

Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',4
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',5
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]

All 5 HDMI outputs shown as muted [off] in ALSA

I suggest you unmute all 5 outputs using

alsamixer --card=0

use and to select each output

M to toggle from muted [MM] to unmuted [OO]

and save ALSA settings so HDMI are not muted again when system restarted

sudo alsactl store
2 Likes

Unmuted and rebooted for good measure, unfortunately this didn’t reveal an HDMI audio device.

On boot I still have to manually do optimus-manager --switch nvidia once I get into KDE, should this be set a more persistent way such that the HDMI is available as the system is booting?

For that edit the file

/etc/optimus-manager/optimus-manager.conf

and in startup_mode should be

startup_mode=nvidia

Now everytime you boot the system it should have nvidia mode by default.

2 Likes

This file doesn’t exist, safe to create with just that value?

Yes it safe to create,it should be

[optimus]
startup_mode=nvidia

In case doesn’t work,you can use this as a template.

2 Likes

This worked in terms of bringing up the HDMI video on boot, but unfortunately didn’t make audio available.

Can you try on your TV with an HDMI from let’s say your DVD player instead of your monitor, please? (It’s starting to sound like a hardware problem…)

:thinking:

would this help?

My old Ubuntu system and a Windows system for work use it daily :confused:

perused through /lib/udev/rules.d/ but couldn’t make out anything relevant in either the nvidia or sound-card files.