Bug 464477 - I can’t use 120 Hz refresh rate in Plasma anymore
Summary: I can’t use 120 Hz refresh rate in Plasma anymore
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 5.26.5
Platform: Arch Linux Linux
: NOR minor
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-18 20:20 UTC by Matheus
Modified: 2023-01-20 13:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
System Settings/Display and Monitor (60.32 KB, image/png)
2023-01-18 20:20 UTC, Matheus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matheus 2023-01-18 20:20:29 UTC
Created attachment 155411 [details]
System Settings/Display and Monitor

I have a Dell s2719dgf monitor connected to my GPU (AMD 6750 XT) via DisplayPort. It’s a 2560x1440 144 Hz monitor but I always set it at 120 Hz in Display and Monitor (KDE System Settings) since I feel it’s good balance for gaming and desktop usage.

Since last week, the 120 Hz option is gone and I can only select 144 Hz or 60 Hz. Also, using the adaptive sync option on 'always on' with 144 Hz causes heavy flickering on the desktop screen.
Comment 1 Zamundaaa 2023-01-18 21:28:57 UTC
Please attach the output of drm_info (https://gitlab.freedesktop.org/emersion/drm_info)

> Also, using the adaptive sync option on 'always on' with 144 Hz causes heavy flickering on the desktop screen.
That's a known hardware problem with most monitors that's triggered by big refresh rate changes.
Comment 2 Matheus 2023-01-20 02:20:48 UTC
(In reply to Zamundaaa from comment #1)
> Please attach the output of drm_info
> (https://gitlab.freedesktop.org/emersion/drm_info)
> 

Driver: amdgpu (AMD GPU) version 3.49.0 (20150101) on Linux 6.1.6-arch1-3

    DRM_CLIENT_CAP_ASPECT_RATIO supported
    DRM_CLIENT_CAP_ATOMIC supported
    DRM_CLIENT_CAP_STEREO_3D supported
    DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
    DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
    DRM_CAP_ADDFB2_MODIFIERS = 1
    DRM_CAP_ASYNC_PAGE_FLIP = 1
    DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
    DRM_CAP_CURSOR_HEIGHT = 256
    DRM_CAP_CURSOR_WIDTH = 256
    DRM_CAP_DUMB_BUFFER = 1
    DRM_CAP_DUMB_PREFERRED_DEPTH = 24
    DRM_CAP_DUMB_PREFER_SHADOW = 1
    DRM_CAP_PAGE_FLIP_TARGET = 0
    DRM_CAP_PRIME = 3
    DRM_CAP_SYNCOBJ = 1
    DRM_CAP_SYNCOBJ_TIMELINE = 1
    DRM_CAP_TIMESTAMP_MONOTONIC = 1
    DRM_CAP_VBLANK_HIGH_CRTC = 1

Device: PCI 1002:73DF Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M]
Connectors

    Connector 0
        Object ID: 94
        Type: DisplayPort
        Encoders: {93}
        Properties
            "CRTC_ID" (atomic): object CRTC = 77
            "Content Protection": enum {"Undesired", "Desired", "Enabled"} = Undesired
            "DPMS": enum {"On", "Standby", "Suspend", "Off"} = On
            "EDID" (immutable): blob = <nil>
            "HDCP Content Type": enum {"HDCP Type0", "HDCP Type1"} = HDCP Type0
            "HDR_OUTPUT_METADATA": blob = <nil>
            "TILE" (immutable): blob = <nil>
            "link-status": enum {"Good", "Bad"} = Good
            "max bpc": range [8, 16] = 10
            "non-desktop" (immutable): range [0, 1] = 0
            "scaling mode": enum {"None", "Full", "Center", "Full aspect"} = None
            "subconnector" (immutable): enum {"Unknown", "VGA", "DVI-D", "HDMI", "DP", "Wireless", "Native"} = Native
            "underscan": enum {"off", "on", "auto"} = off
            "underscan hborder": range [0, 128] = 0
            "underscan vborder": range [0, 128] = 0
            "vrr_capable" (immutable): range [0, 1] = 1
Comment 3 Matheus 2023-01-20 03:04:29 UTC
I ran drm_info again without the json flag and the output is a little different.

$ drm_info
Node: /dev/dri/card0
├───Driver: amdgpu (AMD GPU) version 3.49.0 (20150101)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 24
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 1
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 1
│   ├───DRM_CAP_CURSOR_WIDTH = 256
│   ├───DRM_CAP_CURSOR_HEIGHT = 256
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 1
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 1
├───Device: PCI 1002:73df Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M]
│   └───Available nodes: primary, render
├───Framebuffer size
│   ├───Width: [0, 16384]
│   └───Height: [0, 16384]
├───Connectors
│   ├───Connector 0
│   │   ├───Object ID: 94
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600x340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {0}
│   │   ├───Modes
│   │   │   ├───2560x1440@59.95 preferred driver phsync nvsync 
│   │   │   ├───2560x1440@143.91 driver phsync nvsync 
│   │   │   ├───1920x1200@59.88 driver nhsync pvsync 
│   │   │   ├───1920x1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920x1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1920x1080@50.00 driver phsync pvsync 16:9 
│   │   │   ├───1600x1200@60.00 driver phsync pvsync 
│   │   │   ├───1680x1050@59.95 driver nhsync pvsync 
│   │   │   ├───1280x1024@75.03 driver phsync pvsync 
│   │   │   ├───1280x1024@60.02 driver phsync pvsync 
│   │   │   ├───1440x900@59.95 driver phsync nvsync 
│   │   │   ├───1280x800@59.81 driver nhsync pvsync 
│   │   │   ├───1152x864@75.00 driver phsync pvsync 
│   │   │   ├───1280x720@60.00 driver phsync pvsync 
│   │   │   ├───1280x720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280x720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1280x720@50.00 driver phsync pvsync 16:9 
│   │   │   ├───1024x768@75.03 driver phsync pvsync 
│   │   │   ├───1024x768@60.00 driver nhsync nvsync 
│   │   │   ├───800x600@75.00 driver phsync pvsync 
│   │   │   ├───800x600@60.32 driver phsync pvsync 
│   │   │   ├───720x576@50.00 driver nhsync nvsync 4:3 
│   │   │   ├───720x576@50.00 driver nhsync nvsync 16:9 
│   │   │   ├───720x480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───720x480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720x480@59.94 driver nhsync nvsync 
│   │   │   ├───720x480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───720x480@59.94 driver nhsync nvsync 4:3 
│   │   │   ├───640x480@75.00 driver nhsync nvsync 
│   │   │   ├───640x480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640x480@59.94 driver nhsync nvsync 
│   │   │   ├───640x480@59.94 driver nhsync nvsync 4:3 
│   │   │   └───720x400@70.08 driver nhsync pvsync 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 101
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 77
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 10
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 1
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native
Comment 4 Zamundaaa 2023-01-20 13:26:02 UTC
The kernel says your monitor doesn't support 120Hz, so KWin doesn't allow it to be used either.
You may have seen the 120Hz as supported because amdgpu supports freesync video modes, but afaik that's disabled by default now because of a major bug with it (https://gitlab.freedesktop.org/drm/amd/-/issues/2162) and we can't reliably emulate such modes in KWin either. If you're not affected by the bug though you can use the amdgpu.freesync_video=1 kernel boot parameter to get the additional refresh rate options back.