Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Kernel & Hardware
  • Search

[SOLVED] Sound on Intel Lunar Lake RT 713 (Thinkpad X1C 13)

Kernel not recognizing your hardware? Problems with power management or PCMCIA? What hardware is compatible with Gentoo? See here. (Only for kernels supported by Gentoo.)
Post Reply
Advanced search
19 posts • Page 1 of 1
Author
Message
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

[SOLVED] Sound on Intel Lunar Lake RT 713 (Thinkpad X1C 13)

  • Quote

Post by nagmat84 » Tue Nov 04, 2025 7:11 pm

I am unable to get sound working on a Thinkpad X1 Carbon 13gen. The Thinkpad is based on the Lunar Lake Platform and according to the ThinkWiki the codec chip is a RealTek 713. So far the desktop environment reports "no audio devices found".

Which kernel option did I miss?

The Gentoo installation media does not recognize the sound system as the firmware files from the SOF firmware are missing (no surprise here). The pre-installed Ubuntu is able to play sound, so I can confirm that the Linux kernel supports sound on this platform in principle. I already checked all the modules which Ubuntu loads and ensured that my self-compiled kernel contains those as well. I checked that lspci, lsmod and dmesg are the same between Ubuntu and my self-compiled Gentoo kernel. From that perspective everything looks fine, but still I don't get sound with Gentoo. (Of course, lsmod only shows modules, if the respective kernel config is actually set to compile a module. lsmod doesn't help for things which are statically compiled into the Ubuntu kernel.)

So I guess, I might have missed some (more ore less) obvious kernel config. I have created to different kernel configs:
  • a "minimal" kernel config one which only includes what Ubuntu seems to use for my PC, and
  • a "full" kernel config where I enabled every sound-related kernel option as a module.
In both cases I had no luck. My dmesg output is both cases is

Code: Select all

# dmesg -t --color=always | egrep -i -e '((alsa)|(snd)|(sound)|(sof))'
Advanced Linux Sound Architecture Driver Initialized.
ALSA device list:
  No soundcards found.
sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops xe_exit [xe])
sof-audio-pci-intel-lnl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
Loading firmware: intel/sof-ipc4/lnl/sof-lnl.ri
Loading firmware: intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
Loading firmware: intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
Loading firmware: intel/sof-ipc4/lnl/sof-lnl-openmodules.ri
Loading firmware: intel/sof-ipc4/lnl/sof-lnl-debug.ri
sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.13.0.1
Hopefully someone can give me a pointer what I have missed. Thank you!
Last edited by nagmat84 on Mon Nov 10, 2025 7:50 pm, edited 1 time in total.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Tue Nov 04, 2025 9:47 pm

nagmat84 wrote:I am unable to get sound working on a Thinkpad X1 Carbon 13gen.
Do you have a new notebook? Last year in november you had a Thinkpad 12gen. ... were we managaged to get the sound working.

https://forums.gentoo.org/viewtopic-p-8 ... ml#8847599
nagmat84 wrote:The Gentoo installation media does not recognize the sound system as the firmware files from the SOF firmware are missing (no surprise here).
Have you booted our LiveCD (=my recommendation), or our Admin- or MinimalCD?

I ask because there are more possible reasons that Ubuntu works but not our LiveCD.

Your full kernel .config looks good ... you are using the newest 6.17.6 ... good ... but maybe you are really missing an option.

The option that is most often missing when sound problems occur (if all other sound modules are present) is CONFIG_SERIAL_MULTI_INSTANTIATE ->
https://wiki.gentoo.org/wiki/User:Pieti ... nstantiate

It could also be because a PINCTRL module is missing; this module is also required by other modules, such as i2c; it should be one of these three (activating all of them should not be a problem):

Code: Select all

# CONFIG_PINCTRL_ALDERLAKE is not set
# CONFIG_PINCTRL_METEORLAKE is not set
# CONFIG_PINCTRL_METEORPOINT is not set
This option is relatively new... and I don't think that's the reason... but if the previous two don't help, it's worth a try (but try the other two first):

Code: Select all

