Constant audio output changes lead to disruptive "Select Audio Device" OSD
https://askubuntu.com/questions/1567297/constant-audio-output-changes-lead-to-disruptive-select-audio-device-osd
I'm on the latest Ubuntu 26.04 fully patched and having audio issues.
What I think is going on is:
The snd_hda_intel driver seems to have a hard time reliably detecting my sound hardware
This results in Linux thinking that my sound hardware keeps changing
Which results in Ubuntu trying to keep up - with sometimes hundreds of changes per minute visible in the sound widget (top right corner of screen) and
Frequent On Screen Display (OSD) asking me to "Select Audio Device", which are blocking and disrupt whatever else I'm doing.
Here is what I can see in dmesg:
$ sudo dmesg | grep snd_hda
[ 22.065071] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 22.065086] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 22.282091] snd_hda_codec_alc269 hdaudioC0D0: ALC3226: picked fixup (pin match)
[ 22.282665] snd_hda_codec_alc269 hdaudioC0D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
[ 22.282671] snd_hda_codec_alc269 hdaudioC0D0: speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
[ 22.282673] snd_hda_codec_alc269 hdaudioC0D0: hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[ 22.282675] snd_hda_codec_alc269 hdaudioC0D0: mono: mono_out=0x0
[ 22.282676] snd_hda_codec_alc269 hdaudioC0D0: inputs:
[ 22.282677] snd_hda_codec_alc269 hdaudioC0D0: Internal Mic=0x12
[ 22.282679] snd_hda_codec_alc269 hdaudioC0D0: Front Mic=0x18
[ 22.282681] snd_hda_codec_alc269 hdaudioC0D0: Dock Mic=0x19
[ 22.282682] snd_hda_codec_alc269 hdaudioC0D0: Headset Mic=0x1a
[ 22.428525] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops nv50_audio_component_bind_ops [nouveau])
[ 37.254074] snd_hda_intel 0000:00:1b.0: azx_get_response timeout, switching to polling mode: last cmd=0x00270500
[ 38.255078] snd_hda_intel 0000:00:1b.0: No response from codec, disabling MSI: last cmd=0x00270500
[ 38.519998] snd_hda_codec_nvhdmi hdaudioC2D0: HDMI: pin NID 0x6 not registered
[ 39.256075] snd_hda_intel 0000:00:1b.0: azx_get_response timeout, switching to single_cmd mode: last cmd=0x00270500
[ 48.357998] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x270500
[ 48.358038] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x370500
[ 48.358079] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x670500
[ 48.358121] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x870500
[ 48.358163] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x970500
[ 48.358205] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1270500
[ 48.358246] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1370500
[ 48.358287] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1470500
[ 48.358329] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1570500
[ 48.358372] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1670500
[ 53.373626] snd_hdac_bus_update_rirb: 187 callbacks suppressed
[ 53.373633] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x270500
[ 53.373665] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x370500
[ 53.373708] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x670500
[ 53.373749] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x870500
[ 53.373792] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x970500
[ 53.373832] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1270500
[ 53.373873] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1370500
[ 53.373915] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1470500
[ 53.373958] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1570500
[ 53.373999] snd_hda_intel 0000:00:1b.0: spurious response 0x0:0x0, last cmd=0x1670500
[ 71.009964] snd_hdac_bus_update_rirb: 106 callbacks suppressed
dmesg is FULL of "spurious response" messages - hundreds and hundreds of them.
$ cat /proc/asound/card*/codec\#*|grep -i codec
Codec: Realtek ALC3226
Codec: Nvidia GPU 42 HDMI/DP
I have read How to disable 'Select Audio Device' popup when plugging in a device and installed the suggested GNOME plugin but it has made no difference. I am NOT plugging in a new device or changing anything when this behaviour happens. It happens when I'm reading my emails, or when the system is completely idle. I can't connect this behaviour to anything I do, as a user of the system.
Sometimes, this issue is not visible for an entire day - no OSD popup. Other times, it completely blocks my ability to use the system, as I get OSD popups every few seconds, making my system completely unusable.
Here is the start of dmesg that shows you the kind of hardware I'm on (an old Dell Precision M4800 laptop):
$ sudo dmesg | head -100
[ 0.000000] Linux version 7.0.0-15-generic (buildd@lcy02-amd64-048) (x86_64-linux-gnu-gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, GNU ld (GNU Binutils for Ubuntu) 2.46) #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 (Ubuntu 7.0.0-15.15-generic 7.0.0)
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-7.0.0-15-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Hygon HygonGenuine
[ 0.000000] Centaur CentaurHauls
[ 0.000000] zhaoxin Shanghai
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x00000000000913ff] System RAM
[ 0.000000] BIOS-e820: [mem 0x0000000000091400-0x000000000009ffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000000a0000-0x00000000000dffff]
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] device reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000c1922fff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000c1923000-0x00000000c1929fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000c192a000-0x00000000c2556fff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000c2557000-0x00000000c2a35fff] device reserved
[ 0.000000] BIOS-e820: [mem 0x00000000c2a36000-0x00000000cadb2fff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000cadb3000-0x00000000caffffff] device reserved
[ 0.000000] BIOS-e820: [mem 0x00000000cb000000-0x00000000cb756fff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000cb757000-0x00000000cb7fffff] device reserved
[ 0.000000] BIOS-e820: [mem 0x00000000cb800000-0x00000000cbf92fff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000cbf93000-0x00000000cbffffff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000cc000000-0x00000000cd6f5fff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000cd6f6000-0x00000000cd7fffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000cd800000-0x00000000cecdbfff] System RAM
[ 0.000000] BIOS-e820: [mem 0x00000000cecdc000-0x00000000ceffffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000cf000000-0x00000000f7ffffff]
[ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000fc000000-0x00000000febfffff]
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000fec01000-0x00000000fecfffff]
[ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000fed04000-0x00000000fed1bfff]
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000fed20000-0x00000000fedfffff]
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000fee01000-0x00000000feffffff]
[ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] device reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042dffffff] System RAM
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] APIC: Static calls initialized
[ 0.000000] SMBIOS 2.7 present.
[ 0.000000] DMI: Dell Inc. Precision M4800/0J0DMW, BIOS A26 06/13/2019
[ 0.000000] DMI: Memory slots populated: 2/4
[ 0.000000] tsc: Fast TSC calibration using PIT
[ 0.000000] tsc: Detected 2793.519 MHz processor
[ 0.001064] e820: update [mem 0x00000000-0x00000fff] System RAM ==> device reserved
[ 0.001066] e820: remove [mem 0x000a0000-0x000fffff] System RAM
[ 0.001075] last_pfn = 0x42e000 max_arch_pfn = 0x400000000
[ 0.001081] total RAM covered: 16352M
[ 0.001224] Found optimal setting for mtrr clean up
[ 0.001224] gran_size: 64K chunk_size: 64M num_reg: 8 lose cover RAM: 0G
[ 0.001228] MTRR map: 8 entries (5 fixed + 3 variable; max 25), built from 10 variable MTRRs
[ 0.001230] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT
[ 0.001614] e820: update [mem 0xd0000000-0xffffffff] System RAM ==> device reserved
[ 0.001618] last_pfn = 0xcecdc max_arch_pfn = 0x400000000
[ 0.008013] found SMP MP-table at [mem 0x000fda90-0x000fda9f]
[ 0.008027] Using GB pages for direct mapping
[ 0.008887] RAMDISK: [mem 0x330cd000-0x3585dfff]
[ 0.008891] ACPI: Early table checksum verification disabled
[ 0.008894] ACPI: RSDP 0x00000000000EF120 000024 (v02 DELL )
[ 0.008897] ACPI: XSDT 0x00000000CBFD3090 00009C (v01 DELL CBX3 01072009 AMI 00010013)
[ 0.008903] ACPI: FACP 0x00000000CBFE5070 00010C (v05 DELL CBX3 01072009 AMI 00010013)
[ 0.008908] ACPI: DSDT 0x00000000CBFD31B8 011EB1 (v02 DELL CBX3 00000014 INTL 20120711)
[ 0.008911] ACPI: FACS 0x00000000CD7FE080 000040
[ 0.008913] ACPI: APIC 0x00000000CBFE5180 000092 (v03 DELL CBX3 01072009 AMI 00010013)
[ 0.008916] ACPI: FPDT 0x00000000CBFE5218 000044 (v01 DELL CBX3 01072009 AMI 00010013)
[ 0.008918] ACPI: SLIC 0x00000000CBFE5260 000176 (v03 DELL CBX3 01072009 MSFT 00010013)
[ 0.008921] ACPI: LPIT 0x00000000CBFE53D8 00005C (v01 DELL CBX3 00000000 AMI. 00000005)
[ 0.008924] ACPI: SSDT 0x00000000CBFE5438 000228 (v01 INTEL sensrhub 00000000 INTL 20120711)
[ 0.008926] ACPI: SSDT 0x00000000CBFE5660 000160 (v01 Intel zpodd 00001000 INTL 20120711)
[ 0.008929] ACPI: SSDT 0x00000000CBFE57C0 000AD8 (v01 PmRef CpuPm 00003000 INTL 20120711)
[ 0.008932] ACPI: HPET 0x00000000CBFE6298 000038 (v01 DELL CBX3 01072009 AMI. 00000005)
[ 0.008934] ACPI: SSDT 0x00000000CBFE62D0 000447 (v01 SataRe SataTabl 00001000 INTL 20120711)
[ 0.008937] ACPI: MCFG 0x00000000CBFE6718 00003C (v01 DELL CBX3 01072009 MSFT 00000097)
[ 0.008940] ACPI: ASF! 0x00000000CBFE6758 0000A5 (v32 INTEL HCG 00000001 TFSM 000F4240)
[ 0.008942] ACPI: MSDM 0x00000000CBFE6800 000055 (v03 DELL CBX3 06222004 AMI 00010013)
[ 0.008945] ACPI: DMAR 0x00000000CBFE6858 000080 (v01 INTEL HSW 00000001 INTL 00000001)
[ 0.008948] ACPI: SSDT 0x00000000CBFE68D8 001E79 (v01 NvdRef NvdTabl 00001000 INTL 20120711)
[ 0.008950] ACPI: Reserving FACP table memory at [mem 0xcbfe5070-0xcbfe517b]
[ 0.008951] ACPI: Reserving DSDT table memory at [mem 0xcbfd31b8-0xcbfe5068]
[ 0.008952] ACPI: Reserving FACS table memory at [mem 0xcd7fe080-0xcd7fe0bf]
[ 0.008953] ACPI: Reserving APIC table memory at [mem 0xcbfe5180-0xcbfe5211]
Would very much appreciate any guidance on how to troubleshoot this, report this as a bug, or find workarounds that make my Ubuntu system reliably usable. If there is a way to disable the sound system completely when I don't need it, only to be re-enabled later, I'll happily use that as a short term workaround.
EDIT: A friend gave me the idea this may be a power management issue. It's true that this is an old laptop, and I do put it to sleep multiple times a day instead of powering off. So I thought let's explore the power management angle first. What I did was:
(1) Instruct the sound module to disable its power management features by creating this file: /etc/modprobe.d/audio-powersave.conf containing these instructions:
# Disable Intel HDA power management
options snd_hda_intel power_save=0
options snd_hda_intel power_save_controller=N
options snd_ac97_codec power_save=0
(2) Rebuilt the init ram filesystem to ensure these options are respected on boot:
sudo update-initramfs -u
(3) Reboot
(4) Check that power management of my sound driver is now off:
ubuntu:~$ cat /sys/module/snd_hda_intel/parameters/power_save
0
I am now keeping my fingers crossed, err I mean testing to see whether the bug will re-occur, and I'll report back.