sebanc / brunch

Boot ChromeOS on x86_64 PC - Supports Intel CPU/GPU from 8th gen or AMD Ryzen
GNU General Public License v3.0
3.55k stars 388 forks source link

Huge battery drain on sp2017 #710

Open JakoDel opened 3 years ago

JakoDel commented 3 years ago

Title. I've tried installing the latest brunch version (alongside rammus chromeOS 86), but nothing changed :/. It loses like 10%/hour both in standby and with normal usage. Crostini is disabled

sebanc commented 3 years ago

AFAIK 10%/hour in normal usage seems more than correct.

Regarding standby, there is an issue in the linux kernel surface devices wifi driver (mwifiex) which makes it very unstable. The only effective patch I found prevents the device from being fully suspended in standby but 10% per hour seems very high. I will try to reproduce it as I also have an SP2017.

JakoDel commented 3 years ago

AFAIK 10%/hour in normal usage seems more than correct.

Regarding standby, there is an issue in the linux kernel surface devices wifi driver (mwifiex) which makes it very unstable. The only effective patch I found prevents the device from being fully suspended in standby but 10% per hour seems very high. I will try to reproduce it as I also have an SP2017.

The big standby drain makes using the surface outside quite hard. Hopefully you can reproduce and fix it. Thanks for your amazing work!

bdodroid commented 3 years ago

I see the standby drain on my Surface go 2. Wonder if theres something specifically with surface devices?

JakoDel commented 3 years ago

I see the standby drain on my Surface go 2. Wonder if theres something specifically with surface devices?

just read @sebanc reply

calvinlang commented 3 years ago

As a temporary workaround is it possible to have the device turn off wifi on suspension/sleep?

JakoDel commented 3 years ago

As a temporary workaround is it possible to have the device turn off wifi on suspension/sleep?

I assume the problem here is that sleep "breaks" the driver Probably @sebanc is busy, but oh well we'll have to wait for him

calvinlang commented 3 years ago

One thing really interesting I've noticed is that on the Surface Go, if I sleep with the keyboard attached and closed, the drain is about 5% per hour.

Without the keyboard attached it's about 10% battery drain per hour.

sebanc commented 3 years ago

To be honest, I did not have the time to look into this issue. The wifi issue I mentioned previously impacts Surface Pro 4 5 & 6, Book 1 & 2 and Laptop 1 I think but other devices notably Surface Go 1 & 2 or more recent Surface devices are not impacted.

Using the latest release in brunch-unstable repo and rammus recovery image, I just suspended my Surface Go for more than 2 hours and the battery dropped by 2% which seems correct. I will try a full overnight suspend.

If you are still interested in this issue, could you install the latest release from brunch-unstable repo and post :

calvinlang commented 3 years ago

Thanks @sebanc! I just installed the unstable release and I will test the battery over today and tomorrow..

calvinlang commented 3 years ago

I tried out the new brunch-unstable-release. Seems to be the same issue.

Rammus 87 2-hour suspend battery life 92% 8-hour suspend battery life 66%

I understand this isn't a priority. Thank you so much for everything you do.

sebanc commented 3 years ago

@calvinlang Could you post the same results after adding "suspend_s3" option ? (this is only valid on Surface Go 1/2 and will most likely cause issues on other Surface devices which do not support S3 suspend)

calvinlang commented 3 years ago

Absolutely I would be happy to. I'll focus on it this weekend and let you know.

calvinlang commented 3 years ago

I still seem to have the exact same battery drain as without the suspend_s3.

Just in case can you let me know if I entered this correctly?

rmmod tpm
    img_part=/dev/nvme0n1p6
    img_path=/chromos.img
    search --no-floppy --set=root --file $img_path
    loopback loop $img_path
    linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off \
        cros_secure cros_debug loop.max_part=16 img_part=$img_part img_path=$img_path\
        console= vt.global_cursor_default=0 brunch_bootsplash=default suspend_s3
    initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
sebanc commented 3 years ago

It's not entered correctly, you have to add "options=suspend_s3" instead of just "suspend_s3".

calvinlang commented 3 years ago

Ahh! Glad I checked I will try it this weekend!

calvinlang commented 3 years ago

That made a huge difference thank you so much. Battery drain is less than 1% per hour and this is the best tablet I've ever had in my life!!!

JakoDel commented 3 years ago

@calvinlang Could you post the same results after adding "suspend_s3" option ? (this is only valid on Surface Go 1/2 and will most likely cause issues on other Surface devices which do not support S3 suspend)

Any fix for the surface pro 2017?