120hz Laptop Display Stuck at 60hz on Kernel 6.14.2 (Fedora 42 KDE)

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 is the second or third time I have seen this issue (did you post a duplicate?)

So looks like a bug,

Bugs are filed at https://bugzilla.redhat.com/ - under Fedora.

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"

1 Like

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

1 Like

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.

I apologize if this is a bit of “blind leading the blind” but I looked up how to add a kernel boot argument on Kinonite. Try this:

sudo rpm-ostree kargs --append="amdgpu.dcdebugmask=0x8000"

1 Like

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.

1 Like

Glad to hear! I’ll edit my post above with the solution to put the workaround(s) there for anyone searching.

1 Like