fiji-flo / x1carbon2018s3
- четверг, 19 июля 2018 г. в 00:15:42
Shell
S3 suspend for the X1 Carbon 2018
Unfortunately the X1 Carbon 2018 does not support suspend on Linux. There's an ongoing discussion in the Lenovo Support Forums. With some help from the Arch Linux Community, I was able to create an ACPI override for the DSDT. This enables full support of S3 suspend on Linux.
This guide is written for Arch Linux but should work with any distribution out there.
The current BIOS version for the X1 Carbon 2018 is 1.25
. You can download the update ISO from
the Lenovo Support Site.
If you wanna update via USB drive use geteltorito.
geteltorito -o x1c2018-122.img n23ur06w.iso
sudo dd if=x1c2018-122.img of=/dev/sdX bs=512K
Reboot from USB and follow instructions.
Make sure that you have iasl
(via acpica) and cpio
(via cpio) installed.
Thunderbolt BIOS Assist Mode
to Enabled
(via Config
→ Thunderbolt 3
).Secure Boot
curl -O https://raw.githubusercontent.com/fiji-flo/x1carbon2018s3/master/generate_and_apply_patch.sh
chmod +x generate_and_apply_patch.sh
./generate_and_apply_patch.sh
Edit your boot loader configuration and add /acpi_override
to the initrd
line.
To ensure S3
is used as sleep default add mem_sleep_default=deep
to you kernel parameters.
If you're using systemd-boot your
/boot/loader/entries/arch.conf
might look like this:
title Arch Linux ACPI
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /acpi_override
initrd /initramfs-linux.img
options root=/dev/nvme0n1p2 rw i915.enable_guc=3 mem_sleep_default=deep
If you made it work with other boot loaders please help out (PRs are most welcome).
/acpi_override
must be specified before /initramfs…
./boot/acpi_override
instead of acpi_override
.After rebooting check the output of:
dmesg | grep -i "acpi: (supports"
should look like this:
[ 0.230796] ACPI: (supports S0 S3 S4 S5)
Esonn did an initial blog post about my patch with some more detailed explanation.