I have recently became a happy owner of Lenovo Yoga 7 Slim gen 8 laptop.
Normally I’d go with Thinkpad (probably x1 version) and things would “just work” on Linux. But this time Thinkpad-land didn’t make me particulary happy with whatever it has to offer and so Lenovo Yoga got bought instead. It comes with modern hardware and more risk that things would not work on Linux.
And I was right, some things didn’t work. There were mainly two issues:
- Laptop refused to go to suspend and immediately wake up.
- Only 2 out of 6 speakers worked
So, let’s roll up our sleeves and fix that. While fixes for that are not available through official sources - patches are flying around on the internet.
I should provide a disclamer, that I’m using Manjaro, but fixes seem universal for most Linux’es. Using 6.9 kernel, but I verified these fixes on 6.7 version too.
Subwoofers should be blasting!
- Checkout this repository https://github.com/darinpp/yoga-slim-7
- Check that
/etc/rc.local
file exists, if not then add it:echo "#!/bin/sh" > /etc/rc.local chmod +x /etc/rc.local
- Now then
/etc/rc.local
is in place, add these couple of lines:cat <<EOF >> /etc/rc.local # Disable runtime suspend/resume for tas 2781 as it is not working echo on > /sys/bus/i2c/drivers/tas2781-hda/i2c-TIAS2781:00/power/control EOF
4.Copy
TIAS2781RCA4.bin
andTAS2XXX38BB.bin
files from repo into/lib/firmware
.sudo cp yoga-slim-7/lib/firmware/TIAS2781RCA4.bin /lib/firmware/ sudo cp yoga-slim-7/lib/firmware/TAS2XXX38BB.bin /lib/firmware/
- Now logout and login and you’ll have all speakers working.
I didn’t had to do any fixes for alsa mixer, somehow it already adjusted volume for all devices.
Suspend should actually suspend.
- Download slim7-ssdt
- Copy it into EFI folder.
sudo cp slim7-ssdt /boot/
- Run
sudo nano /etc/default/grub
.- Find the line starting with
GRUB_CMDLINE_LINUX_DEFAULT
and add the parameterrtc_cmos.use_acpi_alarm=1 mem_sleep_default=deep
at the end, separated by a space. - Add this line
GRUB_EARLY_INITRD_LINUX_CUSTOM="slim7-ssdt"
- Save the file (Ctrl+X, Y, Enter).
- Run
sudo update-grub
to apply the changes.
- Find the line starting with
- It’s possible to verify that fix is working with a following script: https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py
It might be a good idea, to double check that “secure boot” is not enabled in BIOS.
Enjoy. It’s a great laptop, trully a beast!