From what I can see the, issue is that the firmware for the sound card is not being loaded. I also tried explicitly installing the sof-firmware package, but no luck. What can I do to get the sound working?
Although I believe hardware.enableAllFirmware = true should install sof-firmware, I did try installing the sof-firmware explicitly too, but it still doesn’t work.
Got to know about this from the sof-firmware docs.
Though, right now only the speakers works, not the mic. The mic works only when my headphones are plugged in, i.e, the in-built mic doesn’t work.
I just tried the unstable one, doesn’t work. Still getting the same errors in dmesg.
I guess for now I’ll just work with the bad-aid solution of adding the modprobe parameters mentioned in the previous comment.
Okay, this is wierd, I think I’ve installed the unstable version by following this FAQ.
But running ls -l /run/current-system/firmware/intel/sof/ doesn’t list sof-tgl.ri. Plus, it just lists the older version. Here’s the exact output:
$ ls -l /run/current-system/firmware/intel/sof/
total 4
lrwxrwxrwx 1 root root 37 Jan 1 1970 sof-apl.ri -> v1.5.1/intel-signed/sof-apl-v1.5.1.ri
lrwxrwxrwx 1 root root 24 Jan 1 1970 sof-bdw.ri -> v1.5.1/sof-bdw-v1.5.1.ri
lrwxrwxrwx 1 root root 24 Jan 1 1970 sof-byt.ri -> v1.5.1/sof-byt-v1.5.1.ri
lrwxrwxrwx 1 root root 37 Jan 1 1970 sof-cfl.ri -> v1.5.1/intel-signed/sof-cnl-v1.5.1.ri
lrwxrwxrwx 1 root root 24 Jan 1 1970 sof-cht.ri -> v1.5.1/sof-cht-v1.5.1.ri
lrwxrwxrwx 1 root root 37 Jan 1 1970 sof-cml.ri -> v1.5.1/intel-signed/sof-cnl-v1.5.1.ri
lrwxrwxrwx 1 root root 37 Jan 1 1970 sof-cnl.ri -> v1.5.1/intel-signed/sof-cnl-v1.5.1.ri
lrwxrwxrwx 1 root root 37 Jan 1 1970 sof-glk.ri -> v1.5.1/intel-signed/sof-apl-v1.5.1.ri
lrwxrwxrwx 1 root root 37 Jan 1 1970 sof-icl.ri -> v1.5.1/intel-signed/sof-icl-v1.5.1.ri
dr-xr-xr-x 4 root root 4096 Jan 1 1970 v1.5.1
I’m not sure if it matters or not, but I also did try disabling the hardware.enableAllFirmware option, but didn’t get any different results.
Also, I’m a bit new to nix, so I’m not aware how to do that. Can you explain it, or link a resource I could follow?
Update:
Okay, I looked up overlays and was able to successfully install version 1.6. Now, running ls -l /run/current-system/firmware/intel/sof/ does list sof-tgl.r, and the audio devices do show up in pavucontrol but, I’m not getting any sound. Any idea what could be the problem here?
Good. This could by just old PulsaAudio deamon. If you have added nixos-unstable channel and imported it in configuration.nix same as in the FAQ, this should help by adding to configuration.nix.
P.S. Until a few moths ago the intel sof driver would sometimes crash randomly. If you ever experienced it, upgrade to lastest kernel boot.kernelPackages = pkgs.linuxPackages_latest;.
I already am on the latest kernel. Had to upgrade during OS installation itself. On the standard installation image with the older kernel (5.4), none of my storage devices were being detected, so I couldn’t even install NixOS :P. Had to use an image with a newer kernel.