For example:

under Sound Open Firmware support in kernel config

if SND_SOC_SOF_CANNONLAKE and SND_SOC_SOF_HDA_LINK (NEW) are enabled
in 6.12

El 4/7/25 a las 15:44, John Blinka escribió:


On Thu, Jul 3, 2025 at 12:57 PM Michael <confabul...@kintzios.com <mailto: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 <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

Attachment: OpenPGP_0x57E64E0B7FC3BEDF.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to