Bugzilla – Bug 1217749
No bass in built-in speakers on Lenovo Slim 7 16" AMD
Last modified: 2024-04-17 23:14:08 UTC
Created attachment 871116 [details] Output of "hwinfo --sound" for Lenovo 16ARH7 It seems the bass speakers do not work in the latest Tumbleweed KDE snapshot on the Lenovo Slim 7 16" AMD, 16ARH7, 82UX0001US (and this same model is called Yoga outside the United States). This issue appears to be similar to that of the wide range of recently released laptops that have the CS35L41 and TAS2781 amps, however I cannot find that hardware listed in any of my logs or online spec sheets for this laptop. The closest I can find is that is has a Realtek ALC3287 codec. Attached is the output of "hwinfo --sound" Thanks!
Could you give alsa-info.sh output? Run the script with --no-upload option, and attach to Bugzilla. Also, try the latest 6.7-rc kernel found in OBS Kernel:HEAD repo, too.
Created attachment 871155 [details] Output of alsa-info.sh for Lenovo 16ARH7 Here's the output from alsa-info.sh I don't think I will be able to test a new kernel for a few weeks as I'm currently doing sensitive work, but I hope this log gives some clues! Thanks!
Thanks. If the speaker (not a bass one) ever works as is, probably it's not about the missing Cirrus or TAS codecs. I skimmed over net, and some likely relevant articles are found: https://github.com/tomsom/yoga-linux/wiki/Audio-Fix https://github.com/tomsom/yoga-linux/ https://github.com/PJungkamp/yoga9-linux/issues/8 It's worth to try the suggested workaround. i2cset can be found in i2c-tools package.
Thanks, will look into those workarounds. Should I be concerned about damage from overdriving the speakers? And is there any way this could be fixed with a kernel quirk or something similar in the future? Or any other place I should report this issue? I should note that the speakers work as intended (bass present) in Windows 11. It sounds to me like the woofer is just not being driven in Linux, similar to the issue in other Lenovo laptops, but I could be mistaken.
A risk is always there when you play with the hardware knobs :) At least you can start searching for an i2c device via i2cdetect, for example. You'll likely need to load i2c-dev module for using those tools. Also note that it's an info for other models, and yours might be different. Actually Lenovo has quite various different implementations for the audio, some via a platform i2c bus, some via HD-audio i2c, some with additional sub-codecs like Cirrus and TAS, etc, etc. Yours might be just another unconfigured HD-audio pin, too. Unless we get info from Lenovo, the trial-and-error is the only way.
Thanks! It seems to me that the only way to get more info is to post on the Lenovo forums, which I did: https://forums.lenovo.com/t5/Other-Linux-Discussions/Slim-7-16-AMD-No-bass-in-built-in-speakers-on-Linux/m-p/5273039 I think they only officially support Thinkpads for Linux, but I guess we'll see if this gets any response. If there's any more I could do let me know!
Meanwhile, you can try to test the existing quirks and verify whether it works for yours. For example, create a file in /etc/modprobe.d/60-hda.conf, containing the following line: options snd-hda-intel model=,17aa:3855 (Note that the comma above is intentional, meaning to pass to the second card.) The above will apply the quirk for 17aa:3855, Legion 7 16ITHG6. Try other similar models, too. You can find the existing quirk entries in sound/pci/hda/patch_realtek.c alc269_fixup_tbl[] (around the line 10000) https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/pci/hda/patch_realtek.c
Sorry about the delay! Thanks for the update. Latest snapshot (kernel 6.8.1, newer version than the rc you suggested before) still has the same behavior. I will check i2cdetect and try some quirks. Is it safe to switch between those different models of speaker quirks while my system is still running with sysctl? Also, what should I be looking for when testing these quirks? That the speakers sound identical to Windows 11? Or that they just sound good subjectively? No response on the Lenovo forum post, maybe I could ping that again too.
I tried the following speaker quirks with snd-hda-intel.model=,*:* kernel boot parameter: * Legion 7 16ITHG6 (17aa:3855) * Legion 7 16ACHG6 (17aa:3847) * Legion Slim 7 16ARHA7 (17aa:3877 and 17aa:3878) * Legion Slim 7 16IRH8 (17aa:38b4 and 1788:38b5) * Legion Slim 7 16APH8 (17aa:38b6 and 1788:38b7) * Yoga Pro 7 14APH8 (17aa:3882) * Ideapad Slim 9i 14ITL5 (17aa:3834) * Yoga 9i (17aa:3843) * Thinkbook 16P (17aa:38ab) None of these seemed to sound any different, except the 38b4 to 38b7 range *may* have sounded like it gave *slightly* more bass, but it's hard to tell without proper recording equipment, and even if it was actually different, it's still very far from the proper bass level in Windows. I'm also curious why there are two entries for certain models?