NVidia HDMI not an option for audio output

Are there 2 cards present?

pactl list cards short

returns just one…

0 alsa_card.pci-0000_06_00.6 module-alsa-card.c

1 Like

and this?

sudo lspci -v -k | sed -n "/Audio/,/Kernel modules/p"
1 Like
01:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
        Subsystem: Hewlett-Packard Company Device 8786
        Flags: bus master, fast devsel, latency 0, IRQ 55, IOMMU group 10
        Memory at fc080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
06:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor (rev 01)
        Subsystem: Hewlett-Packard Company Device 8786
        Flags: bus master, fast devsel, latency 0, IRQ 82, IOMMU group 7
        Memory at fc580000 (32-bit, non-prefetchable) [size=256K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [64] Express Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Kernel driver in use: snd_rn_pci_acp3x
        Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x
06:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
        Subsystem: Hewlett-Packard Company Device 8786
        Flags: bus master, fast devsel, latency 0, IRQ 35, IOMMU group 7
        Memory at fc5c0000 (32-bit, non-prefetchable) [size=32K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [64] Express Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
2 Likes

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.