Screen Freezes on Framework 16 with AMD and GNOME
Over the last time, I’ve pretty regularly had Screen Freezes that appeared out of nowhere (maybe together with faster screen movement/resource usage, but not in a reproducible way).
They had the following characteristics:
- The screen froze out of nowhere
- Although the screen didn’t show anything anymore, all input still worked (so typing went on, the mouse could still click on stuff, and so on)
- Among them, locking my screen via GNOME’s Super-l still worked – and when I unlocked the screen, things worked again
- As soon as the error appeared once, it tended to appear again and again until a restart
- After a restart, it was good for a while
- It only appeared on my internal laptop screen, not on an external display
This is what it looked like (yep, bad video, I know 🙂):
All of the above mostly .. confused me.
- 2. and 3. strongly pointed into the direction of GNOME being the problem, and maybe my session crashing in a weird way
- 4. and 5. pointed into the direction of a resource exhaustion problem (but there wasn’t higher resource usage at all), while
- 6. pointed in the direction of it being a hardware/firmware problem, or at least towards it being hardware/firmware induced.
These findings left me relatively clueless, since they didn’t really point towards anything specific (without also pointing away from it).
So I googled.
At first, I didn’t really find anything, but then I came upon some other Framework users experiencing similar issues.
Among them was this post: https://www.reddit.com/r/framework/comments/1goh7hc/anyone_else_get_this_screen_flickering_issue/
Which pointed to an AMD power-saving technology that has pretty regular regression bugs.
So I tried that fix out (and first needed to learn how to enable Kernel Parameters on NixOS), and .. I didn’t have any further screen freezes since then. (Well, only whole GNOME session crashes on Bluetooth Headphones / Unmute, but that’s for another post)
This is the fix:
config.boot.kernelParams = [ # https://www.reddit.com/r/framework/comments/1goh7hc/anyone_else_get_this_screen_flickering_issue/ "amdgpu.dcdebugmask=0x410"];