Hello Gentooers,
I could use some help getting sound to work on the above hardware.
Googling shows that there has been widespread difficulty with this
sound card on many distros. I haven't found a consensus on how to get
it to work. Some folks have resorted to blacklisting various sound
modules in modprobe.d. However, it does seem to work on Ubuntu,
specifically ubuntu-22.04 (which uses a 6.6 kernel) and ubuntu-25
(which uses a 6.14 kernel).
I did get sound to work on the 6.6 series of gentoo-sources by copying
things from ubuntu-22.04. Enabling SND_HDA_CODEC_HDMI was critical to
success as was using ubuntu's /etc/modprobe.d/alsa-base.conf.
When the 6.12 gentoo-sources arrived, I built a 6.12 kernel starting
with the working 6.6 gentoo-sources and doing a "make olddefconfig".
That's my usual kernel upgrade technique. But there's no sound. I have
read that sound has received a substantial reworking between the 6.6
and 6.12 kernel series.
On gentoo-sources-6.6.92, dmesg gives:
sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002) sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_exit [i915]) sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
Loading firmware: intel/sof/sof-rpl.ri
sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864 sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0 sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3
size 0x30
sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864 sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0 Loading firmware: intel/sof-tplg/sof-rpl-rt711-l0-rt1316-l12-rt714-l3.tplg sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI
3:23:0 sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for
HDMI converter 3
input: sof-soundwire Headset Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input10
input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input11
input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input12
input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input13
On gentoo-sources 6.12.31, dmesg gives:
sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002) sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_exit [i915]) sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4 sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4 sof-audio-pci-intel-tgl 0000:00:1f.3: BT link detected in NHLT tables: 0x4 sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 0 Loading firmware: intel/sof/sof-rpl.ri
Loading firmware: intel/sof-tplg/sof-rpl-rt711-l0-rt1316-l12-rt714-l3.tplg sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware file:
intel/sof/sof-rpl.ri sof-audio-pci-intel-tgl 0000:00:1f.3: Topology file: intel/sof-tplg/sof-rpl-rt711-l0-rt1316-l12-rt714-l3.tplg
Loading firmware: intel/sof/sof-rpl.ri
sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864 sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1 sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3
size 0x30
sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864 sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
I don't really know how to interpret the dmesg outputs, but it seems
that the 6.6.92 output indicates that it has identified several card0 devices. The 6.12.31 output is missing comparable output. This
difference is reflected in /proc/asound/cards.
In 6.6.92, /proc/asound/cards contains
0 [sofsoundwire ]: sof-soundwire - sof-soundwire
Intel Soundwire SOF
But in 6.12.31, /proc/asound/cards contains
--- no soundcards ---
I'm completely lost. Does anyone understand how to get modern Intel
sound to work on modern kernels?
Thanks in advance for any ideas!
John Blinka
On Thu, Jul 3, 2025 at 12:57 PM Michael <[email protected]> wrote:
and in particular boot with Ubuntu, or whichever liveUSB allows your audio to work and run:
lsmod
There are 39 modules whose names begin with “snd_” or “sound”. The list is
the same on the working ubuntu-25 and the non-working gentoo kernel 6.12 systems.
Finally, you can compare Ubuntu's output of 'zcat /proc/config.gz' with
the
audio modules you have enabled in your kernel and add what's relevant to your hardware.
There are a *lot* of audio modules in use according to lsmod. But they’re the same in both working ubuntu and non-working gentoo. It’s difficult to compare the working ubuntu config (based on a 6.14 kernel) and the non-working gentoo config (based in a 6.12 kernel). But I’m thinking that the identical lsmod output implies that the gentoo config supports the necessary hardware.
I appreciate your ideas!
I’ve noticed that using ubuntu’s /etc/modprobe.d/alsa-base.conf was crucial
to successful sound in gentoo with a 6.6 kernel. Given that I appear to be using the same kernel modules as ubuntu, and the same firmware and topology files, perhaps my problem lies in how modprobe.d operates? Unfortunately, I do not understand what ubuntu is doing with alsa-base.conf.
John Blinka
On Friday, 4 July 2025 14:44:35 British Summer Time John Blinka wrote:
On Thu, Jul 3, 2025 at 12:57 PM Michael <[email protected]> wrote:[snip ...]
and in particular boot with Ubuntu, or whichever liveUSB allows your audio
to work and run:
lsmod
There are 39 modules whose names begin with “snd_” or “sound”. The list is
the same on the working ubuntu-25 and the non-working gentoo kernel 6.12 systems.
OK, it seems your kernel is not missing any modules.
[snip ...]
Finally, you can compare Ubuntu's output of 'zcat /proc/config.gz' with the
audio modules you have enabled in your kernel and add what's relevant to your hardware.
There are a *lot* of audio modules in use according to lsmod. But they’re the same in both working ubuntu and non-working gentoo. It’s difficult to compare the working ubuntu config (based on a 6.14 kernel) and the non-working gentoo config (based in a 6.12 kernel). But I’m thinking that the identical lsmod output implies that the gentoo config supports the necessary hardware.
Yes, unless some drivers have been built in the kernel on one OS and not the other. Please note what Javier posted just now.
I appreciate your ideas!
You're welcome, but let's see if you can get your audio working first. :-)
I’ve noticed that using ubuntu’s /etc/modprobe.d/alsa-base.conf was crucial
to successful sound in gentoo with a 6.6 kernel. Given that I appear to be using the same kernel modules as ubuntu, and the same firmware and
topology
files, perhaps my problem lies in how modprobe.d operates? Unfortunately,
I
do not understand what ubuntu is doing with alsa-base.conf.
John Blinka
A file '/etc/modprobe.d/something.conf' can be set up to enable/disable options when loading different modules. You can check a available options for a module by running:
modinfo <module_name>
Ubuntu may have scripted generic options in there, but you'll need to
examine them or try them to see what they do.
Another thing to check is if your default audio card is switched over when the hardware is initialised by udev. Typically you may find the MoBo audio card takes over from the discrete audio card and vice versa. In this case
it could be HDMI works but nothing else does. You can declare which card
is set as the default, by e.g. changing the card index order:
options snd_hda_intel index=1,0
Again compare Ubuntu and Gentoo 'aplay -L' output to spot any differences.
HTH.
Javier and Michael,
Sorry to have gone silent for a while. Had houseguests and didn’t want to ignore them while burying myself in kernel configuration.
However, your combined suggestions have borne fruit. I turned on many
things in Gentoo’s 6.12 kernel that were present in Ubuntu’s 6.14 kernel,
and now sound works in Gentoo.
“Many things” is quite vague, I know. I did a diffconfig between Gentoo and
Ubuntu and mindlessly made Gentoo more like Ubuntu. Until the sheer tedium made me quit, compile a kernel, and reboot. It worked, but right now I have no idea why. I will gradually pare down the differences between my new working Gentoo 6.12 kernel configuration and the old nonworking Gentoo
kernel config until I’ve identified the changes that brought sound to life. And I’ll report back then.
I very much appreciate both of your suggestions and your willingness to help!!
John Blinka
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 26:14:43 |
| Calls: | 12,106 |
| Calls today: | 6 |
| Files: | 15,006 |
| Messages: | 6,518,193 |