Lenovo Yoga Slim 7 14

Mini Review:

In 2021 its very hard to find a laptop under £1000 with a decent screen. Most have 45% NTSC Colour Gamut. Most reviews will tell you this is ok as long as you are not gaming or photo editing. It is NOT ok. At 45% NTSC colours are washed out. Especially the red. This is noticable even just browsing the web, let alone looking at photos. A 45% NTSC screen is just not good enough, yet this is what most laptops come with. The minimum for a usable laptop is 72% NTSC or 100% sRGB.

Laptop hinges are another area which can be difficult. Most laptops now come with a hinge that uses the lid/screen to prop the body off the ground. The reasoning behind this is that it creates a gap between the laptop and desk for airflow because modern laptops get so hot. This is no good if you are actually using the laptop on your lap. Also the jury is out on the reliability and durability of these hinges. The Lenovo has a traditional hinge and little feet that keep the case off the desk. That said it does not seem to get hot under normal operation.

Ports:

Ports are another issue on laptops. Its hard to find one with a decent array of ports. Trackpads are usually awful so first thing I do is plug a USB mouse in, thats one port gone straight away. The Lenovo has a decent amount of ports.

AMD Ryzen 4700U Processor:


Good Stuff:

Bad Stuff:


Hard Drive Layout

Like all machines now, the laptop comes with Windows pre-installed and a recovery partition and no CD/DVDs. I have no plns to use Windows at all, so I backed up the whole disk via dd to a file image on a spare USB hard drive. I then installed Ubuntu Budgie 20.10 using full disk encryption and the whole hard drive.

Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVLB512HBJQ-000L2              
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 885501F8-62CB-459A-86D0-A69CBBB64903

Device             Start        End    Sectors   Size Type
/dev/nvme0n1p1      2048    1050623    1048576   512M EFI System
/dev/nvme0n1p2   1050624    2549759    1499136   732M Linux filesystem
/dev/nvme0n1p3   2549760  1000214527 997664768   475G Linux filesystem

Linux is installed in an encrypted partion which contains two LVMs, one for swap and one for root.

lsblk -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT

NAME                          TYPE    SIZE FSTYPE      MOUNTPOINT
nvme0n1                       disk  476.9G             
├─nvme0n1p1                   part    512M vfat        /boot/efi
├─nvme0n1p2                   part    732M ext4        /boot
├─nvme0n1p3                   part     75G crypto_LUKS 
│ └─nvme0n1p3_crypt           crypt   475G LVM2_member 
│   ├─vgubuntu--budgie-swap_1 lvm       1G swap        [SWAP]
│   └─vgubuntu--budgie-root   lvm     474G ext4        /

There are two issues with the above layout. Ubuntu only installs 1GB of swap, which is not enough if S4 Hibernate is required. Also I am not keen on everything being in one large root partition.

Relayout Hard Drive...

lsblk -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT

NAME                          TYPE    SIZE FSTYPE      MOUNTPOIN
nvme0n1                       disk  476.9G             
├─nvme0n1p1                   part    512M vfat        /boot/efi
├─nvme0n1p2                   part    732M ext4        /boot
├─nvme0n1p3                   part     75G crypto_LUKS 
│ └─nvme0n1p3_crypt           crypt    75G LVM2_member 
│   ├─vgubuntu--budgie-swap_1 lvm       9G swap        [SWAP]
│   └─vgubuntu--budgie-root   lvm      66G ext4        /
└─nvme0n1p4                   part  400.7G crypto_LUKS 
  └─mydata                    crypt 400.7G ext4        /DATA

We are now good to go.


Suspend and Hibernate

Use the following command to see which suspend modes are supported:

dmesg | grep ACPI:\ \(

[    0.341638] ACPI: (supports S0 S4 S5)

The laptop does not support S3 Suspend. When it goes into suspend it actually uses S0, s2idle, which uses quite a bit of power.

Hibernate will save the RAM to swap (disk), and power down the machine completely. Note to support Hibernate Secure Boot has to be disabled.

Use the following command to test Hibernate:

systemctl hibernate

To check the logs:

sudo journalctl | grep -Ei "PM: |hibernation" 

To change the laptop to hibernate when the lid is closed edit the login.conf file:

/etc/systemd/login.conf

HandleLidSwitch=hibernate

Change the GRUB config to resume from the swap partion:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/mapper/vgubuntu--budgie-swap_1"

Update grub:

sudo update-initramfs -u -k all
sudo update-grub

I have found the lid switch on the Lenovo pretty sensitive. This means even if you catch the lid it will boot the laptop. I tried a few Linux option to disable booting when the laptop starts:

None of these worked for me.

What did work for me was disabling "Flip to Boot" in the laptop BIOS.

We still have the problem that after 15 minutes in Ubuntu Budgie that the laptop will suspend (to S0) and not hibernate.

If we disable AllowSuspend in sleep.conf the option will disappear completely. I ofen wander away from my latop, so would like some sort of suspend/hibernate. To work around this I changed the definition of suspend to be hibernate:

/etc/systemd/sleep.conf

AllowHybridSleep=no
AllowHibernation=yes
SuspendMode=platform shutdown
SuspendState=disk

There is probably a better way of doing this, but it works for me.

Turns out there is. Set this with Dconf Editor:

org.cinnamon.settings-daemon.plugins.power sleep-inactive-battery-type 'hibernate'

Initially it would fail to wake from hibernate due to a graphics issue:

WARNING: CPU: 4 PID: 10460 at drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link.c:2546 dc_link_set_backlight_level+0x92/0xf0 [amdgpu]
...
Feb 09 14:57:01 stealth kernel: amdgpu 0000:03:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring kiq_2.1.0 test failed (-110)
Feb 09 14:57:01 stealth kernel: [drm:amdgpu_gfx_enable_kcq.cold [amdgpu]] *ERROR* KCQ enable failed
Feb 09 14:57:01 stealth kernel: [drm:amdgpu_device_ip_resume_phase2 [amdgpu]] *ERROR* resume of IP block  failed -110
Feb 09 14:57:01 stealth kernel: [drm:amdgpu_device_resume [amdgpu]] *ERROR* amdgpu_device_ip_resume failed (-110).
Feb 09 14:57:01 stealth kernel: PM: dpm_run_callback(): pci_pm_restore+0x0/0xf0 returns -110
Feb 09 14:57:01 stealth kernel: PM: Device 0000:03:00.0 failed to restore async: error -110

For more inflormation see here. But since a kernel update all seems ok now.


Packages

To suit my requirements I removed these packages and installed my usual software.

Remove packages:

apt remove rhythmbox
apt remove gnome-2048
apt remove aisleriot
apt remove gnome-mines 
apt remove gnome-sudoku 

Add packages:

apt install gnome-terminal
apt install net-tools
apt install python3-pip
apt install geany (problem with geany freezing when typing)
apt install handbrake
apt install clementine
apt install openssh-server
apt install python3-acoustid
apt install php-getid3
apt install flac
apt install lame
apt install inkscape
apt install pdfjam
apt install php-cli
apt install sigil
apt install evince
apt install audacity
apt install mediainfo
apt install mkvtoolnix-gui
apt install rclone
apt install libgl1-mesa-glx 
apt install syslinux-utils
apt install librsvg2-bin
apt install exiftool
apt install gpsbabel
apt install php-xml
apt install mediainfo-gui
apt install isync

Add other packages:

XnViewMP-linux-x64.deb
Signal
Puddletag

Specs: