Summary: | Set refresh rate not applied when screen turn on after idle | ||
---|---|---|---|
Product: | [Plasma] KScreen | Reporter: | Bernhard <micraft.b> |
Component: | common | Assignee: | kscreen-bugs-null <kscreen-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | xaver.hugl |
Priority: | NOR | Keywords: | qt6 |
Version First Reported In: | 5.93.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Bernhard
2024-02-17 14:35:44 UTC
Okay this issue has made a liar out of me. It's not reproducible every time, and it might be related to some other issues I've been having with bad cables on my second monitor. I'll report back when I know more. It definitely still happens now that I don't have any other (obvious) problems, but I can't tell what triggers it. Also I thought this might be a seperate issue, but I suspect it's not: My other display (output 2) often doesn't receive a signal after idle/suspend, but still shows as enabled. It only works again after either physically or in the KCM turning it off and on again. Please check the ~/.config/kwinoutputconfig.json file for your output config. What does the "refreshRate" key say for your screen, after changing the setting, and after rebooting? (In reply to Zamundaaa from comment #4) > Please check the ~/.config/kwinoutputconfig.json file for your output > config. What does the "refreshRate" key say for your screen, after changing > the setting, and after rebooting? Sorry, rebooting was a red herring. It happens every time the screen turns off, like just from being idle and waiting. I'm testing now by setting "When locked, turn of screen = 5s" in Energy Saving, then locking. It happens about 80% of the time. In any case, there is only one entry for the 4k VRR screen: { "autoRotation": "InTabletMode", "connectorName": "DP-2", "edidHash": "778c61b12a29b15f7932a423b63aa9a2", "edidIdentifier": "GBT 17152 16843009 41 2021 0", "highDynamicRange": false, "iccProfilePath": "", "mode": { "height": 2160, "refreshRate": 120018, "width": 3840 }, "overscan": 0, "rgbRange": "Automatic", "scale": 1, "sdrBrightness": 400, "sdrGamutWideness": 0, "transform": "Normal", "vrrPolicy": "Automatic", "wideColorGamut": false }, Okay, that looks correct. Does it change after the screen turns off and on again? (In reply to Zamundaaa from comment #6) > Okay, that looks correct. Does it change after the screen turns off and on > again? No, it does not, it always says 120Hz. The file is in fact identical when diffed. Interesting, that means KWin's internal state considers the mode to be 120Hz... What does drm_info say? It should have a "MODE_ID" field where it states the exact refresh rate that the driver is actually trying to drive. (In reply to Zamundaaa from comment #8) > Interesting, that means KWin's internal state considers the mode to be > 120Hz... What does drm_info say? It should have a "MODE_ID" field where it > states the exact refresh rate that the driver is actually trying to drive. Oof, that one also states says 120Hz when my monitor reports 144Hz ├───CRTCs │ ├───CRTC 0 │ │ ├───Object ID: 85 │ │ ├───Legacy info │ │ │ ├───Mode: 3840x2160@120.02 driver phsync pvsync │ │ │ └───Gamma size: 256 │ │ └───Properties │ │ ├───"ACTIVE" (atomic): range [0, 1] = 1 │ │ ├───"MODE_ID" (atomic): blob = 150 │ │ │ └───3840x2160@120.02 driver phsync pvsync │ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ │ ├───"VRR_ENABLED": range [0, 1] = 0 │ │ ├───"DEGAMMA_LUT": blob = 0 │ │ ├───"DEGAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 │ │ ├───"CTM": blob = 0 │ │ ├───"GAMMA_LUT": blob = 0 │ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 Then this could either be a bug in your monitor's firmware, or a bug in the driver. Please make a bug report at https://gitlab.freedesktop.org/drm/amd/-/issues about this. |