• Kernel Building

    From Distro Lackey@dl@lackey.com to comp.os.linux.advocacy,comp.os.linux.misc on Thu May 14 20:36:10 2026
    From Newsgroup: comp.os.linux.misc

    Note: To those that can only rely on a distro, this post is not
    for you.

    How does one configure the kernel to utilize the Intel Comet
    Lake PCH cAVS onboard audio device?

    An exhaustive search reveals absolutely no information. The only
    recourse is therefore to enable the audio device and allow a "live"
    distro to, hopefully, report the appropriate kernel modules.

    I chose a Gentoo Live USB distro. After booting I executed the
    command:

    lsmod | grep sound

    snd_seq_dummy 12288 0
    snd_hrtimer 12288 1
    snd_seq 126976 7 snd_seq_dummy
    snd_seq_device 12288 1 snd_seq
    snd_sof_pci_intel_cnl 24576 0
    snd_sof_intel_hda_generic 36864 1 snd_sof_pci_intel_cnl
    soundwire_intel 81920 1 snd_sof_intel_hda_generic snd_sof_intel_hda_sdw_bpt 20480 1 soundwire_intel
    snd_sof_intel_hda_common 176128 3 snd_sof_intel_hda_sdw_bpt,snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl
    snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common snd_sof_intel_hda_mlink 40960 4 snd_sof_intel_hda_sdw_bpt,soundwire_intel,snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_sof_intel_hda 20480 2 snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_sof_pci 20480 2 snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_generic
    snd_sof 425984 6 snd_sof_intel_hda_sdw_bpt,snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_hda_generic,snd_sof_intel_hda,snd_sof_pci_intel_cnl
    snd_sof_utils 16384 1 snd_sof
    snd_soc_acpi_intel_match 122880 2 snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl
    snd_soc_acpi_intel_sdca_quirks 12288 1 snd_soc_acpi_intel_match snd_soc_sdw_utils 126976 1 snd_sof_intel_hda_generic
    snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_generic
    soundwire_bus 1179648 4 soundwire_intel,snd_soc_sdw_utils,soundwire_generic_allocation,soundwire_cadence
    snd_soc_sdca 122880 2 snd_soc_acpi_intel_sdca_quirks,soundwire_bus snd_hda_codec_alc882 16384 1
    snd_hda_codec_realtek_lib 57344 1 snd_hda_codec_alc882 snd_hda_codec_generic 122880 2 snd_hda_codec_realtek_lib,snd_hda_codec_alc882
    snd_hda_codec_nvhdmi 16384 1
    snd_soc_avs 237568 0
    snd_hda_codec_hdmi 57344 1 snd_hda_codec_nvhdmi
    snd_hda_intel 61440 2
    snd_soc_hda_codec 24576 1 snd_soc_avs
    snd_hda_ext_core 32768 7 snd_sof_intel_hda_sdw_bpt,snd_soc_avs,snd_soc_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda
    snd_hda_codec 200704 10 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_codec_nvhdmi,snd_hda_codec_realtek_lib,snd_soc_hdac_hda,snd_hda_codec_alc882,snd_sof_intel_hda
    snd_soc_core 413696 8 snd_soc_avs,snd_soc_hda_codec,soundwire_intel,snd_sof,snd_soc_sdca,snd_sof_intel_hda_common,snd_soc_sdw_utils,snd_soc_hdac_hda
    snd_hda_core 135168 11 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_hda_codec_realtek_lib,snd_soc_hdac_hda,snd_sof_intel_hda
    snd_intel_dspcfg 45056 5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_compress 28672 2 snd_soc_avs,snd_soc_core
    snd_intel_sdw_acpi 16384 2 snd_intel_dspcfg,snd_sof_intel_hda_generic ac97_bus 12288 1 snd_soc_core
    snd_hwdep 20480 1 snd_hda_codec
    snd_pcm_dmaengine 20480 1 snd_soc_core
    snd_pcm 188416 14 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_soc_sdca,snd_sof_intel_hda_common,snd_compress,snd_sof_intel_hda_generic,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
    snd_timer 49152 3 snd_seq,snd_hrtimer,snd_pcm
    snd 135168 21 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_sof,snd_soc_sdca,snd_timer,snd_hda_codec_realtek_lib,snd_compress,snd_soc_sdw_utils,snd_soc_core,snd_pcm
    soundcore 12288 1 snd


    Holy godzilla mutherfuckers! All this just to get audio?!?!?!

    But lspci, I believe, narrowed things down a bit:

    lspci -k

    00:1f.3 Audio device: Intel Corporation Comet Lake PCH cAVS
    DeviceName: Onboard - Sound
    Subsystem: Gigabyte Technology Co., Ltd Device a0c3
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_soc_avs, snd_sof_pci_intel_cnl, snd_hda_intel


    Now, the question is how to configure these three modules and will
    the configuration produce all of the mess above.

    Probably the only website devoted to kernel configuration has
    the answer:

    <https://www.kernelconfig.io/index.html>

    Just do a search for each module and note the configuration
    path.

    But that's not all. The kernel boot log shows this:

    [ 11.317341] snd_hda_codec_alc882 hdaudioC0D0: autoconfig for ALC1220: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
    [ 11.317344] snd_hda_codec_alc882 hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
    [ 11.317346] snd_hda_codec_alc882 hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
    [ 11.317347] snd_hda_codec_alc882 hdaudioC0D0: mono: mono_out=0x0
    [ 11.317348] snd_hda_codec_alc882 hdaudioC0D0: dig-out=0x1e/0x0
    [ 11.317349] snd_hda_codec_alc882 hdaudioC0D0: inputs:
    [ 11.317349] snd_hda_codec_alc882 hdaudioC0D0: Rear Mic=0x18
    [ 11.317350] snd_hda_codec_alc882 hdaudioC0D0: Front Mic=0x19
    [ 11.317351] snd_hda_codec_alc882 hdaudioC0D0: Line=0x1a

    The motherboard manual indeed shows that a Realtek ALC1220
    is present, but the kernel log shows that this is somehow
    mapped to a Realtek ALC882.

    What is going on here? For lack of further info I must
    therefore use a Realtek ALC882 (the ALC1220 does not occur
    in the config parameters).

    Configuring a kernel is becoming more and more difficult
    due to a LACK OF INFORMATION.

    If anyone can provide better info, which I seriously doubt, then
    please do so.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Joel W. Crump@joelcrump@gmail.com to comp.os.linux.advocacy,comp.os.linux.misc on Thu May 14 17:07:41 2026
    From Newsgroup: comp.os.linux.misc

    On 5/14/2026 4:36 PM, Distro Lackey wrote:

    Note: To those that can only rely on a distro, this post is not
    for you.

    How does one configure the kernel to utilize the Intel Comet
    Lake PCH cAVS onboard audio device?

    An exhaustive search reveals absolutely no information. The only
    recourse is therefore to enable the audio device and allow a "live"
    distro to, hopefully, report the appropriate kernel modules.

    I chose a Gentoo Live USB distro. After booting I executed the
    command:

    lsmod | grep sound

    snd_seq_dummy 12288 0
    snd_hrtimer 12288 1
    snd_seq 126976 7 snd_seq_dummy
    snd_seq_device 12288 1 snd_seq
    snd_sof_pci_intel_cnl 24576 0
    snd_sof_intel_hda_generic 36864 1 snd_sof_pci_intel_cnl
    soundwire_intel 81920 1 snd_sof_intel_hda_generic snd_sof_intel_hda_sdw_bpt 20480 1 soundwire_intel snd_sof_intel_hda_common 176128 3 snd_sof_intel_hda_sdw_bpt,snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl
    snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common snd_sof_intel_hda_mlink 40960 4 snd_sof_intel_hda_sdw_bpt,soundwire_intel,snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_sof_intel_hda 20480 2 snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_sof_pci 20480 2 snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl
    snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_generic
    snd_sof 425984 6 snd_sof_intel_hda_sdw_bpt,snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_hda_generic,snd_sof_intel_hda,snd_sof_pci_intel_cnl
    snd_sof_utils 16384 1 snd_sof
    snd_soc_acpi_intel_match 122880 2 snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl
    snd_soc_acpi_intel_sdca_quirks 12288 1 snd_soc_acpi_intel_match snd_soc_sdw_utils 126976 1 snd_sof_intel_hda_generic
    snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_generic
    soundwire_bus 1179648 4 soundwire_intel,snd_soc_sdw_utils,soundwire_generic_allocation,soundwire_cadence
    snd_soc_sdca 122880 2 snd_soc_acpi_intel_sdca_quirks,soundwire_bus snd_hda_codec_alc882 16384 1
    snd_hda_codec_realtek_lib 57344 1 snd_hda_codec_alc882 snd_hda_codec_generic 122880 2 snd_hda_codec_realtek_lib,snd_hda_codec_alc882
    snd_hda_codec_nvhdmi 16384 1
    snd_soc_avs 237568 0
    snd_hda_codec_hdmi 57344 1 snd_hda_codec_nvhdmi
    snd_hda_intel 61440 2
    snd_soc_hda_codec 24576 1 snd_soc_avs
    snd_hda_ext_core 32768 7 snd_sof_intel_hda_sdw_bpt,snd_soc_avs,snd_soc_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda
    snd_hda_codec 200704 10 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_codec_nvhdmi,snd_hda_codec_realtek_lib,snd_soc_hdac_hda,snd_hda_codec_alc882,snd_sof_intel_hda
    snd_soc_core 413696 8 snd_soc_avs,snd_soc_hda_codec,soundwire_intel,snd_sof,snd_soc_sdca,snd_sof_intel_hda_common,snd_soc_sdw_utils,snd_soc_hdac_hda
    snd_hda_core 135168 11 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_hda_codec_realtek_lib,snd_soc_hdac_hda,snd_sof_intel_hda
    snd_intel_dspcfg 45056 5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_compress 28672 2 snd_soc_avs,snd_soc_core
    snd_intel_sdw_acpi 16384 2 snd_intel_dspcfg,snd_sof_intel_hda_generic ac97_bus 12288 1 snd_soc_core
    snd_hwdep 20480 1 snd_hda_codec
    snd_pcm_dmaengine 20480 1 snd_soc_core
    snd_pcm 188416 14 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_soc_sdca,snd_sof_intel_hda_common,snd_compress,snd_sof_intel_hda_generic,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
    snd_timer 49152 3 snd_seq,snd_hrtimer,snd_pcm
    snd 135168 21 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_sof,snd_soc_sdca,snd_timer,snd_hda_codec_realtek_lib,snd_compress,snd_soc_sdw_utils,snd_soc_core,snd_pcm
    soundcore 12288 1 snd


    Holy godzilla mutherfuckers! All this just to get audio?!?!?!

    But lspci, I believe, narrowed things down a bit:

    lspci -k

    00:1f.3 Audio device: Intel Corporation Comet Lake PCH cAVS
    DeviceName: Onboard - Sound
    Subsystem: Gigabyte Technology Co., Ltd Device a0c3
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_soc_avs, snd_sof_pci_intel_cnl, snd_hda_intel


    Now, the question is how to configure these three modules and will
    the configuration produce all of the mess above.

    Probably the only website devoted to kernel configuration has
    the answer:

    <https://www.kernelconfig.io/index.html>

    Just do a search for each module and note the configuration
    path.

    But that's not all. The kernel boot log shows this:

    [ 11.317341] snd_hda_codec_alc882 hdaudioC0D0: autoconfig for ALC1220: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
    [ 11.317344] snd_hda_codec_alc882 hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
    [ 11.317346] snd_hda_codec_alc882 hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
    [ 11.317347] snd_hda_codec_alc882 hdaudioC0D0: mono: mono_out=0x0
    [ 11.317348] snd_hda_codec_alc882 hdaudioC0D0: dig-out=0x1e/0x0
    [ 11.317349] snd_hda_codec_alc882 hdaudioC0D0: inputs:
    [ 11.317349] snd_hda_codec_alc882 hdaudioC0D0: Rear Mic=0x18
    [ 11.317350] snd_hda_codec_alc882 hdaudioC0D0: Front Mic=0x19
    [ 11.317351] snd_hda_codec_alc882 hdaudioC0D0: Line=0x1a

    The motherboard manual indeed shows that a Realtek ALC1220
    is present, but the kernel log shows that this is somehow
    mapped to a Realtek ALC882.

    What is going on here? For lack of further info I must
    therefore use a Realtek ALC882 (the ALC1220 does not occur
    in the config parameters).

    Configuring a kernel is becoming more and more difficult
    due to a LACK OF INFORMATION.

    If anyone can provide better info, which I seriously doubt, then
    please do so.


    Your computer sucks balls.
    --
    Joel W. Crump
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From jayjwa@jayjwa@atr2.ath.cx.invalid to comp.os.linux.misc on Fri May 15 13:35:03 2026
    From Newsgroup: comp.os.linux.misc

    Distro Lackey <dl@lackey.com> writes:

    How does one configure the kernel to utilize the Intel Comet
    Lake PCH cAVS onboard audio device?
    When you asked this before, I looked for that model and didn't see any
    ALC codecs with 4 digits.

    An exhaustive search reveals absolutely no information. The only
    recourse is therefore to enable the audio device and allow a "live"
    distro to, hopefully, report the appropriate kernel modules.
    I assume that sound then works? Be careful if your system has more than
    one sound device, that you select the proper one.

    Holy godzilla mutherfuckers! All this just to get audio?!?!?!
    It's loading every single module in hopes one works. You don't need all
    those, just the one that supports your hardware.


    But lspci, I believe, narrowed things down a bit:

    00:1f.3 Audio device: Intel Corporation Comet Lake PCH cAVS
    DeviceName: Onboard - Sound
    Subsystem: Gigabyte Technology Co., Ltd Device a0c3
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_soc_avs, snd_sof_pci_intel_cnl, snd_hda_intel

    OK, that's the Intel HDA stuff. 'make menuconfig' and go to the part
    about sound codecs for the Intel HDA. I was there a few days ago but it
    does list ALC882 instead of ALC1220.

    [ 11.317341] snd_hda_codec_alc882 hdaudioC0D0: autoconfig for ALC1220: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
    [ 11.317344] snd_hda_codec_alc882 hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
    [ 11.317346] snd_hda_codec_alc882 hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
    [ 11.317347] snd_hda_codec_alc882 hdaudioC0D0: mono: mono_out=0x0
    [ 11.317348] snd_hda_codec_alc882 hdaudioC0D0: dig-out=0x1e/0x0
    [ 11.317349] snd_hda_codec_alc882 hdaudioC0D0: inputs:
    [ 11.317349] snd_hda_codec_alc882 hdaudioC0D0: Rear Mic=0x18
    [ 11.317350] snd_hda_codec_alc882 hdaudioC0D0: Front Mic=0x19
    [ 11.317351] snd_hda_codec_alc882 hdaudioC0D0: Line=0x1a

    The motherboard manual indeed shows that a Realtek ALC1220
    is present, but the kernel log shows that this is somehow
    mapped to a Realtek ALC882.
    So that's this:
    config SND_HDA_CODEC_ALC882
    tristate "Build Realtek ALC882 HD-audio codecs support" if EXPERT
    depends on INPUT
    select SND_HDA_CODEC_REALTEK_LIB
    default y
    help
    Say Y or M here to include Realtek ALC882 and compatible HD-audio
    codec support

    That's from /usr/src/linux/sound/hda/codecs/realtek/Kconfig (on my 6.18.x).

    This wouldn't be the first time a module had a name different from what
    it supports. I have a USB-to-ethernet device and doesn't use the module
    named after it but rather a generically named one. Come to find out,
    that's because the older models needed special drivers while the newer
    models use the standard, generic interface.

    What is going on here? For lack of further info I must
    therefore use a Realtek ALC882 (the ALC1220 does not occur
    in the config parameters).
    No, it doesn't. I'd <m>odule that one and anything close to it. Once your system boots, look at the ones that it loaded and on the next build you
    can leave any that didn't load off. Do not load them by hand if you
    don't have to. Let the kernel do it. Then you know which ones it needs.

    Configuring a kernel is becoming more and more difficult
    due to a LACK OF INFORMATION.
    Configuring kernels was always difficult; that's why most people don't
    do it. It's getting worse because Linux is getting bigger.
    --
    PGP Key ID: 781C A3E2 C6ED 70A6 B356 7AF5 B510 542E D460 5CAE
    "The Internet should always be the Wild West!"
    --- Synchronet 3.22a-Linux NewsLink 1.2