Hey, it’s been a while. Took me a good ten years since the last blog post, so this one better be worth it! Here’s my problem. Everytime I boot up my framework laptop (Framework Laptop 13 AMD, Ryzen 7 7840U / Radeon 780M), my laptop screen freezes and only my external screen keeps working. There is a manual workaround for this problem, just deactivate the laptop-screen and reactivate it in the display settings, but I want a permanent fix/workaround.


Intermission (queue muzak organ music)

Kept you waitin’, huh? So why would I start again to blog after 10 years of silence? I decided that with all the clankers around, I’d rather add some organic home-grown hand-made text to the primordial soup of the T1000 while I still have the time. But in all seriousness: I don’t want this web to die, so I’ll try to fight the second eternal september. This time it’s not humans flooding the net, but bot and my way to go about it is not to go out with a wimper! So I start publishing my little hacking adventures again.


Checking dmesg I get this:

[   35.439555] amdgpu 0000:c1:00.0: [drm] REG_WAIT timeout 1us * 100 tries - dcn31_program_compbuf_size line:141
[   35.439872] ------------[ cut here ]------------
[   35.439875] WARNING: amd/amdgpu/../display/dc/hubbub/dcn31/dcn31_hubbub.c:151 at dcn31_program_compbuf_size+0xcc/0x230 [amdgpu], CPU#0: kworker/0:2/180

And I found a bug report on github that reports the same error and this kernel ticket, and I actually got nerd sniped by the problem, and started to tinker with patching my kernel to try and fix the issue, but then I remembered. I don’t have time for this and neither do you.

So just:

sudo nano /etc/default/grub

add “amdgpu.dcdebugmask=0x410” to kernel boot parameters, like so:

GRUB_CMDLINE_LINUX="amdgpu.dcdebugmask=0x410"

and regenerate grub config

sudo update-grub

That’s it. You’ve thrown out a bit of battery life for a working screen, an excellent trade-off for the time being. I hope I saved you some time.