Are there 2 cards present?
pactl list cards short
Are there 2 cards present?
pactl list cards short
returns just one…
0 alsa_card.pci-0000_06_00.6 module-alsa-card.c
and this?
sudo lspci -v -k | sed -n "/Audio/,/Kernel modules/p"
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
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)
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.
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.
optimus-manager --switch nvidia
all by itself?If you tell me now “By pressing the power button”, please read all of this:
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.
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
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
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.
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.
This worked in terms of bringing up the HDMI video on boot, but unfortunately didn’t make audio available.