03-16-2018 08:05 PM
Did anyone have any luck on Ubuntu 16.04?! I tried following the guide here, but the patch gets rejected at step 5. I don't know what to do at this point, as I don't know how to manually edit the .dsl file, or what it even means to do that...Any help would be appreciated.
03-18-2018 05:16 AM - edited 03-18-2018 08:24 AM
i managed to get this done on ubuntu 18.04 and on arch, but haven't tried 16.04. Nevertheless, as stated in step 5:
"Note: Hunk 6 may fail due to different specified memory regions. In this case, simply edit the (almost fully patched) dsdt.dsl file, search for and entirely delete the two lines reading solely the word "One". You can look at hunk 6 in the patch file to see how the lines above and below look like if you're unsure."
This also happend to me on both arch and ubuntu 18.04. There must be a file caled "dsdt.dsl.rej", which shows what was not possible to change. Mine looks as follows:
--- dsdt.dsl 2018-03-03 14:47:12.279105691 +0100
+++ dsdt.dsl 2018-03-03 14:26:30.606427931 +0100
@@ -351,9 +287,7 @@
Name (SS1, 0x00)
Name (SS2, 0x00)
Name (SS3, One)
Name (SS4, One)
OperationRegion (GNVS, SystemMemory, 0xAB54E000, 0x0767)
Field (GNVS, AnyAcc, Lock, Preserve)
Thus, as stated in the guide you have to manually delete these two lines containing "One" in the file dsdt.dsl. Search for the lines above and below and verifiy twice that you have found the right position. Note that the line numbers only roughly match the one in the patch file. Then delete these two lines and move on in the guide.
ps. a solution by lenovo would be cool
edit: i forgot to mention some adjustments for ubuntu:
1. the arch package isal is contained in acpica-tools. Therefore you need to run sudo apt install acpica-tools cpio
2. when you edit /boot/grub/grub.cfg you need to insert /boot/acpi_override instead of /acpi_override
03-19-2018 02:04 AM
Please try pass `acpi.ec_no_wakeup=1` on the Linux command line.
This acpi param is supported from v4.13, it is simple to reduce the power consumption.
If it meets your requirement, then no need to patch DSDT which is more complex.
Power button can wake up system.
03-20-2018 06:58 AM - edited 03-20-2018 07:13 AM
hm `acpi.ec_no_wakeup=1` seems to work well and the system reaches pc10 state and the powerconsumption is minimal.
However, my touchpad is not working on resume :/
edit: touchpad is working i only had to completly shutdown... and not only restarting oO. However new problem, on resume i have to press the power button. Just opening the lid is not sufficient...
03-22-2018 07:51 AM
LID open can't wakeup is a expected result.
Maybe you can use keyboard instead:
# echo enabled > /sys/devices/platform/i8042/serio0/power/wakeup
If it works, you can try a udev rule to make it persistent.
Let's wait for Lenovo BIOS's final solution.
03-22-2018 05:25 PM
I own a X1Y3 and also managed to make it work on ubuntu 18.04. however i have the following issues:
I hope that Lenovo provides a proper BIOS, since this is a disgrace for such a nice machine.
03-23-2018 02:38 AM
Sorry if I'm missing something obvious but where do I put this `acpi.ec_no_wakeup=1` command? Does this negate the need to do all the other stuff to get sleep working properly under Fedora 27?
03-23-2018 06:16 PM
Just to answer my own question 'acpi.ec_no_wakeup=1' goes in the /boot/vmlinuz line in grub. You can add it at the grub menu at boot or add it using grubby command as root.
On my fedora 27 system I usd the following commands to add it to all my kernel entries
grubby --update-kernel=ALL args="ro rhgb quiet LANG=en_US.UTF-8 acpi.ec_no_wakeup=1"
I also edited the /etc/default/grub file and added it to the GRUB_CMDLINE_LINUX line which I hope will add the entry for all new kernels going forward.
I used the following fedora doc as a guide.