Bug 468235

Summary: Screen refresh rate stuck at 60hz even when set to 144hz in the display settings
Product: [Plasma] kwin Reporter: Yannick <leguen.yannick>
Component: compositingAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: andrej.halv, asturm, egor.kuznetsov.26, kde, lee295012, nate, postix, putr4.s, tjumat, tristang, xaver.hugl
Priority: NOR    
Version: 5.27.4   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.27.4.1

Description Yannick 2023-04-07 09:30:21 UTC
SUMMARY
***
My display comes with 4 different refresh rates: 60hz, 120hz, 144hz and 165hz.

Since kwin 5.27.4, the screen refresh rate is stuck at 60hz whether I select 60hz, 120hz or 144hz from the Plasma display settings (confirmed by checking the screen OSD menu). It happens on both Wayland and X11 sessions.
xrandr displays the selected refresh rate.

Setting the refresh rate to 165hz works as intended though.

Downgrading to kwin 5.27.3 solves the issue.
***


STEPS TO REPRODUCE
1. Select a 120hz or 144hz refresh rate from Plasma display settings
2. Moving the mouse cursor / windows around seems sluggish
3. The screen OSD confirms that it's still running at 60hz

SOFTWARE/OS VERSIONS
Linux: Arch Linux
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
My display is an Iiyama G-Master GB2770QSU-B1
Comment 1 Yannick 2023-04-07 10:20:24 UTC
Turning the monitor off and on again changes the refresh rate to the correct value.
However it's still locked at 60hz when the system is rebooted.
Comment 2 tjumat 2023-04-07 17:42:03 UTC
I have the same problem with a Gigabyte FI32Q monitor, I'm also on Archlinux and the problem started when I upgraded to 5.27.4.
On my monitor it's 170Hz that works, on all others (120,144,165) the fps meter on my monitor and the kde one under desktop effects shows 60 fps.
Powering off and on the monitor also fixes the problem on my system.
Comment 3 Yannick 2023-04-08 09:37:44 UTC
Additional observation: if the screen goes into sleep mode then turns back on, it goes back to 60hz.
But powering it off and on after that fixes the problem again.
Comment 4 André 2023-04-08 13:08:47 UTC
Same for me on Dell S2721DGF since 5.27.4. When I select 120hz and 144hz it stays at 60hz. Switching display off/on is a temporary fix, but after reboot it is back to 60hz again. When I select 165hz it works correctly.
Comment 5 Andrej Halveland 2023-04-08 20:29:26 UTC
I have bisected this bug to this https://invent.kde.org/plasma/kwin/-/commit/dc95392b982ac9ae95a72e5f38e5ecc499f0bc19 commit
Comment 6 Zamundaaa 2023-04-08 21:40:37 UTC
*** Bug 468304 has been marked as a duplicate of this bug. ***
Comment 7 Bug Janitor Service 2023-04-08 21:49:05 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/3950
Comment 8 Zamundaaa 2023-04-08 22:18:10 UTC
Just to document this, the linked MR is just a workaround. The kernel bug that caused this problem is being tracked at https://gitlab.freedesktop.org/drm/amd/-/issues/2501
Comment 9 Prajna Sariputra 2023-04-09 00:25:25 UTC
*** Bug 468251 has been marked as a duplicate of this bug. ***
Comment 10 Bug Janitor Service 2023-04-09 10:39:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/3951
Comment 11 Zamundaaa 2023-04-09 11:27:30 UTC
Git commit 6f722954a03190ced4d317f6dde97d41650b5d34 by Xaver Hugl.
Committed on 09/04/2023 at 10:26.
Pushed by zamundaaa into branch 'master'.

backends/drm: set the scaling mode to none

Setting it to "Full Aspect" causes some problems with amdgpu, breaking switching
the refresh rate between modes

M  +2    -2    src/backends/drm/drm_pipeline.cpp
M  +2    -2    src/backends/drm/drm_pipeline_legacy.cpp

https://invent.kde.org/plasma/kwin/commit/6f722954a03190ced4d317f6dde97d41650b5d34
Comment 12 Zamundaaa 2023-04-09 11:34:27 UTC
Git commit bbc3e10c589a01dfe8933fbe910412c3cd2dbac8 by Xaver Hugl.
Committed on 09/04/2023 at 10:38.
Pushed by zamundaaa into branch 'Plasma/5.27'.

backends/drm: set the scaling mode to none

Setting it to "Full Aspect" causes some problems with amdgpu, breaking switching
the refresh rate between modes
(cherry picked from commit 6f722954a03190ced4d317f6dde97d41650b5d34)

M  +2    -2    src/backends/drm/drm_pipeline.cpp
M  +2    -2    src/backends/drm/drm_pipeline_legacy.cpp

https://invent.kde.org/plasma/kwin/commit/bbc3e10c589a01dfe8933fbe910412c3cd2dbac8