Lenovo ideapad 3 sound not working with GNU Trisquel
Lenovo Ideapad 3 151TLB
Originally had Win 11 and the sound worked but I don't like Windows so have installed TrisquelGNU Linux 11 Aramo from a disk, now the sound doesn't work.
I don't think the audio drivers have installed but that's a guess.
Secure boot has been turned off because it was advised on a Ubuntu forum.
What can be done to make the sound work ?
Thanks for any help.
The rule of thumb is that in most scenarios, if some hardware piece doesn't work out of the box then it's probably because it requires proprietary code to work, something the kernel on Trisquel lacks by policy. Check if alsa and pulseaudio are installed, and see if alsamixer is installed, if it's not, install it with the alsa-utils package, if there's no audio output device showing there then it means the kernel doesn't have the needed software/drivers to manage it and therefore can't see it. Another thing you can do is check the output from "dmesg -Tl err" and see if the kernel reports something along the lines of "missing firmware" in red text.
If you want some audio output you might need to plug an USB to audio jack sound card that is plug and play, plenty of headsets ship with one of them nowadays.
TLDR: Wrong hardware to use with Trisquel GNU+Linux-libre, I'd be very surprised if other things such as 3D hardware rendering and WIFI work with a laptop this new.
Can you indicate which CPU your machine has?
There was recently a discussion in the French language forum about 2 laptops with an Intel Tiger Lake or Alder Lake CPU that had no sound and the advice at https://trisquel.info/fr/forum/aucun-son#comment-179137 fixed the problem for both.
Last week, we discussed the same problem on the French-speaking forum: https://trisquel.info/forum/aucun-son
Apparently, Intel expects users of their most recent processors to rely on a binary firmware that the company signs. The firmware is somewhat free because its source code hosted on https://github.com/thesofproject/sof is distributed under a free software license. However, without the Intel key to sign the produced binary, one cannot effectively use a modified version. It is tivoization: https://www.gnu.org/philosophy/tivoization.html
The good news is that prospero actually found a way to get sound without the offending firmware. In a terminal:
$ printf 'blacklist snd_soc_avs\nblacklist snd_sof_pci_intel_tgl\n' | sudo tee -a /etc/modprobe.d/blacklist.conf
$ printf 'options snd-intel-dspcfg dsp_driver=1\n' | sudo tee -a /etc/modprobe.d/alsa-base.conf
$ sudo update-initramfs -u
After a reboot, the snd_hda_intel driver is loaded and functional. Can you try that and report whether it works for you too?
Prospero has filed https://gitlab.trisquel.org/trisquel/package-helpers/-/issues/203 and, hopefully, the workaround can become the default in Trisquel. Regardless, it would be good to better document what processors suffer from that problem (all the Intel processors since the 11th generation?), whether AMD processors have become a better choice because of that problem (do they now include working graphical chipsets?), etc.
(Observation: sure, older computers working with GNU Boot or Canoeboot are the best, but they are not a viable option for all use cases.)
"Can you try that and report whether it works for you too?"
Note that the above has been confirmed to work with the latest linux-libre kernel (6.14) from the freesh repo. It would indeed be interesting to test it with the 6.8 version upgrade provided for Aramo, which will probably be the default kernel for Trisquel 12 Ecne.
Hello, firstly I ran a quick check and think an upgrade may be needed.
'trisquel/aramo-updates 11.0-26 amd64 [upgradable from: 11.0-22]
N: There are 2 additional versions. Please use the '-a' switch to see them.
user@user-IdeaPad-3-15ITL6:~/Desktop$ '
Should this update be run and if so how ? What is an -a switch and how to write the commands in terminal ?
I got the numbers for the ideapad wrong, they are;
ideapad 3 15ITL6 Intel Pentium GOLD 7505 2.0 GHz, products formerly Tiger Lake.
This originally shipped with Win 10 in S mode
Retailer I purchased from upgraded to Win 11
I used my copy of Trisquel GNU Linux on disk to overwrite Windows.
Hello, firstly I ran a quick check and think an upgrade may be needed.
What did you execute that showed you the message?
What is an -a switch and how to write the commands in terminal ?
Option -a is a "switch" if, on the command line, it requires no argument to alter the default behavior of the program you ran.
You can simply copy-paste the three commands I gave in a terminal emulator. The most efficient way to do so is by selecting the *whole* first line after "$" and by clicking the middle button of your mouse (or both buttons of your mouse/touchpad) after moving its cursor onto the terminal. Then type the Enter key. Repeat the operation for the next line and the one after.
Tiger Lake
It is Intel's 11th generation of processor, where the signed binary firmware apparently starts to be expected. I have a processor of the 10th generation and no such problem.
It worked! and now there's sound. Thankyou.
.
Magic Banana
'What did you execute that showed you the message?'
Sorry I don't remember where the commands where from. GitHub maybe ?
We should write a short manual. As prospero wrote, it would be interesting to see what version of the kernel you use. The following command executed in a terminal shows it:
$ uname -r
5.15.0-136-generic
The kernel you run is Trisquel 11's default. It starts to be quite old: 5.15 was released in 2021. It is good news: the workaround apparently work with any reasonably-recent Linux version. I wrote that short manual: https://trisquel.info/en/wiki/no-sound-intel-processor-11th-generation-or-more
I think that might just apply to non-corebooted systems. On corebooted systems, Intel sound on 12th generation chips works without any need for the user to configure anything in my experience. And that's whether your kernel is Trisquel's default 5.15.xx or if it's a newer 6.xx from Libre-linux. I'm currently running Linux-libre 6.14.1.
You may want to check which audio module is actually loaded:
lspci -v | grep snd
If your provider deactivated ME for you, they hopefully also configured your system to work without it.
>"You may want to check which audio module is actually loaded"
$ lspci -v | grep snd
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_avs, snd_sof_pci_intel_tgl
And I don't have snd_soc_avs or snd_sof_pci_intel_tgl in /etc/modprobe.d/blacklist.conf
$ cat /etc/modprobe.d/blacklist.conf | grep snd
# snd_intel8x0m can interfere with snd_intel8x0, doesn't seem to support much
blacklist snd_intel8x0m
blacklist snd_aw2
blacklist snd_pcsp
Should I assume that Coreboot is handling things? I have not touched the sound system at all on this laptop.
And what is the output of the following command?
$ grep dsp /etc/modprobe.d/alsa-base.conf
Maybe the line "options snd-intel-dspcfg dsp_driver=1" in that file is the only important step and there is no need to blacklist anything. Although I authored the manual, I cannot test anything because I only have a 10th Gen processor. Sound has always worked with it (although "dsp" does not occur in /etc/modprobe.d/alsa-base.conf). @anybody: feel free to correct the manual!
EDIT: the reason to blacklist the snd_sof_pci_intel_tgl module may actually be to not have Linux suggest the installation of the signed binary firmware, what goes against the Free System Distribution Guidelines. Indeed, in https://trisquel.info/forum/aucun-son both riquet607 and Avron showed that the dmesg command reported those lines, printed by the sof-audio-pci-intel-tgl module:
Check if you have 'sof-firmware' package installed.
Optionally it can be manually downloaded from:
https://github.com/thesofproject/sof-bin/
@andyprough: does your kernel suggest the installation of the signed firmware?
@Magic Banana - I think you have a typo in your first command on that wiki page:
avs\nblacklist
Pretty sure that you'll need a space between that \n & blacklist.
I do not think there is a need for a space after the line break. Here is what sudo tee -a appends to /etc/modprobe.d/blacklist.conf:
$ printf 'blacklist snd_soc_avs\nblacklist snd_sof_pci_intel_tgl\n'
blacklist snd_soc_avs
blacklist snd_sof_pci_intel_tgl
ideapad 3
audio;
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
This still has the UEFI boot option so assume ME is still lurking. This is not a libre boot laptop.