Legion Go Suspend issue
new thread for documenting the suspend issue on the Legion Go @Jan @Kyle Gospo @Aru
First symptom: only happens in gamescope, not in desktop
102 Replies
amd_drm crash
page allocation failure
smells like memory policy issue
I tried 3-4 more times and all I got was the white flashing issue
Also had terrible controller lag
But suspend worked
This is the bazzite kernel on arch, right?
https://aur.archlinux.org/packages/linux-fsync-nobara-bin here's the kernel
Yes
Note that the issue isn't consistent, sometimes suspend is flaky, other times it works
When I say controller lag I mean the mouse
Yes definitely, my kernel has less lag I thinn
Maybe it's the portal triple buffering
I was going to check if the suspend issue is present on nobara and Chimera.
Don't bother with chimera
The kernel is not properly updated
Isn't it on 6.8?
Nobara uses a very similar kernel
Properly meaning having the correct patches etc
6.8 is not out yet if it is that sucks
6.8 had even worse issues when I tried it
It's probably zram related
Not enough ram to do flushing etc
But I don't use zram and have a big swap
So I don't know
Suspend works now
I tripled my zram, but still saw the issue
Also no controller lag
Also note that the issue was more likely when suspending mid-game
Basically when ram usage is higher
I was in portal, not very demanding
Also white issue probably had to do with using a separate tty for gamescope
Still annoying
Let me check my kernel for it
No white issue on my 6.6
6.6 best kernel
Would highly suggest offering a 6.6 option for now. There is literally 0 reason to follow upstream on a handheld distro
It makes harder recommending bazzite right now
I wish there was something like latest vs stable
There's testing
6.6 still has long term support, I rebased my kernel on 6.6.16 and it is fine
But eh, I also get that maintaining a distro is lots of work. Offering a stable 6.6 version would be additional work
Using a stable kernel is less work
But that's imo
The ideal would be to do a git bisect and find the offending change
The ideal would be opening an issue on amd drm
and letting Mario Limonciello find it while we coast
But the reason why it worked before for the 30 fps bug is because the bug was introduced by a nobara change, so I was able to bisect on nobara
the log is posted in this thread
maybe I will do it, dunno
https://gitlab.freedesktop.org/drm/amd/-/issues open an issue here
GitLab
Issues · drm / amd · GitLab
amd (amdgpu, amdkfd, radeon) drm project, currently for issues only.
similar issue: the go has trouble booting some times. Gamescope does not init properly, gets stuck to a black screen
steam sounds can be heard
note that the black screen issue has been around since at least november
This is what I noticed. Almost never experienced it from Game Mode home without a game running.
I’ve been running from the 20240205 snapshot since this issue reared its head
This issue has been posted https://gitlab.freedesktop.org/drm/amd/-/issues/3172
GitLab
Immortals Fenyx Rising causes failure to go into sleep mode with an...
Brief summary of the problem: I'm unable to enter sleep mode on a Steam Deck LCD if I'm running Immortals Fenyx...
that looks remarkably similar to the issue we're running into
GitLab
drm/amd: Stop evicting resources on APUs in suspend (226db360) · Co...
commit 5095d5418193 ("drm/amd: Evict resources during PM ops prepare() callback") intentionally moved the eviction of resources to earlier in the suspend process, but this introduced a subtle change that it...
It’s Bazzite, too
Yeah, I saw that patch. But did we see evidence of APU errors? I just remember there not being enough memory to continue with suspend.
Still, looks promising
GitLab
drm/amd: Stop evicting resources on APUs in suspend (226db360) · Co...
commit 5095d5418193 ("drm/amd: Evict resources during PM ops prepare() callback") intentionally moved the eviction of resources to earlier in the suspend process, but this introduced a subtle change that it...
Sounds like this patch might fix 6.7's fun new suspend issue
do note that I had suspend issues on my win 4 with S3 sleep too
so i had reverted to 6.6 on the win 4
will add in a bit
@Kyle Gospo just got the black screen too, once
Seems gamescope might crash some times
How does bazzite handle gamescope crashes?
It's a session so it should restart or kick you to desktop
Matches chimera
Ok hopefully it does but check plz
Easy fix if it is
Plagued you since November
if this is replicable for someone running nobara, i'm building a local version of our kernel with that patch included rn for confirmation it fixes the issue
@Jan if you haven't already kicked off a build
https://gitlab.freedesktop.org/drm/amd/uploads/4af61751f8fa08340990b48824e4f9c5/amdgpu-ignore-min-pcap.patch
would be nice to have as well, AMD fucked up power limiting and a lot of people are pissed about it
easy win
havent yet
GitLab
Under-power limit on RX 6700XT too high, possible kernel 6.7+ issue...
I used to be able to set power limit via apps like corectrl to 115W and with that I was achieving huge efficiency(perf. vs power drawn was less...
been busy eating noodles
🍜
I'll work on it now since uhhh
yeah
oh yeah i think that was a last minute add to our nobara kernel on the most-recent build
https://copr-dist-git.fedorainfracloud.org/cgit/gloriouseggroll/nobara-39/kernel.git/tree/amdgpu-ignore-min-pcap.patch?id=5bd9cff332377a43c7a7de3fee7fb8b577c37fd5
@Jan my SRPM has both if it’s any more convenient for you: https://drive.filen.io/f/6b9f5ced-55a0-4fac-8801-ed3d604c991f#jVjAYmydu5315cq3y1QuKhr38kH7VOMy
Filen Drive
Filen – Next Generation End-To-End Encrypted Cloud Platform. Get started with 10 GB of free storage space.
going through it all right now
@Kyle Gospo just apu resource eviction and the min pcap ignoring
anything else?
thanks, btw whats the point of the graysky patch
Probably some sort of performance mod from GE like the tug patch set? I’d have to check.
I saw it (or at least a very similar patch) in nobara before, but since the kernel build is generic I don't see if or how it would benefit
Haven’t touched em personally
Tkg** patch set
Oh now that i look at it i think thats their kernel compile speed patch? Although obviously not making too much of a difference in copr build time from what i can gather lol
Definitely all I can think of right now
Thank you so much
would this be pushed to stable, or testing?
thinking this might be an opportunity to investigate the other issue with update not working from game mode
Both, testing first
aight. so i should update to testing now then, and wait for the fix to be deployed
Yeah, and since it's a kernel it'll be in 5 hours or so
I think I hit a new fsync kernel compile record at 36 minutes on my desktop PC
uhhh
@Kyle Gospo the kernel-ark (upstream fedora kernel) already includes the apu resource evict patch
Is that a recent thing?
added with 6.7.5
which is currently in testing on fedora
🤔
I'm currently checking if truly everything is in
and then I'll make a build
(it includes it all)
so its redundant if you build 6.7.5 instead?
yep
oh, so it'll go straight to stable then?
if this is just a build of upstream 6.7.5
its upstream 6.7.5 with patches attached
it should go into testing regardless
Kernel updates always do, we track Jan's fsync which in turn tracks Fedora's kernel
who knows what that kernel release breaks
aight, just wanted to confirm.
It's just a matter of when they build, we will kick off testing first
And if all is well I will kick off stable before the Tuesday scheduled one
doing a local build in parallel so if there are any compile errors I'll catch them ahead of time
If you ever need a ton of local builds kicked off I'm happy to donate my threadripper to the cause
Just send me instructions
no worries, my cpu can do it in a fraction of the time copr needs
but in-case you do ever want to build it:
just run
./TOOLS/build.sh -ba SPECS/kernel.spec
this will run rpmbuild
with some variables set, no more moving folders aroundNice
what are the perks of doing that over
/usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/7027755-fedora-39-x86_64 --chroot fedora-39-x86_64
?you can make local changes without having to rely or push anything to copr
nice. good to know.
i was told of ccache
i think im gonna try it
legion go compiles the full kernel in 26m, not bad not bad
not great either
you can speed it up by generating an opinionated config and breaking everything, but lets see ccache
ccache is great for repeat builds
saves you a lot of time during bisects too
I’ll also switch to test once it’s in testing
Another thing I noticed (and just remembered after updating to testing) is that the Steam winky animation is completely gone with this suspend issue. At least for me. Not sure if anyone else noticed this?
you should still be getting the wink at least some times
if you try to resuspend immediately steam freezes for a bit sometimes and you get a black screen
but it should still work
I'll keep my eye on it, but I notice this when I haven't loaded up any games (and also don't experience the freezes / suspend failures when my RAM isn't full from a game)
arg
I forgot the linux_surface patch thing needed
F
i did also notice the missing wink animation, but it only happened sometimes, and I couldn't figure out how to replicate it
yeah i can see it too
but i can also see that steam knows that it should suspend, by blanking the screen
so I chucked it as steam issue
i had suspected that it was happening after switching back and forth between desktop and game mode
but never really formally tested it
maybe, i cant replicate that
i also dont know how it should be handled properly on an os like that
my script checks steam is running
This would make sense!
At least it's what I just did before noticing it disappeared
GitHub
chore: Remove tuned-utils-systemtap · ublue-os/bazzite@cc1da88
Bazzite is an OCI image that serves as an alternative operating system for the Steam Deck, and a ready-to-game SteamOS-like for desktop computers, living room home theater PCs, and numerous other h...
Testing building now
oh dang, i think 6.7.5 fixes the suspend issue
I still need to test more
@TecN01R please test when you get a chance, latest testing branch
Nice, I'll get a stable build going shortly
so far, i haven't been able to replicate the suspend bug
so i think it's solved
but i'll wait for more confirmation from techn01r
ok yep, suspend has been flawless again
i think it's solved
Can confirm that it’s fixed for me as well!
legion go with bazzite now a feature-complete alternative to the steam deck 😁
Has the kernel made its way to stable?
yep