Intel Tiger Lake Pro Audio - No Audio

UPDATE 02/03/2024:

I’ve added

boot = { 
    kernelPackages = pkgs.linuxPackages_latest;
    loader = {
      ...
      extraModprobeConfig =''
        options snd-hda-intel dmic_detect=0
      '';
};

and changed to pipewire.

I finally can see the select an audio device in my KDE settings but I’m not getting any sound out the speakers despite it making the bars to play.

My bluetooth speaker is capable of producing sound when connected, just not the laptop speakers.


Hello,

I’m on NixOS 23.11 on a Lenovo Ideapad Flex 5i Chromebook but I’ve been unable to get my sound to work.

I have tried all combinations of pipewire, pulseaudio+alsa as per the wiki.

# configuration.nix
# Enable audio controls
sound.enable = true;
hardware.pulseaudio.enable = true;

So far I’m using pulseaudio + alsa as per this in confugration.nix

I can see the sound card sof-rt5682 in alsamixer and I’ve enabled and unmuted everything but no luck.

 $ lspci -knn | grep -A2 audio 
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller [8086:a0c8] (rev 20)
        DeviceName: Multimedia audio controller
        Kernel driver in use: sof-audio-pci-intel-tgl
        Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller [8086:a0a4] (rev 20)

Apparently, pulseaudio is unable to find a working profile according to systemctl --user status pulseaudio.service

$ systemctl --user status pulseaudio* | sed 's/tobi-nixos/[..]/g'
● pulseaudio.service - Sound Service
     Loaded: loaded (/etc/systemd/user/pulseaudio.service; linked-runtime; preset: enabled)
    Drop-In: /nix/store/73gh66wjd29qs73v7wvbrbx8686hh40a-user-units/pulseaudio.service.d
             └─overrides.conf
     Active: active (running) since Wed 2024-02-28 23:34:57 GMT; 1 day 19h ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 1851 (pulseaudio)
      Tasks: 7 (limit: 9337)
     Memory: 10.9M
        CPU: 290ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
             ├─1851 /nix/store/wbblf7vrnfgqzq779dcq8s8f1843iccp-pulseaudio-16.1/bin/pulseaudio --daemonize=no --log-target=journal
             └─1854 /nix/store/wbblf7vrnfgqzq779dcq8s8f1843iccp-pulseaudio-16.1/libexec/pulse/gsettings-helper

Feb 28 23:34:56 [..] systemd[1240]: Starting Sound Service...
Feb 28 23:34:57 [..] pulseaudio[1851]: Failed to find a working profile.
Feb 28 23:34:57 [..] pulseaudio[1851]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-tgl_rt1011_rt5682" card_name="alsa_card.pci-0000_00_1f.3-platform-tgl_rt1011_rt5682" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
Feb 28 23:34:57 [..] pulseaudio[1851]: stat('/etc/pulse/default.pa.d'): No such file or directory
Feb 28 23:34:57 [..] systemd[1240]: Started Sound Service.
Feb 28 23:34:57 [..] pulseaudio[1851]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?
Feb 28 23:34:57 [..] pulseaudio[1851]: org.bluez.ProfileManager1.RegisterProfile() failed: org.bluez.Error.NotPermitted: UUID already registered

● pulseaudio.socket - Sound System
     Loaded: loaded (/etc/systemd/user/pulseaudio.socket; enabled; preset: enabled)
    Drop-In: /nix/store/73gh66wjd29qs73v7wvbrbx8686hh40a-user-units/pulseaudio.socket.d
             └─overrides.conf
     Active: active (running) since Wed 2024-02-28 23:34:39 GMT; 1 day 19h ago
   Triggers: ● pulseaudio.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pulseaudio.socket

Feb 28 23:34:39 [..] systemd[1240]: Listening on Sound System.

Does anyone have an idea of what else I can try?

1 Like

SOLVED:

I have gone with using an old linux kernel, 6.1:

# Bootloader.
  boot = { 
    kernelPackages = pkgs.linuxPackages_6_1;
    ...
};

and using Pipewire:

 security.rtkit.enable = true;
 services.pipewire = {
   enable = true;
   alsa.enable = true;
   alsa.support32Bit = true;
   pulse.enable = true;
   # If you want to use JACK applications, uncomment this
   jack.enable = true;
 };

After a rebuild, I have many "Tiger Lake LP … " Devices but only the top one works

Either way, I have audio and I’m happy

2 Likes

Had same problem after latest kernel update (to 6.7.9) (with ancient skylake)
pulseaudio or pipewire - nothing worked, firmware was not loading.

Finally running latest zfs-compatible kernel bit me in the ass.

reverted to using default 6.1 kernel and audio works fine.

I guess 6.7 has something broken with intel audio, hope it’s fix till nixos stable gets to it.

1 Like