Legion Go S overheating in sleep
Hey guys, first off, love your work! I was waiting to dual-boot Bazzite on the LeGo S as soon as I got it from work a couple weeks ago. Anyway, to the point, I updated to ver. F41.20250127 on Tuesday (I installed Bazzite before it got official support) and so far, pretty much everything is running great. However, yesterday an unusual and kinda scary thing happened: While in sleep and plugged to AC, the Legion got extremely hot! The whole system appeared to be in sleep as usual, but it was like the CPU was still running/heating up with no cooling. I’m pretty sure it was the CPU, as I couldn’t even touch the display on the left side due to the heat and I could smell a nasty/burnt smell from the fan exhaust. After trying to wake the Legion up, it fell beck to sleep after a second or two, and eventually the device turned off completely. Did you encounter anything like this before? Maybe on other handhelds? Any way I can help to troubleshoot this? I’m really worried for it happen again and actually damage the device. Thank you!
242 Replies
https://gitlab.freedesktop.org/drm/amd/-/issues/3929 join the club. I was hoping to have fixed it by now
GitLab
Legion Go S - EC is chatty during sleep and heats up device after c...
Brief summary of the problem: Due to very likely what is a BIOS bug related to peripherals, the EC of the...
can you try to see if it happens in Windows?
no we have not encountered anything like this before
Interesting! This didn’t happen to me in Win within the 3 weeks I’ve been playing around with the device. If we could confirm it’s a BIOS bug and solidly reproduce it under Windows (I will try), I’m pretty sure I could get the dev team to look into it, as I’m part of the technical support team at Lenovo. Not sure what would they say if it happens only with Bazzite/Arch, as it’s not “officially” supported.
I have been trying to see what is happening the last 2 weeks
Well the go s will support Linux eventually so they will have to fix it
I'm going to charge in windows too
Started it charging and made sure windows turned off the fans
I’m sure they will fix it eventually, I’m just wondering whether the OS support will be different for the Win version and the SteamOS version and for now we only have the Win version. So far, it seems they will also have a different model numbers.
I’ll try to bring this up to attention anyway.
Thanks. I don't think it will because I have some SteamOS firmware on mine and it installed just fine
Don't install that though
Stay on 0.0.2.4
Mildly warm, maybe windows is ok
“If an external SSD/dock are connected and the device is under load, occurrence is around 90%.” - I do remember having external SSD connected and running Ryujinx. 🤔
It only overheats to the point it smells weird when charging
But yes sleep is kind of weird
Alright, thanks for the confirmation.
No, the device overheating is a liability and something all of us want to avoid. Being cny though will make getting an answer the next week difficult
Anyway, I’ll have to wait until next week, as now it’s China New Year holiday and basically everyone is off.
I was just typing that 😀
From my POV, you are absolutely right!
I already grabbed all logs we can grab. AMD maintainer told me sleep registers look ok and that Lenovo needs to look into it
But for now if you charge it while it's awake and turn it off instead of letting it sleep for hours is ok
It's annoying but it's ok
Right. If you could provide me with anything useful you’ve got, I will bring this up to product engineering on Monday.
This link
Oh, right. Didn’t notice the files somehow. Thanks!
If you use handheld daemon press updates then go to testing
New kernel with potential fix
Was about to let you know that the same thing just happened again even without AC connected, while letting the system sleep overnight (with Ryujinx opened). The battery was at 20% in the morning (had over 80% when put tu sleep), the device was hot and I could hear the CPU working (the clicking/buzzing sound, like when it’s doing computations).
Anyway, I installed the test kernel and I’m testing it now.
So far, no issue, but I just started. The system is in sleep, with AC connected and Ryujinx opened.
How many watts did you use
I think once the ac bug happens it's stuck like that
Hopefully with the testing kernel which is also on stable is better
65W Lenovo charger … and I always use Balanced TPD, if that helps
So far so good
Ok because I thought 33W might be exacerbating things too
I might limit it to 30w
Got it, but I’m going for as quiet as possible experience without sacrificing much of the performance. 15W is quite fine for that so far, but I noticed that e.g. Ryujinx uses 20-25W anyway for whatever reason.
That's normal
If you’d like I can test with 33W
15w is the apu power
At 33w it uses 46w
No keep going on balanced
damn, the battery must be terrible then 😬
It would be useful if you can give the ok at low tdps with the new kernel
If you wonder what the new kernel is doing, it just wakes it up when you connect the charger
Will do. For now I’ll keep Balanced, but I’ll also test Quiet over the weekend.
Both are low enough haha
Interesting. I would assume it had something to do with suspending the processes more properly or something like that.
Everything suspends properly
The charging is a bios issue that's caused by not waking up when you plug in the charger
Well, hopefully
Hopefully part of it not suspending correctly is due to that as well
The CPU might not sleep correctly at weird tdps either
Hm, it sure does wake up now when I connect AC
I do remember this on Win as well and I hated that. But if it helps to prevent the issue for now, then so be it
I wonder why it happened on battery overnight then
I did update to 20250131 stable inbetween the issue occurrences
Maybe it was before you charged it before and it got in a bad state
Let's hope
Well Microsoft guarantees that that happens now and if the go depends on it it depends on it
Modern Standby Wake Sources
This topic outlines scenarios where devices in a PC must wake the processor.
hmm, might be
good to know!
Well, thanks for the support so far! I’ll let you know how the testing goes over the weekend.
new build in testing limits to 30W too and i tried to break it and i cant
Still nothing on my side with Balanced as well as Quiet modes
to my surprise, I’m starting to believe that it really could have been caused by such a stupid thing
lenovo will probably want to do a bios fix, but this is good enough for us if it can take a couple more days
So now I’m wondering if there is still anything to fix … or do you mean it would be preferable to not have to rely on waking the system up upon AC connection, which apparently solves this?
this patch will be a bitch to send to the kernel and will merge in half a year the soonest
so it will be in a distribution like ubuntu in 2026
valve can of course add sooner, but its an annoying feature nonetheless
the easiest way for lenovo right now is to fix the bios if they want to work on other linux distros
I got high battery drain last night
46% I want to say
Well 46 to 0
Got it again
Seems like if it sleeps for more than an hour it happens
I unfortunately can confirm, it happend to me twice today as well , while it didn’t happen even once yesterday. However, I did update to “testing-41.20250131.1” this morning! I just reverted back and I’ll let it in sleep overnight, we’ll see…
you dont need to revert
stay in the latest just to make sure
im gonna leave it sleeping in windows today
I’m 100% sure it happens with “testing-41.20250131.1” and it didn’t (to me) with “testing-41.20250131” for the whole day … I just want to confirm this
I noticed there’s even newer ver. testing-41.20250201, so I’ll try that tomorrow
i didnt change anything between those versions
actually, i did a small change
that shouldnt affect anything though
feel free to stay on 31 then
now that’s weird then
let me confirm overnight just to be sure
sure, hopefully yorue right
i think it was just the fact it needs an hour or so to start becoming weird
so you have to run overnight
I think it would be best for you to see if its heating up before you go to bed though instead of letting it drain its battery overnight
I thought of checking in the middle of the night, but if your theory of over an hour is right, I just put it to sleep right now and will check in an hour or two
I’ll be up at least for another 4 hours, so it should definitely happen before I go to sleep
yup
shit
took about 3 hours of non-stop sleep, but it happend anyway
guess i didn’t put it to sleep for long enough yesterday
If that happened in Linux then I guess I have to take a look at my windows unit
Been sleeping for 3 hours
its fine
yea reports normal
rip
It slept like a baby in windows
Yeah, I can confirm, I Iet it sleep in Windows for good 10 hours and nothing
Then I updated to “testing-41.20250201” and it already happend twice
I can’t help but wonder what exactly is behind the different behavior between Win and Linux
the main thing that convinces me that it could be fixed with BIOS is that the original Go (and other Win based handhelds) doesn’t have this issue
on the other hand, none of them use the Z2 Go
I am tracking an issue with the Linux kernel missing commands close to after sleep
In multiple handhelds
In this case it seems it causes this
echo 1 | sudo tee /sys/module/acpi/parameters/ec_no_wakeup
testing this command again, we wil ltry to stick it in the kernel tonightI expect to pick up a LeGo S today, let me know if you need more hands for testing.
Thanks for all the info. Let me know when I should update and test.
You can run that command
We will try to get the kernel updated today but it should be like running that command
Lasts until you reboot
Our Lenovo contact also created an internal report about it so hopefully we can get it fixed
Will do in about an hour when I get home
was planning to report this today as well, but the chinese are still off unfortunately
After we update to that kernel you can use an older version for the report
im having an issue where I cant wake it from sleep with the powerbutton. Nothing happens, it just keeps blinking
is that the same as this one?
you used the command?
no, happened once to me
has not happened in the last few days
make sure you can turn it on with the power button at least most of the time
did not try the command yet, figured id wait for the kernel
kernel is done
in unstable
but will reboot and try it out now, see if it helps
testing kyle is building rn
unstable hhd?
no, unstable bazzite
they made some changes to how its built
ah ok
and tldr is kernel happened to be built there
testing broke for some reason
i had the wake from sleep issue this morning, even when running the command. What biod version are you guys on? Maybe im behind
bios*
looks like they havent released any bios revisions yet. Surely one will come soon now after release
i will say im positively suprised with the performance of this thing. Eternal Strands runs fine, VRR helps a lot
i was bracing for it to be a lot worse
Kernel is in testing
nice
Should be in stable too
I saw it built
Yes it's known issue under Linux
I found that at around 30w it's quite stable
Above 30 it happens more often
I'm testing 25w now
There's also this issue. So if it starts overheating power button can also get a bit weird
hmmmm I don't think the issue is related to TDP setting though...
I found that at 33w there's a chance when I make it sleep it will just get stuck
And not wake up, instantly
Yes, the device hang due to unknown reason.
Under SteamOS, I sometimes cannot put the device into sleep, it will hang at the Steam logo animation
We have custom patch that turns off the screen so I don't know if it gets stuck there
Because frozen steam logo is not very nice looking
But recently steam had bug where it got stuck before sleep and just got fixed
ran the command yesterday evening … the Go S is now sleeping perfectly fine since 7pm (that’s 14hrs by now) 👌
happend to me as well when the overheating in sleep was happening
do you know when they addressed the bug?
Yes there are multiple issues together
I think 2 days ago
Last steam stable
But with the no ec wakeup patch that fixes overheating for now and 30w limit I think it's very stable
I stuck many times when I put it at performance mode (red light, AC 30W, DC 25W)
Yeah me too but that was when overheating
When there is no overheating issue it only happened at high tdps
I need to update ui red mode I put as 20w thanks
Quiet and balanced keep Go 1's setting, but performance mode are higher
Custom Mode limit is AC SPL 40/sPPT 43/fPPT 53; DC SPL 33/sPPT 33/fPPT43
we enabled STT mode as default, so if you want to limit the TDP, you should limit the sPPT and SPL
Yes I saw in legion space. Right now we don't have special AC setting and 40 is a lot higher than 33
So I started with 33 but because of sleep fail I limited to 30
Yes we set sppt and fppt
OK very nice
Also i like legion l + y 0.0.2.8 firmware making it on the right side not nice 😔
@MarshallBeX19 Man if you can report all these issues to project team internally is very helpful for us, I think you are ANZ region CEC, right?
yeah, we will give a option in HID spec, let OS/App change the Combine key behavior
currently it recognize OS automatically and when in Linux, it will disable some key combines and move legion l's function to legion r
Maybe mark forwarded you my comments. Yes that would be great.
I still don't understand how turbo mode works but we want to give the option to users to have
On its own
Turbo with back buttons
Pasteq and Pierre-Loup suggest us to change the auto detect from FW to a HID command.
Mark Pearson? I didn't see his mail on issues
I think he opened an issue internally for the gitlab issue
Maybe he issues in their JIRA system but I have no access to it
I don't understand any of that. Firmware command works for me. Hid especially that's great
I'd rather have three, one for the power shortcut, one for the rest of the shortcuts and one for the turbo button stuff in the back
The last one probably exists already
But is not in legion space yet
I was playing GTA once and ended up making the whole right half of the controller turbo buttons
I will look up to burst mode defination
Nope, EMEA Technical Engineer and rest assured, I will do my best!
I know Mark, I will get in touch with him about the progress he managed so far on any of this
You can send your summary to Elina Zhang who is in charge of communication with Service
I’m planning to get this to development team via product engineering. Seems like Elina is off until the end of the week anyway. Does she know about any of this already or what’s the situation?
DM your Lenovo mail and I'll share you a SteamOS repair image, use that and report all issues you encounter.
Elina has shared a image to NA region, IDK how about EMEA
As far as bazzite is concerned we have this little bios issue discussed in this thread. Then there are two little cosmetic bios issues and the controller binding issue which you will fix
Then, as far as Bazzite is concerned the legion go s integration is done, and we will be doing our standard bug fixes moving forward or working with you if you decide to do custom controller firmware to make sure the migration goes correctly
The little cosmetic issues is that currently you can't read if battery conservation is enabled, and you can't disable the powerlight only during sleep
You can only disable it when the device is on and off together. Most users want to disable it only during sleep. When that feature was ported to the go s bios you unified the EC var for it
We will also merge that kernel driver once it is ready
Point being that I expect that most issues encountered in the recovery image won't apply to us
It will be added in future BIOS update, we missed these functions.
It's through our WMI interface, I will discuss w/ Pasteq about it.
Just do it the same way it was on the original go
I think 0x04 was for awake and 0x24 for sleep, now both do both
We have common spec with our Laptops, Go S is following the spec, but Go 1 somehow not
Maybe there will be some work for you, as the light control behaviour may be different
With the last bios version you switched the spec
On the original go
Yes, V35
Then the go s does both specs
But does the same thing in both
So it should be OK
Yes, they are same
I need to fish up the code. But the problem is users want to be able to turn off the led only when the device is asleep
In bios 35 it is possible on the original go
On the go s you can only control awake and sleep together
Got it, the implements are not same because two ODMs
I'll let them follow the Go 1's behaviour
https://github.com/hhd-dev/hwinfo/blob/03222473100cf14983c4b382a0bdd85bc286c4c8/devices/legion_go_s/decoded/dsdt.dsl#L3451 go s is like this
GitHub
hwinfo/devices/legion_go_s/decoded/dsdt.dsl at 03222473100cf14983c4...
Contribute to hhd-dev/hwinfo development by creating an account on GitHub.
https://github.com/hhd-dev/hwinfo/blob/03222473100cf14983c4b382a0bdd85bc286c4c8/devices/legion_go/acpi-N3CN35WW/decoded/dsdt.dsl#L13655 go is like this
GitHub
hwinfo/devices/legion_go/acpi-N3CN35WW/decoded/dsdt.dsl at 03222473...
Contribute to hhd-dev/hwinfo development by creating an account on GitHub.
Go has separate ledp ledm
If your odm can also make that for the go s that's great
You just tell me the bios version and I add a bios check
Like I did for the original go
So HHD controls these lights directly through EC bit or?
WMI, but it's a bit dirty. WMI drivers are not easy to build
Essentially we call the wmi function instead of in the kernel from the program. Like windows
We will use pastaqs driver once it's ready
got it, I think it will be finished at BIOS V18
Moving forward all wmi stuff like for the claw we will do with kernel drivers. When we did the initial version for the go last February we didn't have a custom kernel
we will focus on the heating problem first
I will say it makes it easier though. Communicating with other distribution maintainers to ship patches is difficult
Yes
Let me know when you have anything or you want help with the wmi driver
thanks a lot!
when we have news on Go 2 we will let you guys know, but not through Discord lol
just want to chime in and say my suspend/resume basically never works on stable bazzite / stable hhd
It suspends fine but pressing the power button does not wake the device
i have to keep the button pressed ubtil it shuts off and then do a cold boot
Oh no
@Kyle Gospo automatic builds strike again
I'm going to stable to check it out
Send a bug report from hhd. My unit works fine
👍
ive has the problem with 2 different units now in two days
had both a 16g and 32g home
https://paste.centos.org/view/856b3634
im going to testing on my device to see if it helps
Update to latest stable first
Same unit same ids
👍
Thought i was on latest stable sorry
updating and will send another bug report if it happens again
It won't show anything I wanted to see your sku
Got it
one other small bug I noticed; i cant turn off the controller leds
i can change the color but not turn them off outright
Yeah that's fixed already for next ver
👌
Just lower the brightness to 0
check - thx
Still happens on latest stable unfortunately
its like the power button just doesnt work at all once its suspended. It does its slow blinking to show its suspended, but i cant do anything to wake the device
Does it always happen?
almost always
had it fail like 9/10
even when it works it seems weird, like it only registers my press after a sec or two
dont think its worked a single time on this unit
only the 16g one it worked once or twice
That's ok that happens to me
Turns out stable is an older kernel
Try testing
👍
works on testing
😁
oh no, it just failed on testing
same issue
had it sleep for a bot longer, like 10 mins and now unable to wake
bit
What game are you playing
Eternal Strands
UE5 i think
TDP set to the 20w perf mode (red)
I'll switch to performance too
👍
its the latest protonge btw, if that matters
Damn you jinxed it
And I had almost finished a mission
Performance mode did the thing
sorry 😅
so switching to balanced befor suspend might be a workaround?
use custom 25w
👍
that fan really goes at 25w 😂
in custom mode the fan curve is more agressive
ah ok
| PPT LIMIT FAST | 35.000 | fast-limit |
this is a tad high maybe
well thats what i have it set at 30W too thoughYou surely know a lot more about this than I do, but it feels like theres a lot of diminishing returns above 20w (even 15)
thats the case yes
using the 25w performance mode I just had i suspend/resume for 20ish minutes no problem
custom mode*
performance mode fix is in testing
😍
bazzite or hhd?
Bazzite
👍
Can confirm, performance mode now resumes fine on my Go S on latest Bazzite testing. gj!
Newest version made it to stable
Should sleep very well. Permanent fix will be bios that will be fixed by lenovo
nice! No sleep issues in testing (apart from the usual audio crackle)
Do you know if theres a way to disable the annoying vibration when using the trackpad?
Ye reset controller in hhd
oh man, awesome, thx
im seeing markedly better performance with my device plugged in than when on battery, even at the same tdp. Is that supposed to happen?
looks like it specifically only makes a difference in cpu bound scenarios
What tdp
I'm pretty sure that all tdp profiles are boosted when plugged in
20w perf
Turns out that's 25w that was a typo on my end
but raising tdp when unplugged doesnt make a siff
diff
Well on custom mode what you see is what you get
Up to 33w
even on 30w custom it increases fps by 33% to be plugged in
i cannot replicate the performance in any way unplugged, not even at highest tdp
Highest tdp turns out is more, next ver it will go up to 40w
But at 30w your battery draw is correct
You can also try updating the bios, version 17 came out
i think something else is going on, how would going from 30-40w tdp give med 30% more fps
when 20-30w almost gives nothing
That's true ah
oh, i couldnt find any bios updates at lenovos site
do you know where i can find it?
Well they started releasing bios versions in linux
There's a command for it I can't recall
sudo fwupdmgr refresh
then something about get-updates
alright cool
bad look for lenovo in the reviews coming in if they are testing on battery power
i ran all available updates through fwupdmgr
Same behaviour
ill check it out later
good news is it matches my z1e ally in elden ring on performance when plugged in 😍
so i did some digging of my own and I think you are right in that its because tdp is increased when plugged in
ryzenadj settings in performance preset on battery


