Skip to content

[BUG] Audio does not work on Intel alder lake platform #10982

Open

Description

@tuxmanxd

Describe the bug
When I installed NixOS on my machine I noticed that the audio didn't work, I tried switching the kernel (since I was using the cachyos kernel) yet same error, I installed all firmware and nothing, I noticed in dmesg that the driver was using the legacy HDA path which shouldn't be the case with a 12th gen Intel so I forced it to use SOF with "snd_intel_dspcfg.dsp_driver=3" which led me to the card not appearing at in /proc/asound/cards as the output suggests :
cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0x81080000 irq 17

As opposed to the previous output with HDA
cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x4202c20000 irq 144
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0x81080000 irq 17

Also the dmesg output gives the following :
╰─➤ sudo dmesg | grep -iE 'sof|dspcfg|nhlt|i915|snd'
[sudo] password for tuxman:
[ 0.000000] Command line: initrd=\EFI\nixos\2dnzac7hizdgyg38j81ir7jawagjnycj-initrd-linux-cachyos-latest-x86_64-v3-7.1.2-initrd.efi init=/nix/store/1zph74kyhzwzarizbxq8kn62wfyizklr-nixos-system-desktop-26.11.20260629.b5aa0fb/init splash boot.shell_on_fail loglevel=3 rd.systemd.show_status=false rd.udev.log_level=3 udev.log_priority=3 vt.global_cursor_default=0 quiet udev.log_level=3 systemd.show_status=auto snd_intel_dspcfg.dsp_driver=3 root=fstab splash loglevel=3 lsm=landlock,yama,bpf
[ 0.005081] ACPI: NHLT 0x00000000731EA000 00002D (v00 ALASKA A M I 01072009 AMI 01000013)
[ 0.005113] ACPI: Reserving NHLT table memory at [mem 0x731ea000-0x731ea02c]
[ 0.027895] Kernel command line: initrd=\EFI\nixos\2dnzac7hizdgyg38j81ir7jawagjnycj-initrd-linux-cachyos-latest-x86_64-v3-7.1.2-initrd.efi init=/nix/store/1zph74kyhzwzarizbxq8kn62wfyizklr-nixos-system-desktop-26.11.20260629.b5aa0fb/init splash boot.shell_on_fail loglevel=3 rd.systemd.show_status=false rd.udev.log_level=3 udev.log_priority=3 vt.global_cursor_default=0 quiet udev.log_level=3 systemd.show_status=auto snd_intel_dspcfg.dsp_driver=3 root=fstab splash loglevel=3 lsm=landlock,yama,bpf
[ 0.029842] software IO TLB: area num 32.
[ 0.332181] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.332181] software IO TLB: mapped [mem 0x000000005899f000-0x000000005c99f000] (64MB)
[ 0.435918] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
[ 0.435925] integrity: Loaded X.509 cert 'Microsoft UEFI CA 2023: 81aa6b3244c935bce0d6628af39827421e32497d'
[ 0.435931] integrity: Loaded X.509 cert 'Microsoft Corporation: Windows UEFI CA 2023: aefc5fbbbe055d8f8daa585473499417ab5a5272'
[ 0.435937] integrity: Loaded X.509 cert 'Microsoft Option ROM UEFI CA 2023: 514fbf937fa46fb57bf07af8bed84b3b864b1711'
[ 0.435944] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
[ 4.816800] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[ 4.816969] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 4.816975] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 4.986212] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 4.986330] sof-audio-pci-intel-tgl 0000:00:1f.3: the DSP is not enabled on this platform, aborting probe

I checked the BIOS to see if I accidently disabled DSP but there's no single mention of DSP in the BIOS and HD audio is already enabled, I even switched to Fedora with the same outcome

To Reproduce
An MSI PRO B760M-P DDR4 mobo with any 12th gen Intel CPU on any Linux distro

Reproduction Rate
10/10

Expected behavior
DSP should be present and audio should be working

Impact
High, I had to use HDMI audio with no mic support

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: version 7.1.2
    • SOF: 1nkh020gjm45vxd6fvmz63hj16ilff2nl5avvsklajjs6xci1sf5
  2. Name of the platform(s) on which the bug is observed.
    • Platform: Intel 12th Gen (i7-12700F)

Screenshots or console output

Image

