Shortly after updating to 6.14.2 and Fedora 42, I noticed my laptop’s internal display would only run at 60hz. Where there used to be a dropdown in Display Configuration, it now only says 60hz with an icon next to it saying “This is the only refresh rate supported by this display.” If I boot to an earlier kernel, like 6.13.10, it allows me to select between 60hz or 120hz and both work fine.
This laptop has hybrid graphics; the iGPU is a Radeon 680M, and the dGPU is an RTX 3050, so this is mainly centered around the AMD graphics.
I’ve been searching but it seems like this is a regression in the 6.14 kernel?
This was my only post on the topic. After posting, one of the suggested other topics was what I believe is the same issue happening to another user (I searched before posting, too!), so I know there’s at least two.
Anyway, it was due to a kernel change, this was the solution:
Edit: Just to make it a little easier for anyone searching, run this command to add the kernel argument to all kernels (now and future): sudo grubby --update-kernel=ALL --args="amdgpu.dcdebugmask=0x8000"
You can also replace ALL with DEFAULT or CURRENT, but you may need to re-apply this workaround if your kernel updates and the issue hasn’t been resolved by then.
And for Kinonite etc: sudo rpm-ostree kargs --append="amdgpu.dcdebugmask=0x8000"
Hi Nick, great that you solved the problem. I have been looking at the website you linked to but I have no idea how to do what needs to be done. What do I do with the line: DC_DISABLE_ACPI_EDID = 0x8000
I have posted about this issue on the Ublue forum since I use their Aurora OS, which is Kinoite with extra’s: refresh-rate-internal-screen-is-only-60h but never got an answer.
Can you help me fix this so my screen can use either 120 or even 165 Hz again?
Thanks a lot.
I’m not sure if this will work on Kinonite, but I added a boot argument to all kernel options: sudo grubby --update-kernel=ALL --args="amdgpu.dcdebugmask=0x8000"
I believe you can test it by hitting your E key at the GRUB menu to edit the default boot entry, and adding amdgpu.dcdebugmask=0x8000
Thank you Nick, I tried editing the grub line which boots into the system and it gave me an error, but after pressing “any key” it did boot and I got to see the 165Hz refresh frequency for the builtin monitor.
The line sudo grubby --update-kernel=ALL --args="amdgpu.dcdebugmask=0x8000" did nothing cause I don’t have grubby installed. Tried to do that in a container but that didn’t work. I give up. It works at 60Hz and if I need to have a higher frequency I can always use the grub line edit to make it work.
Thanks for your help.
Well, I can definitely say you are not blind. This did the trick, I now have the choice between 60 and 165 Hz.
Thank you very much Nick, it is great what you have done for me.