and same profile when plugged in


its just that the fan profile is a lot nicer using the built in preset plugged into the wall than setting a custom 40w tdp is, which basically makes the device take off
z2go really needs a lot of power it seems…
not really, they just juiced it to max the perf
the tuning is very agressive
they did but the fan doesnt go as loud
yes, the caveat with the legion go is that the custom profile has a very agressive fan profile
you can setup a custom fan curve for that
in hhd?
yes
oh that would be awesome
i dont care that it runs 10deg hotter
custom profile fan curve is meant to work at 40W
for any other tdp its overkill
👍
Im on SteamFork rn just to so some testing but afair hhd only allows custom tdps up to 30w
is there a way to go to 40?
Yes wait for the next update or choose the overclock option
👌
The update isnout
How is that
Just hasn't been pushed to bazzite yet
Maybe it has
TDP limit was to prevent lockups that are fixed now
got it
steamfork is OK, most things seem to work out of the box
it depends on some decky loader plugins for hhd functionality
it doesnt seem as polished as bazzite + hhd
just wanted to test out the charging tdp behaviour on another distro
could have installed simpledeckytdp on bazzite, works fine here too
unsure if it is updated for the go s
i get some wonky behaviour with it and the built in profiles
but it seems to work if you set it to custom tdp mode and then adjust
its not updated for the go s yet
there you go
i didnt know how often hhd calls ryzenadj and how that would clash with simpledeckytdp
hhd detects simpledeckytdp and disables itself
no i had an inkling
ah
nice 🙂
we dont let you footgun yourself here
also hhd does not use ryzenadj
it uses lenovo methods
interesting
and for other devices an official amd interface
its like legion space
in an unofficial way
simpledeckytdp also supports lenovo methods but has not been updated for the go s, so you ended up with ryzenadj
the lenovo methods are “better” or is it to support their built in profiles?
One thing that does seem different in steamfork is that waking from sleep responds faster
yes, the power button will light up faster
power indicator changes instantly when I press the button
yep
thats partly a decision by lenovo here
and how we reworked things
the powerbutton indicator on the go s lights up when the display turns on
ah
but the stock kernel does not support that thats custom on bazzite
so it turns on instantly in other distros
okay so its custom to bazzite that it waits on the display
but why? 😁
mostly it was because it makes a difference when making the device sleep
because then it happens instantly
ah right
we turn off the display, rgb, and power light instantly
did you notice that?
not really no
im just happy when the display is off and sound stops, dont look at the indicator
but i think it makes sense
i also always have rgb brightness at 0 so im probably the wrong person to ask 😅
can you comment a bit on that so i know the state of things?
as for that, thats the only proper way to do it to not get weird behavior
otherwise the EC will fight you and set tdp over you
or you will have wrong fan curves
yeah got it, so thats essentiallt what I saw when using ryzenadj with the built in profiles
for SteamFork controller support was there, suspend/resume worked
i could change between the different controllers using a decky plugin
audio was fine, gyro was working
the fan plugin didnt work for fan adjustment, and as you said simpledeckytdp hasnt been updated either
otherwise everything else seemed to work
which one did you use
deckyplumber
not the plugin
controller
ah
the hori one
yes that one suspend works rumble doesnt
the way they did it
did you test gyro?
only the values in the calibrator
saw it registering
yeah rumble probably didnt work, youre right
ok so tldr is controller worked somewhat
yep
enough to play with tdp
yes just booted up elden and tried to replicate my plugged in perf on battery
how did that go
i managed to do it by setting the lego profile to custom and theb using simpledeckytdp up to 40
thats when I noticed I could see the ryzenadj output in the not workkng fan adjustment plugin
ryzenadj will let you go to 40W, the EC has a built in limiter
but you are stressing the battery
and I saw it upped tdp to 40 when pluggin in on the performance preset
official spec is 33W for battery, down to 20%, then the EC throttles you to around 20W
ah okay
i saw that happen for sure
it went right down
i thought i was battling the builtin profiles
well it was
you could set tdp again and get it to 40W
tbf i sont want even 40w tdp, I just want some more juice to the cpu
thats the bottleneck
dont*
we are very conservative CPU wise
CPU settings in hhd will let you change that
you can enable boost and push EPP
yeah in most scenarios thats probably good
i tried but doesnt beat upping the tdp
will experiment some more
if you still have that distro
can you do a test for me?
bazzite is already installed again, sorry 😅
oh well
it seems like the manual fan curve in hhd can only be adjusted up, not down
ah sorry
didnt see the checkbox
Yes, officially you can only go up from the standard preset
But the original go didn't have a limit
Lower
right
doesnt seem like setting it lower actually works
why would anyone go up from something thats already so aggressive lol
hmm thats interesting, even going custom 40w in hhd i cannot replicate the battery performamce I got ubder steamfork with simpledeckytdp
performance on battery rather
Yes bios limits
Ryzenadj no bios limit
Got it
oh man if I set it to quiet profile and go 30w with ryzenadj its perfect
i get almost plugged in performance and the fan is really quiet, temp around 80deg
but i guess once simpledeckytdp starts using the official lenovo api that will no longer work :/
It lets you choose
If you ask me though
You want to do this stuff return it and buy another device
which one?