# CONFIG_FWCTL is not set
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Tue Nov 04, 2025 10:47 pm

pietinger wrote:Do you have a new notebook? Last year in november you had a Thinkpad 12gen. ... were we managaged to get the sound working.
You remember correctly.

I myself have been owning a Thinkpad X1C 3rd gen for 10years now. Last year I got a 12gen for one of my family members. And just a few weeks ago, the display on my own 3rd gen broke and got me a new 13gen. Unfortunately, the integrated camera of the 12gen (Intel Vision MIPI behind a Lattice IO expander) has never become functional. I hope I have better luck with the 13th gen. It seems as if the time when Thinkpad have been a sure bank fpr 100% Linux comparability are gone :( I also have problems to get the touchpad being recognized as a touchpad, currently it is identified as an ordinary mouse. But that is a problem for another day.
pietinger wrote:Have you booted our LiveCD (=my recommendation), or our Admin- or MinimalCD?
I tried the Minimal CD. No luck with that. I will try the LiveCD, tomorrow. It's getting late.
pietinger wrote:I ask because there are more possible reasons that Ubuntu works but not our LiveCD.
I cannot speak for the LiveCD, but I have a hunch that the pre-installed Ubuntu might have been modified by Lenovo as the kernel version string had the local extension "-oem" in it.
pietinger wrote:The option that is most often missing when sound problems occur (if all other sound modules are present) is CONFIG_SERIAL_MULTI_INSTANTIATE [...] It could also be because a PINCTRL module is missing; this module is also required by other modules, such as i2c; it should be one of these three (activating all of them should not be a problem):

Code: Select all

# CONFIG_PINCTRL_ALDERLAKE is not set
# CONFIG_PINCTRL_METEORLAKE is not set
# CONFIG_PINCTRL_METEORPOINT is not set
I am compiling a new kernel with all four settings being enabled. That is going to be the last thing for today.
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Tue Nov 04, 2025 11:20 pm

I tried all of the following kernel options together

Code: Select all

CONFIG_SERIAL_MULTI_INSTANTIATE
CONFIG_PINCTRL_ALDERLAKE
CONFIG_PINCTRL_METEORLAKE
CONFIG_PINCTRL_METEORPOINT
followed by an additional

Code: Select all

CONFIG_FWCTL
Didn't make a difference. Still no progress.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Tue Nov 04, 2025 11:22 pm

nagmat84 wrote:[...] It seems as if the time when Thinkpad have been a sure bank fpr 100% Linux comparability are gone :(
Yes, I sometimes think that too. :evil:

When I was still working, I also had two ThinkPads (company ones)... but those were still real IBM machines.
nagmat84 wrote:[...] I also have problems to get the touchpad being recognized as a touchpad, currently it is identified as an ordinary mouse. But that is a problem for another day.
That could really be due to the missing PINCTRL drivers.
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Thu Nov 06, 2025 5:21 pm

Sorry for the late response.
  • Gentoo Live CD: Touchpad is detected as a touchpad; sound doesn't work as firmware is missing.
  • Ubuntu Desktop 25.10: Everything works out of the box from the install/live CD
Good news is the Thinkpad X1 Carbon 13gen seems to be 100% Linux compatible. However, even after I have enabled some more modules in my kernel config, neither the touchpad nor the sound codec are detected. (The touchpad is still detected as a PS/2 mouse hence two-finger zoom/scrolling doesn't work.)

My kernel does not load the relevant modules automatically (elan_i2c, snd-soc-rt712-sdca). Even if I manually load them (modprobe), there is no further dmesg output and the modules simply sit there silently without doing anything. From my understanding, both devices are connected to the I2C bus. Hence, I have the hunch that both problems might be I2C-related. However, even after enabling even more I2C modules nothing has changed so far. I have additionally enabled the following kernel options

Code: Select all

# diff -u config-6.17.6.6-2025-11-04a-all-sound-modules .config | egrep -e '^\+CONFIG_.*=[my]'
+CONFIG_FWCTL=y
+CONFIG_MTD=m
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_SPI_NOR=m
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_ELAN_I2C=m
+CONFIG_MOUSE_ELAN_I2C_I2C=y
+CONFIG_MOUSE_ELAN_I2C_SMBUS=y
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_SOC_BUTTON_ARRAY=m
+CONFIG_RMI4_CORE=m
+CONFIG_RMI4_I2C=m
+CONFIG_RMI4_SPI=m
+CONFIG_RMI4_F03=y
+CONFIG_RMI4_F03_SERIO=m
+CONFIG_RMI4_2D_SENSOR=y
+CONFIG_RMI4_F11=y
+CONFIG_RMI4_F12=y
+CONFIG_RMI4_F1A=y
+CONFIG_RMI4_F21=y
+CONFIG_RMI4_F30=y
+CONFIG_RMI4_F34=y
+CONFIG_RMI4_F3A=y
+CONFIG_RMI4_F54=y
+CONFIG_RMI4_F55=y
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_CCGX_UCSI=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_I801_MUX=y
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_GPIO=m
+CONFIG_PINCTRL_ALDERLAKE=y
+CONFIG_PINCTRL_METEORLAKE=y
+CONFIG_PINCTRL_METEORPOINT=y
+CONFIG_PINCTRL_TIGERLAKE=y
+CONFIG_LPC_SCH=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_SERIAL_MULTI_INSTANTIATE=y
Still no luck with sound or touchpad.

Here is the output from Ubuntu. Maybe someone has a clever idea what I am missing:
  • Thinkpad X1C 13gen: Ubuntu 25.10 (6.17.0-5) - Kernel Config
  • Thinkpad X1C 13gen: Ubuntu 25.10 (6.17.0-5) - lsmod
  • Thinkpad X1C 13gen: Ubuntu 25.10 (6.17.0-5) - dmesg
  • Thinkpad X1C 13gen: Ubuntu 25.10 (6.17.0-5) - lspci
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Thu Nov 06, 2025 7:20 pm

We have two problems: 1. Sound and 2. Touchpad

1. Your sound does not work with the Gentoo LiveCD. This is a bad sign. Ubuntu may already have an active kernel patch that is still missing in the official sources. However, it could also be due to the UDEV settings (e.g., a specific module requires certain kernel module parameters). I can't look into it further at the moment... we may have to wait for newer kernel versions anyway.

2. We can get your touchpad to work because it also works with the GentooLiveCD.

In general, I would like to pass on something I learned from Neddy: The order of the modules in the "lsmod"-output corresponds exactly to the order in which these modules were loaded... in reverse order: The module in the last line was loaded first... then in ascending order up to the module in the first line, which was loaded last.

So if I remove all modules that have nothing to do with the touchpad, this list remains (PINCTRL was loaded first; MULTITOUCH is the module you need and was loaded at last):

Code: Select all

hid_multitouch         36864  0
hid_generic            12288  0
intel_lpss_pci         28672  0
intel_lpss             12288  1 intel_lpss_pci
i2c_hid_acpi           12288  0
i2c_hid                40960  1 i2c_hid_acpi
hid                   270336  5 i2c_hid,usbhid,hid_multitouch,snd_soc_sdca,hid_generic
wmi                    28672  6 video,lenovo_wmi_other,wmi_bmof,lenovo_wmi_capdata01,think_lmi,lenovo_wmi_helpers
pinctrl_intel_platform    12288  1
And yes, you have enabled all of these in your kernel configuration ... but ...

this line indicates that you have a Designware PCIe controller:

Code: Select all

input: SYNA802E:00 06CB:CFA8 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2-SYNA802E:00/0018:06CB:CFA8.0001/input/input9
Unfortunately, there are some options that are statically configured in the kernel (of Ubuntu, as well as ours):

Code: Select all

CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW_PLAT_EP=y
To get both, you must first enable this:

Code: Select all

CONFIG_PCI_ENDPOINT
In the end, you should have the same settings in your .config as Ubuntu:

Code: Select all

# DesignWare-based PCIe controllers
#
CONFIG_PCIE_DW=y
# CONFIG_PCIE_DW_DEBUGFS is not set
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_EP=y
# CONFIG_PCI_MESON is not set
CONFIG_PCIE_DW_PLAT=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW_PLAT_EP=y
# end of DesignWare-based PCIe controllers
(By the way, I was wrong about PINCTRL; you already had the correct module: CONFIG_PINCTRL_INTEL_PLATFORM)


Internal note (Ubuntu):

Code: Select all

smpboot: CPU0: Intel(R) Core(TM) Ultra 7 258V (family: 0x6, model: 0xbd, stepping: 0x1)
microcode: Current revision: 0x00000121

sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100

sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1

spl: loading out-of-tree module taints kernel.

sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.13.0.1
sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Thu Nov 06, 2025 8:13 pm

pietinger wrote: 1. Your sound does not work with the Gentoo LiveCD. This is a bad sign. Ubuntu may already have an active kernel patch that is still missing in the official sources. However, it could also be due to the UDEV settings (e.g., a specific module requires certain kernel module parameters). I can't look into it further at the moment... we may have to wait for newer kernel versions anyway.
Sound cannot work as the Live CD misses the necessary SOF firmware files. So I am unsure whether it is really a kernel problem. Is there a way to install sys-firmware/sof-firmware on the Live CD?
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Thu Nov 06, 2025 8:14 pm

Never mind. I just realized that I can use the Live CD kernel config to compile the Live CD kernel on my actual system and check again.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Thu Nov 06, 2025 8:15 pm

nagmat84 wrote:[...] Is there a way to install sys-firmware/sof-firmware on the Live CD?
I believe this is possible, but unfortunately I can't help as I don't have any knowledge about it. Perhaps an expert could jump in here?
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Fri Nov 07, 2025 7:46 pm

At least, I have been able to get a fully functional touchpad (with two-finger zoom and scrolling). Here is the link to my latest kernel config, in case anyone has the same laptop and wants to use it. Things which are still not working:
  • Sound (no devices found)
  • USB camera (V4L finds four cameras 2x USB, 2x PCI with low picture quality and high delay; however this might be a user-space problem)
Ubuntu:

Code: Select all

# egrep -i -e '(sound)|(snd)|(alsa)|(sof[-_])' dmesg.log
sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
sof-audio-pci-intel-lnl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.13.0.1
sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
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/input16
input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input17
input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input18
input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input19
Custom Gentoo kernel:

Code: Select all

# egrep -i -e '(sound)|(snd)|(alsa)|(sof[-_])' dmesg.log
Advanced Linux Sound Architecture Driver Initialized.
ALSA device list:
  No soundcards found.
sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops xe_exit [xe])
sof-audio-pci-intel-lnl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
Loading firmware: intel/sof-ipc4/lnl/sof-lnl.ri
Loading firmware: intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
Loading firmware: intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
Loading firmware: intel/sof-ipc4/lnl/sof-lnl-openmodules.ri
Loading firmware: intel/sof-ipc4/lnl/sof-lnl-debug.ri
sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.13.0.1
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Sat Nov 08, 2025 8:43 am

Interesting and good news: Sound works with the distribution kernel configuration. :D

I had to tweak the distribution kernel configuration from the installation medium a little bit to make it boot on my final system (static NVME support, support for systemd, ...), but I did not change anything related to sound. So the problem with the Live USB stick was really only the missing SOF firmware which is available on my actual system.

Here are the working configurations for the tweaked distribution kernel:
  • Gentoo Distribution Kernel 6.17.6 on Thinkpad X1C 13gen - Config
  • Gentoo Distribution Kernel 6.17.6 on Thinkpad X1C 13gen - Dmesg
  • Gentoo Distribution Kernel 6.17.6 on Thinkpad X1C 13gen - Loaded modules
Hence, the question is what is missing in my custom configuration that makes the difference.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Sat Nov 08, 2025 9:34 am

nagmat84 wrote:[...] Hence, the question is what is missing in my custom configuration that makes the difference.
IF lsmod of our dist-kernel shows the same modules as lsmod of your custom build THEN ... check all options of our dist-kernel which have been statically configured (of course many settings are not important because they have no influence to sound; e.g. networking, filesystem and security options; also Block Laver, Memory Management, Cryptographic and kernel hacking)

Another important thing about sound modules: Enable EVERY module for sound as <M>odule -OR- EVERY module as built-in ... but don't mix it. ;-)
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Sat Nov 08, 2025 9:59 am

pietinger wrote:THEN ... check all options of our dist-kernel which have been statically configured (of course many settings are not important because they have no influence to sound; e.g. networking, filesystem and security options; also Block Laver, Memory Management, Cryptographic and kernel hacking)
Easier said than done ;-) There are so many. I had hoped that someone with more experience than me might have an educated guess what the culprit could be. One thing which I still consider suspicious is that the distribution kernel list the inputs for mouse and touchpad twice while my custom kernel only shows them once. This still make me wonder if something I2C-related is missing.

Distribution kernel:

Code: Select all

$ egrep -e 'input:' dmesg.txt 
input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/input/input5
input: PixArt HP 320M USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/0003:0461:4141.0001/input/input6
input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7
input: Intel HID events as /devices/platform/INTC107B:00/input/input8
input: PC Speaker as /devices/platform/pcspkr/input/input9
input: SYNA802E:00 06CB:CFA8 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-SYNA802E:00/0018:06CB:CFA8.0002/input/input10
input: SYNA802E:00 06CB:CFA8 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-SYNA802E:00/0018:06CB:CFA8.0002/input/input11
input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input13
input: SYNA802E:00 06CB:CFA8 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-SYNA802E:00/0018:06CB:CFA8.0002/input/input14
input: SYNA802E:00 06CB:CFA8 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-SYNA802E:00/0018:06CB:CFA8.0002/input/input15
input: sof-soundwire Headset Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input17
input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input18
input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input19
input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input20
Custom kernel:

Code: Select all

$ egrep -e 'input:' dmesg.txt 
input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
input: SYNA802E:00 06CB:CFA8 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-SYNA802E:00/0018:06CB:CFA8.0001/input/input6
input: SYNA802E:00 06CB:CFA8 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-SYNA802E:00/0018:06CB:CFA8.0001/input/input7
input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/input/input5
input: PixArt HP 320M USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/0003:0461:4141.0002/input/input9
input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input10
input: Intel HID events as /devices/platform/INTC107B:00/input/input11
input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input12
Obviously, the sound-related inputs are missing, but the double entries for "SYNA802E" are missing, too.
pietinger wrote:Another important thing about sound modules: Enable EVERY module for sound as <M>odule -OR- EVERY module as built-in ... but don't mix it. ;-)
I will check this out first.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Sat Nov 08, 2025 10:16 am

nagmat84 wrote:[...] I had hoped that someone with more experience than me might have an educated guess what the culprit could be. [...]
I only know CONFIG_SERIAL_MULTI_INSTANTIATE ... we learned the "hard way" ... the first user with a sound problem here in our forum did the same as I suggested to you.

Of course I know SOME options which are needed like LPSS, MEI_ME, SOUNDWIRE (and sometimes even SPI) ... but ... these you have all enabled.

So, if you have the same modules in lsmod AND the same firmware files it should be a missing statically setting.
nagmat84 wrote:[...] One thing which I still consider suspicious is that the distribution kernel list the inputs for mouse and touchpad twice while my custom kernel only shows them once. This still make me wonder if something I2C-related is missing.
I guess this is because our dist-kernel has many modules for input (and some of them are built-in) ... I dont think it is related to your sound problem ... you will get the same list with your custom kernel when you also enable the same input modules ... but again: I dont think this will help with the sound problem.
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Sun Nov 09, 2025 8:37 pm

I have finally been able to create a custom kernel configuration for the Thinkpad X1 Carbon 13th Gen with working sound. :D For all which need it, here it is
  • Gentoo Kernel 6.17.7 for Thinkpad X1C 13th Gen - Config
  • Gentoo Kernel 6.17.7 for Thinkpad X1C 13th Gen - Dmesg output
Unfortunately, the current kernel Kconfig contains some "blemishes" (or bugs, but I don't want to call them like that). Due to that one needs to select certain kernel options and compile modules which are actually neither necessary nor loaded, but the corresponding kernel option builds a helper library for some other module, too, which is actually necessary and won't work without the helper library. In the following I distinguish between required kernel options (for future reference) and selected kernel options.

First the option which are actually required:

Code: Select all

CONFIG_SOUND
  CONFIG_SND
    CONFIG_SND_HDA_GENERIC                         builds a parser for codecs (required to make Realtek 712 working)
    SND_HDA_GENERIC_LEDS                           necessary to drive the indicator LED for mute (LED built into the <Fn>+<F4> key)
    CONFIG_SND_HDA_CODEC_HDMI                      necessary for sound over HDMI
      CONFIG_SND_HDA_CODEC_HDMI_INTEL              see above
    CONFIG_SND_SOC
      CONFIG_SND_SOC_INTEL_MACH
        CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH    make Reateak 712 (see below) also support Realtek 713
      CONFIG_SND_SOC_SOF_TOPLEVEL
        CONFIG_SND_SOC_SOF_PCI                     as the help text suggests, necessary to enumerate PCI devices
        CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL
          CONFIG_SND_SOC_SOF_LUNARLAKE             nomen est omen, necessary for Lunar Lake based systems
          CONFIG_SND_SOC_SOF_HDA_LINK
            CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC     required for sound over HDMI
          CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE       the Realtek Codec is connected via Sound Wire
            CONFIG_SND_SOC_DMIC                    required for the microphone
            SND_SOC_RT712_SDCA_SDW                 required for the Realtek 712/713 connected to Sound Wire

So here are the catches:
  • One cannot select CONFIG_SND_HDA_GENERIC directly. It builds a helper library and there are many other Realtek Codecs which select CONFIG_SND_HDA_GENERIC, but unfortunately SND_SOC_RT712_SDCA_SDW does not so. Hence, one need to build some other arbitrary (and unnecessary) Realtek Codec which happens to select CONFIG_SND_HDA_GENERIC. Some holds for SND_HDA_GENERIC_LEDS. However, without SND_HDA_GENERIC_LEDS one still gets working sound, only the LED indicator won't light up.
  • The option "CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH" is only available if one selects "CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES", too. Unfortunately, the help text for CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES does not say anything about that and even discourage to select it.
  • (That is really only a blemish): If one selects CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH a lot (I mean a lot) of other codecs besides SND_SOC_RT712_SDCA_SDW are forcefully selected, even though those codecs are not relevant. In this aspect, CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH shows a different behavior than CONFIG_SND_HDA_CODEC_REALTEK (see below) which allows one to select each codec individually.
This is what one needs to select to get a working configuration:

Code: Select all

CONFIG_SOUND
  CONFIG_SND
    CONFIG_SND_HDA_CODEC_REALTEK                       just enable it to enable the menu for any of the "traditional" Realtek Codecs
      CONFIG_SND_HDA_CODEC_ALC260                      select ALC260 or any other codec (it doesn't matter which one).
                                                       We only need any of the tradtional Realtek Codecs to enable CONFIG_SND_HDA_GENERIC
                                                       and SND_HDA_GENERIC_LEDS
    CONFIG_SND_HDA_CODEC_HDMI
      CONFIG_SND_HDA_CODEC_HDMI_GENERIC
      CONFIG_SND_HDA_CODEC_HDMI_INTEL
    CONFIG_SND_SOC
      CONFIG_SND_SOC_INTEL_MACH
        CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES  mandatory to make next option available, help text is totally misleading
        CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH        this is required to make the Realtek 712 driver also support Realtek 713
      CONFIG_SND_SOC_SOF_TOPLEVEL
        CONFIG_SND_SOC_SOF_PCI
        CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL
          CONFIG_SND_SOC_SOF_LUNARLAKE
          CONFIG_SND_SOC_SOF_HDA_LINK
            CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC
          CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE
            CONFIG_SND_SOC_DMIC                        is already implicitly selected among a lot of other irrelevant codecs
            SND_SOC_RT712_SDCA_SDW                     is already implicitly selected among a lot of other irrelevant codecs
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Sun Nov 09, 2025 11:48 pm

First of all: Great job ... I will surely link to it. :D

... but ... are your sure with this? ->
nagmat84 wrote:One cannot select CONFIG_SND_HDA_GENERIC directly. It builds a helper library and there are many other Realtek Codecs which select CONFIG_SND_HDA_GENERIC, but unfortunately SND_SOC_RT712_SDCA_SDW does not so. Hence, one need to build some other arbitrary (and unnecessary) Realtek Codec which happens to select CONFIG_SND_HDA_GENERIC.
I recreated your configuration and ...

Code: Select all

CONFIG_SND_HDA_GENERIC
Depends on: SOUND [=y] && SND [=y] && SND_HDA [=y]
So, I guess it was the missing SND_HDA, right?

Now I start from below:

Code: Select all

Symbol: SND_SOC_SOF_LUNARLAKE [=y]
Depends on: SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_PCI [=y]
Selects: SND_SOC_SOF_INTEL_LNL [=y]
This you have of course because SND_SOC_SOF_INTEL_LNL is the most important module. And this should select (together with other modules; you have also):

Code: Select all

Symbol: SND_SOC_SOF_HDA_GENERIC [=y]
Depends on: SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_PCI [=y]
Selects: SND_SOC_SOF_HDA_COMMON [=y] && SND_SOC_SOF_INTEL_COMMON [=y] && SND_SOC_SOF_PCI_DEV [=y] && SND_INTEL_DSP_CONFIG [=y] && SND_SOC_SOF_HDA_LINK_BASELINE [=y] && SND_SOC_SOF_HDA_PROBES [=y] && SND_SOC_SOF_HDA_MLINK [=y]
Selected by [y]:
- SND_SOC_SOF_INTEL_LNL [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_PCI [=y]
Now we have SND_SOC_SOF_HDA_GENERIC and this selects:

Code: Select all

Symbol: SND_SOC_SOF_HDA_LINK_BASELINE [=y]
Selects: SND_SOC_SOF_HDA [=y]
Selected by [y]:
- SND_SOC_SOF_HDA_GENERIC [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_PCI [=y]
and this selects:

Code: Select all

Symbol: SND_SOC_SOF_HDA [=y]
Selects: SND_HDA_EXT_CORE [=y] && SND_SOC_HDAC_HDA [=y]
Selected by [y]:
- SND_SOC_SOF_HDA_LINK_BASELINE [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_PCI [=y] && SND_SOC_SOF_HDA_LINK [=y]
and this selects:

Code: Select all

Symbol: SND_SOC_HDAC_HDA [=y]
Selects: SND_HDA [=y]
Selected by [y]:
- SND_SOC_SOF_HDA [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_PCI [=y] && SND_SOC_SOF_HDA_AUDIO_CODEC [=y]
and at the end this selects:

Code: Select all

Symbol: SND_HDA [=y]
Selected by [y]:
- SND_SOC_HDAC_HDA [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y]
which should give you the choice to enable CONFIG_SND_HDA_GENERIC.
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
nagmat84
Guru
Guru
Posts: 325
Joined: Tue Mar 27, 2007 7:31 pm

  • Quote

Post by nagmat84 » Mon Nov 10, 2025 8:20 pm

pietinger wrote:First of all: Great job ... I will surely link to it. :D
So, I guess it was the missing SND_HDA, right?
Not alone, SND_HDA had been missing, too, but there were other things missing as well. So let me explain it in more details. The Thinkpad X1C has a Realtek 713 which is supported by the Realteak 712 driver. But, there are some traps.

Code: Select all

<*> Device Drivers --->
     <*> Sound Card Support (SOUND) --->
          <*> Advanced Linux Sound Architecture (SND) --->
               <*> HD Audio --->
                    SND_HDA_GENERIC_LEDS       // This option cannot be selected manually
                    SND_HDA_CODEC_REALTEK_LIB  // This option cannot be selected manually
                    <M> Realtek HD-audio codec support (SND_HDA_CODEC_REALTEK) --->
                         <M> Build Realtek ALC260 HD-audio codec support (SND_HDA_CODEC_ALC260)
                         < > Build Realtek ALC262 HD-audio codec support (SND_HDA_CODEC_ALC262)
                         < > Build Realtek ALC268 HD-audio codec support (SND_HDA_CODEC_ALC268)
                         < > Build Realtek ALC269 HD-audio codec support (SND_HDA_CODEC_ALC269)
                         < > Build Realtek ALC662 HD-audio codec support (SND_HDA_CODEC_ALC662)
                         < > Build Realtek ALC680 HD-audio codec support (SND_HDA_CODEC_ALC680)
                         < > Build Realtek ALC861 HD-audio codec support (SND_HDA_CODEC_ALC861)
                         < > Build Realtek ALC861-VD HD-audio codec support (SND_HDA_CODEC_ALC861_VD)
                         < > Build Realtek ALC880 HD-audio codec support (SND_HDA_CODEC_ALC880)
                         < > Build Realtek ALC882 HD-audio codec support (SND_HDA_CODEC_ALC882)
               <*> ALSA for SoC audio support (SND_SOC) --->
                    CODEC Drivers --->
                     <M> Realtek RT712 SDCA Codec - SDW (SND_SOC_RT712_SDCA_SDW)
Actually, one only needs "Realtek RT712 SCDA Codec - SDW (SND_SOC_RT712_SDCA_SDW)" which happens to be a Realtek Codec like the "traditional" Realtek codecs below "Realtek HD-audio codec support". I coined the term "traditional" codecs, because I have no better name for those codecs. Like the "traditional" codecs, the RT712 only works, if SND_HDA_CODEC_REALTEK_LIB is selected as well. However, one cannot select that option manually. The help text for "SND_HDA_CODEC_REALTEK_LIB" is

Code: Select all

Selected by [m]:                                                                                                                                                                                                                                                                     
  - SND_HDA_CODEC_ALC260 [=m] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]
Selected by [n]:                                                                                                                                                                                                                                                                     
  - SND_HDA_CODEC_ALC260 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                 
  - SND_HDA_CODEC_ALC262 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC268 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC269 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC662 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC680 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC861 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC861VD [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                
  - SND_HDA_CODEC_ALC880 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]                                                                                                                                                                  
  - SND_HDA_CODEC_ALC882 [=n] && SOUND [=y] && SND [=y] && SND_HDA [=m] && SND_HDA_CODEC_REALTEK [=m] && INPUT [=y]
The only option to get SND_HDA_CODEC_REALTEK_LIB is to select any of the 10 traditional codecs even though you don't need them. That is also the reason why the Ubuntu and Gentoo Live Kernel worked and my custom kernel did not despite the fact that both loaded the same modules. "SND_HDA_CODEC_REALTEK_LIB" is not an independent module, so you don't see it. It only enables some static code in the kernel. As Ubuntu and the Gentoo Live kernel ship with all modules, the "library code" is included in the kernel. "rt_alc260.ko" is never loaded, because the Thinkpad has no RT260. rt712.ko is loaded, but only works if that library is available, too.

If I had to guess: This is an oversight by the kernel developers. Because the Realtek codecs for SoCs are put into a different sub-menu, they overlooked that dependency with SND_HDA_CODEC_REALTEK_LIB.

The other issue is of similar nature.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Mon Nov 10, 2025 9:12 pm

nagmat84 wrote:The only option to get SND_HDA_CODEC_REALTEK_LIB is [...]

If I had to guess: This is an oversight by the kernel developers. Because the Realtek codecs for SoCs are put into a different sub-menu, they overlooked that dependency with SND_HDA_CODEC_REALTEK_LIB.
Okay, now I understand the true problem ... and yes, in this case I also think this is a bug ... and you really should file a report at https://bugzilla.kernel.org/

(If you do it, can you add a link in this thread?)

P.S.: Please mention it was in 6.17 (because they could think it is a 6.18 problem only; SND_HDA_CODEC_REALTEK_LIB exist since 6.17)
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
Post Reply

19 posts • Page 1 of 1

Return to “Kernel & Hardware”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy