Comment 759 for bug 1958019

Revision history for this message
In , cam (cam-linux-kernel-bugs) wrote :

Created attachment 303815
attachment-24448-0.html

Uploaded lenovo-7i-gen7-sound-6.2.0-rc3-0.0.5b.patch to
https://bugzilla.kernel.org/show_bug.cgi?id=216194

Although I forgot to update it in the patch name... This patch is
against 6.2.1

I put a disclaimer that this is a use-at-your-own-risk as the missing
settings were guessed for the full-sized Legion 7i, and it appears the
the Legion 7i has been working without issue since August or so without
any serious issues developing.

The previous patch includes 7i Slim support and it seems this has been
working for some people... If you've been using my patches for the 7i
Slim, I would like to hear if things are still working for you without
issue. With that feedback other 7i Slim users will be able to make an
informed decision on the use of these patches.

This updated patch adds support for the Slim 7 (AMD version). Same thing
stands. If there are serious issues such as perhaps loudness, distorted
sound, "amp short" messages in dmesg (when this happens the affected
speaker will no longer output sound), etc, I suggest to stop using the
patch to avoid the possibility of permanent damage (as well as following
up with your issues).

Since the 1-2 reports I saw that it seemed to work okay for the Slim 7i,
I suspect it will for the AMD based Slim 7 as well, but I can't make any
guarantees.

And finally... I did work on overriding the ACPI DSD table to get sound
working months back... While I did have some initial success, I was
running into "AMP short" issues. My patch was originally based on an
older version of the cs35l41 support and so it actually ends up
bypassing some of the code paths used in the current CS35l41 driver. If
I change the driver to go through that newer path, it has approximately
the same problems that using a DSD override does. So it seems my patch
works because it's "cheating" somehow due to historical reasons...

Probably the info I use in the DSD override is very slightly off from
what's needed, but if the issues could be ironed out... We'd have a
solution that didn't require patching the kernel. However, we'd still be
left with the problem of determining safe values and the values are
(more or less) going to be specific to your model of laptop.

This is why it's so frustrating that Lenovo won't add this info in a
BIOS update where as my understanding is that Asus has, in at least a
few cases, added these DSD entires in BIOS updates to get sound working
under Linux. As I no longer require my laptop to specifically have a
more professional Lenovo look, my next laptop will likely be Asus.

Like many of you, Linux is my daily driver (and has been since the late
90's in my case). But being able to boot to Windows to play games with
advanced optimus, some mild HDR support, etc... has been really great.

Anyway, looking forward to the feedback.

On 2/28/23 11:56, <email address hidden> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=208555
>
> --- Comment #743 from Blake Lee (<email address hidden>) ---
> (In reply to Cameron Berkenpas from comment #742)
>> You have the slim? I don't think I added slim support to the patch. I think
>> someone else did and it worked.
>>
>> It's not that hard to do. The numeric ID you need can be found in your
>> alsa-info.
> Hi Cameron, I'm trying to get my Legion Slim 7 Gen 7 AMD version working...
> How
> do I modify the patch, or are you planning to? My alsa-info is below..
>
> http://alsa-project.org/db/?f=3c10f6ee9607eabbc8f783505b7b29c87b7d0cca
>
> Thank you for being so helpful to everyone, this is a great computer I'm just
> sick of using headphones lol
>