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: lsmodThere 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 -knnSame output for “Multimedia audio controller” entry on working ubuntu-25 and non-working gentoo kernel 6.12 systemsThe 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
OpenPGP_0x57E64E0B7FC3BEDF.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature