On Thu, Jul 3, 2025 at 12:57 PM Michael <confabul...@kintzios.com> wrote:

> On Thursday, 3 July 2025 16:34:00 British Summer Time John Blinka wrote:
> > 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
>
> I don't have your hardware to compare notes, but I suggest you start with
> this:
>
> https://wiki.gentoo.org/wiki/ALSA


I’m familiar with this, and have used it extensively in the past, but it
doesn’t appear to be helpful with this problem. It doesn’t address
snd_soc_sof, which appears to be necessary for this hardware.

<https://wiki.gentoo.org/wiki/ALSA>
>
> 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.


> lscpci | grep -i audio


Same output on working ubuntu-25 and non-working gentoo kernel 6.12 systems.


> lspci -knn


Same output for “Multimedia audio controller” entry on working ubuntu-25
and non-working gentoo kernel 6.12 systems

>
>
> The above will give you a hint as to what drivers are required.  In
> addition,
> the output of dmesg will show any firmware your hardware needs.


Both working ubuntu-25 and non-working gentoo kernel 6.12 systems load the
same firmware and topology files.

  I expect you
> would need to emerge:
>
> media-sound/alsa-utils
> sys-firmware/sof-firmware


Already emerged these. And they’re up to date.

>
>
> 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

Reply via email to