How do I blacklist a device itself in Ubuntu, not it's kernel module?

I am using Kubuntu 20.04. This computer has an internal sound card (PCIX) and my display monitor has a sound device via HDMI. My sound equipment is attached to the internal sound card so it is preferred over the display monitor sound device which is a very poor quality.

In the Audio system settings module I have disabled the display sound device. When I boot into Kubuntu all is well and my internal sound card works as it should. After a while at random and especially if the monitor goes to sleep, the display sound device will re-enable itself on it's own, and it will show up as a second device in the system volume control. When this happens, no matter what I do (and I've tried quite a bit) my internal sound card won't operate anymore unless I re-disable the display sound device in the Audio system settings module and reboot (logout is insufficient).

I believe what is happening is that the display is deciding to re-initializing it's sound device (perhaps when waking from sleep) which in turn causes Kubuntu to disassociate the disabled setting with the newly detected (though identical) sound device thus defaulting to enabled. But the underlying problem in my opinion is that subsequently both sound devices seem to share the exact same kernel module.

lspci -v

01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
        Subsystem: eVga.com. Corp. GP104 High Definition Audio Controller
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at df080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
 
03:00.0 Audio device: Creative Labs Sound Core3D [Sound Blaster Recon3D / Z-Series] (rev 01)
        Subsystem: Creative Labs SB1570 SB Audigy Fx
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at df304000 (64-bit, non-prefetchable) [size=16K]
        Memory at df300000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

I am interested in blacklisting GP104, but my limited research has shown that only kernel drivers can be blacklisted. That would be counterproductive in this case since it would also disable my desired sound device SB1570.

Any help would be appreciated.


There is a sub-component used in this setup: 1 of them is using index=0 and the other is using index=1. You need to set

options snd_hda_intel index=1

(or 0) in the configuration file (/etc/modprobe.d/alsa-base.conf).