-
Notifications
You must be signed in to change notification settings - Fork 349
Description
Describe the bug
This is a very strange issue and I will be honest, I am not the most well versed in audio firmware and am completely stumped as to what could be causing it, but I will try my best to explain it here in a useful way.
I have an MSI GE-76 Raider 11UG laptop equipped with a Realtek ALC298 audio chip (shown as "Tiger Lake-H HD Audio Controller" in pavucontrol). Whenever I use the built-in laptop speakers, the first exactly 0.6 seconds of audio are cut off, whenever sound playback transitions from an inaudible (<= -87.375 dB) to an audible level. This occurs regardless of whether the sink is idle or running prior to the transition, and only on the built-in speakers. Wired headphones plugged into the same audio card do not experience this issue.
This occurs regardless of how playback is performed (JACK, Pipewire, Pulseaudio, direct to ALSA) and causes intermittent audio cuts at low volumes, as well as silencing notification and system sounds shorter than 0.6 seconds in length.
Interestingly, when the transition is from suspended to running, rather than idle/running to running, the cutoff is reduced to between 0.1 and 0.4 seconds, but varies arbitrarily within this range across multiple tests and is never fully eliminated.
The speaker-test command and cinnamon-settings sound panel seem to suffer particularly degraded performance beyond the typical 0.6 second cut, sometimes playing nothing back at all and usually varying extremely in the duration of audio cuts up to nearly 2 seconds.
Additionally, certain strange behaviors are exhibited when white noise is played right around the -87.375 dB cutoff. When this happens, other audio streams sometimes start playing back much quieter than they should, fading in instead of a hard cut, or exhibiting no cutoff at all, seemingly at random. Louder noise fixes the cutoff, while softer noise has no effect whatsoever.
Fixes/workarounds that I have tried but had no effect include:
- Switching playback methods (web browser, system sounds, speaker test, SoX, aplay)
- Installing the latest SOF firmware directly from GitHub to replace the outdated firmware distributed by Mint
- Upgrading from kernel 6.14.0 to mainline 6.18.1
- Disabling auto-mute in alsamixer
Fixes/workarounds that I have tried but worsened the problem:
- Disabling sink suspension entirely (ensured maximum cutoff of 0.6 seconds every single time)
Fixes/workarounds that I have tried that improved but did not fix the problem:
- Forcing sinks to immediately suspend upon idling (minor improvement)
- Leaving something audibly playing through the internal speakers at all times (works but is far from ideal)
Note that this issue does not occur on Windows 10/11, so I am relatively certain that it is not a hardware issue with my device. There do not appear to be any errors in the logs that I can find.
To Reproduce
- Play audio in any way through the internal speakers
- Observe the very beginning being cut off
Reproduction Rate
All the time.
Expected behavior
Audio playback is not cut off.
Impact
Annoyance, missed notifications, random audio cuts when listening at low volumes.
Environment
- Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
- Kernel: Ubuntu Mainline v6.18.1 (25442251cbda7590d87d8203a8dc1ddf2c93de61)
- SOF: v2.14.1 (06e0752)
- Name of the topology file
- Topology: sof-hda-generic-2ch
- sof-audio-pci-intel-tgl / skl_hda_dsp_generic
- Topology: sof-hda-generic-2ch
- Name of the platform(s) on which the bug is observed.
- Platform: Linux Mint 22.2 Cinnamon
Screenshots or console output
[ 3.043700] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 3.043875] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 3.045826] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 3.059165] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 1
[ 3.059167] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 3.059168] sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[ 3.059169] sof-audio-pci-intel-tgl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[ 3.059171] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 3.061216] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
[ 3.061218] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware file: intel/sof/sof-tgl-h.ri
[ 3.061219] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology file: intel/sof-tplg/sof-hda-generic-2ch.tplg
[ 3.061520] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 3.061521] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
[ 3.147823] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 3.147826] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
[ 3.206973] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:1
[ 3.255759] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input22
[ 3.255792] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input23