Missing Bass / No Sound from speakers
Realtek, ALC287, ALC3306
This is actually not a Fedora-only but a whole-Linux problem, but I’m a noob so I hope I can make it to a Fedora problem and somebody more experienced can carry on.
Newer Lenovo laptops and convertibles ship with a realtek ALC3306. This soundcard is detected as an ALC287 by ALSA an causes two types of problems (you can of course google that):
No sound output at all or very weak sound (if device has seperated speakes for bass and treble).
In my case I got a new Lenovo Yoga 7 14IAL7 which has the “normal” speakers next to the keyboard and bass speakers on the bottom. By default the latest stable kernel (and even the newer RC Versions of 5.19) does not recognize the bass speakers at the bottom of the device (can’t see them in alsamixer) so I had a very weak and silent output.
Doing heavy research on this issue I found this Thread (bugzilla.kernel.org) in which several people with new Lenovo devices report the same sound problem I have experienced.
In this thread somebody provided a Kernel patch in which most of the affected devices from this thread were listed.
So I got this patch, replaced the sound device ID of the affected model with bass speaker problem with my own device ID (for my Model its 0x17aa3869) and had to learn how to compile a kernel to apply this patch (worked on second try surprisingly).
Long story short:
Me and some other guys in this thread who are all not that experienced managed it to get our devices working by replacing the codec IDs in the patch with our own and got our sound devices working. But we don’t know how to submit these changes to the mainline Kernel so that everybody can benefit from these experiences just by installing his / her favorite distro.
Is there somebody in here who can carry on with this subject, please?
Of course i can provide more detailed information if needed.
I have the same issue with my new Yoga 7 14IAL7. To my knowledge, it should be possible to just create a DKMS module that targets the specific audio module. That approach should be usable without recompiling the whole kernel. It should also be applicable for multiple kernel versions, as long as the source module is not changed significantly between versions (i.e. as long as the patch file is applicable).
Can you please share the patch file with your modifications? I could then try my hand at creating a DKMS module from it. If it works we can publish on GH/GL or something. I’ve never done this before but I did use the approach successfully with my ROG Flow X13 and a DKMS module for it published on GH (Rog Flow X13 audio DKMS).