Activity

  1. added
    bugSomething isn't working as expected
    on Jul 9, 2026
  2. lgirdwood commented on Jul 10, 2026

    @lgirdwood
    Member

    @tuxmanxd the Intel audio PCI HW works in 2 modes, 1) Legacy HDA mode and 2) DSP mode. This is set in the BIOS menu and on ADL it was usually hard coded by motherboard vendor to legacy HDA mode on desktops. So in this case it looks like the driver has probed the PCI device and read back the legacy HDA mode (set by BIOS) is enabled. I assume you are not seeing any legacy HDA probing messages in the logs ? If possible can you paste as text or attach the dmesg log. Thanks !

  3. tuxmanxd commented on Jul 10, 2026

    @tuxmanxd
    Author

    @tuxmanxd the Intel audio PCI HW works in 2 modes, 1) Legacy HDA mode and 2) DSP mode. This is set in the BIOS menu and on ADL it was usually hard coded by motherboard vendor to legacy HDA mode on desktops. So in this case it looks like the driver has probed the PCI device and read back the legacy HDA mode (set by BIOS) is enabled. I assume you are not seeing any legacy HDA probing messages in the logs ? If possible can you paste as text or attach the dmesg log. Thanks !

    When I let the driver in auto mode, it automatically selects HDA and when checking the kernel logs I get this
    sudo dmesg | grep snd
    [ 4.889108] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
    [ 4.889934] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
    [ 4.890011] snd_hda_intel 0000:01:00.1: Disabling MSI
    [ 4.890016] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
    [ 4.893723] snd_hda_intel 0000:00:1f.3: no codecs found!
    cat /proc/asound/cards
    0 [PCH ]: HDA-Intel - HDA Intel PCH
    HDA Intel PCH at 0x4202c20000 irq 144
    1 [NVidia ]: HDA-Intel - HDA NVidia
    HDA NVidia at 0x81080000 irq 17
    ╭─tuxman@desktop ~
    ╰─➤ lsmod | grep -i sof
    snd_sof_pci_intel_tgl 20480 0
    snd_sof_pci_intel_cnl 24576 1 snd_sof_pci_intel_tgl
    snd_sof_intel_hda_generic 45056 2 snd_sof_pci_intel_tgl,snd_sof_pci_intel_cnl
    soundwire_intel 94208 1 snd_sof_intel_hda_generic
    snd_sof_intel_hda_sdw_bpt 24576 1 soundwire_intel
    snd_sof_intel_hda_common 221184 4 snd_sof_intel_hda_sdw_bpt,snd_sof_intel_hda_generic,snd_sof_pci_intel_tgl,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 24576 2 snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_sof_pci 24576 3 snd_sof_intel_hda_generic,snd_sof_pci_intel_tgl,snd_sof_pci_intel_cnl
    snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_generic
    snd_sof 540672 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 147456 3 snd_sof_intel_hda_generic,snd_sof_pci_intel_tgl,snd_sof_pci_intel_cnl
    snd_soc_sdw_utils 143360 1 snd_sof_intel_hda_generic
    snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_generic
    snd_hda_ext_core 36864 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_soc_core 475136 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_codec 245760 7 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_codec_nvhdmi,snd_soc_hdac_hda,snd_sof_intel_hda
    snd_hda_core 163840 9 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_soc_hdac_hda,snd_sof_intel_hda
    snd_intel_dspcfg 49152 5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_sof_intel_hda_generic
    snd_intel_sdw_acpi 16384 2 snd_intel_dspcfg,snd_sof_intel_hda_generic
    snd_pcm 253952 15 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 176128 20 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_compress,snd_soc_sdw_utils,snd_soc_core,snd_pcm
    ╭─tuxman@desktop ~
    ╰─➤ cat /sys/module/snd_intel_dspcfg/parameters/dsp_driver
    0

  4. lgirdwood commented on Jul 10, 2026

    @lgirdwood
    Member

    Ok, this actually looks fine:

    cat /proc/asound/cards
    0 [PCH ]: HDA-Intel - HDA Intel PCH
    HDA Intel PCH at 0x4202c20000 irq 144
    1 [NVidia ]: HDA-Intel - HDA NVidia
    HDA NVidia at 0x81080000 irq 17
    

    It shows you have 2 sounds cards, card 0 is HDA analog, card 1 is display audio. If you are not hearing any audio from card 0 then pls check the alsamixer settings as some kcontrols may be muted.

  5. tuxmanxd commented on Jul 10, 2026

    @tuxmanxd
    Author

    Ok, this actually looks fine:

    cat /proc/asound/cards
    0 [PCH ]: HDA-Intel - HDA Intel PCH
    HDA Intel PCH at 0x4202c20000 irq 144
    1 [NVidia ]: HDA-Intel - HDA NVidia
    HDA NVidia at 0x81080000 irq 17
    

    It shows you have 2 sounds cards, card 0 is HDA analog, card 1 is display audio. If you are not hearing any audio from card 0 then pls check the alsamixer settings as some kcontrols may be muted.

    Image When I select it even with my headset connected it says no controls, and in Niri it doesn't show up either
  6. tuxmanxd commented on Jul 10, 2026

    @tuxmanxd
    Author

    Ok, this actually looks fine:

    cat /proc/asound/cards
    0 [PCH ]: HDA-Intel - HDA Intel PCH
    HDA Intel PCH at 0x4202c20000 irq 144
    1 [NVidia ]: HDA-Intel - HDA NVidia
    HDA NVidia at 0x81080000 irq 17
    

    It shows you have 2 sounds cards, card 0 is HDA analog, card 1 is display audio. If you are not hearing any audio from card 0 then pls check the alsamixer settings as some kcontrols may be muted.

    Image When I select it even with my headset connected it says no controls, and in Niri it doesn't show up either

    I think this is the result of the no codecs found error in dmesg

  7. kv2019i commented on Jul 14, 2026

    @kv2019i
    Collaborator

    @tuxmanxd It's ok the DSP is not used. Audio should work without DSP as well. I think the real problem is this:

    [ 4.893723] snd_hda_intel 0000:00:1f.3: no codecs found

    ... the HDA codec on the motherboard is not found. Based on public spec, it should have a Realtek ALC897 codec onboard, but above message tells the codec is responding at all. Either the Realtetk codec is disabled in BIOS, or there is a hardware issue and it's not powering up. You could try some Fedora or Ubuntu live image (or boot Windows) to sanity check this, but I think this is a BIOS/hw issue.

  8. added
    ADLApplies to Alder Lake platform
    HDAApplies to HD-Audio bus for codec connection
    codecIssues related to a 3rd party codec HW or driver
    on Jul 14, 2026
  9. tuxmanxd commented on Jul 14, 2026

    @tuxmanxd
    Author

    @tuxmanxd It's ok the DSP is not used. Audio should work without DSP as well. I think the real problem is this:

    [ 4.893723] snd_hda_intel 0000:00:1f.3: no codecs found

    ... the HDA codec on the motherboard is not found. Based on public spec, it should have a Realtek ALC897 codec onboard, but above message tells the codec is responding at all. Either the Realtetk codec is disabled in BIOS, or there is a hardware issue and it's not powering up. You could try some Fedora or Ubuntu live image (or boot Windows) to sanity check this, but I think this is a BIOS/hw issue.

    Yeah, it seems like it, tho what should I do? Should I contact MSI and how do I contact them?

  10. tuxmanxd commented on Aug 21, 2026

    @tuxmanxd
    Author

    @tuxmanxd It's ok the DSP is not used. Audio should work without DSP as well. I think the real problem is this:

    [ 4.893723] snd_hda_intel 0000:00:1f.3: no codecs found

    ... the HDA codec on the motherboard is not found. Based on public spec, it should have a Realtek ALC897 codec onboard, but above message tells the codec is responding at all. Either the Realtetk codec is disabled in BIOS, or there is a hardware issue and it's not powering up. You could try some Fedora or Ubuntu live image (or boot Windows) to sanity check this, but I think this is a BIOS/hw issue.

    Audio used to work fine with Windows but doesn't work at all on Linux no matter the distro

  11. lgirdwood commented on Aug 25, 2026

    @lgirdwood
    Member

    adding @shumingfan as ALC897 may need verbs.

  12. shumingfan commented on Aug 25, 2026

    @shumingfan
    Contributor

    Adding HDA driver owner @KailangYang.
    Could you take a look at this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ADLApplies to Alder Lake platformHDAApplies to HD-Audio bus for codec connectionbugSomething isn't working as expectedcodecIssues related to a 3rd party codec HW or driver

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions