Summary: | Brightness flicker with adaptive sync | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | tux <tux> |
Component: | platform-drm | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | ataberkozen123, chermnykh2001, chewi, forum.z8vlt, julien.dlq, leguen.yannick, nate, sidpranjale127, tinozzo123, tractix, xaver.hugl, yule2000 |
Priority: | NOR | ||
Version: | 5.27.9 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
tux
2023-11-14 20:19:16 UTC
It's not a bug, Mesa enabling or disabling vrr for specific fullscreen programs is an X11 thing and has no relevance on Wayland. The brightness flicker is something that I consider a bug, and one that should be fixable in KWin. (In reply to Zamundaaa from comment #1) > It's not a bug, Mesa enabling or disabling vrr for specific fullscreen > programs is an X11 thing and has no relevance on Wayland. > The brightness flicker is something that I consider a bug, and one that > should be fixable in KWin. The brightness flicker is fixable by disabling VRR for any fullscreen desktop programs with (frequent) user input, like Firefox. I just tested it in Windows 10, and there VRR is also disabled in browsers when they're fullscreen. And as many programs/games don't play nice with VRR (causing flickering and/or stuttering), it would be very nice to be able to add a rule property in Window Rules that controls VRR for a certain window/program. As a side note, being able to add a rule property in Window Rules that can automatically set a refresh rate depending on the program/game would also be great. Though a lot less important than being able to control VRR per program/game. *** Bug 485144 has been marked as a duplicate of this bug. *** I did a system upgrade, including some KDE packages (to v6.0.4) , and now the brightness flickering even happens when watching a video in fullscreen. Before the update, watching a fullscreen video would set the refreshrate to its maximum, preventing flickering. The only workaround is to disable VRR completely (from Automatic -> Never in system settings). There's a regression in 6.0.4 release of kwin. I've downgraded it back to 6.0.3 and everything is fine here. Adaptive Sync seems stuck at 74hz at any refresh rate. This behaviour can be confirmed best with https://github.com/Nixola/VRRTest Mangohud can't make sense of what it is seeing as launching any application with mangohud results in flickering hud and mangohud thinking FPS is 0. GPU utilization is unstable with games I've tested. Utilization goes up and down (e.g alternating between 70 and 99/100). To add to my last comment, utilization going up and down costs around 20% in average FPS. Looking at the same place from the same angle results in average FPS of 96 with kwin 6.0.3 whereas it's jumping between 74 and 78 with kwin 6.0.4. (In reply to Ataberk Özen from comment #5) > There's a regression in 6.0.4 release of kwin. I've downgraded it back to > 6.0.3 and everything is fine here. I just tried playing a game and it stutters like crazy, even with VRR completely disabled through my monitor. I tried downgrading all plasma packages to 6.0.3, but plasma wouldn't start anymore. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5626 Git commit fba948b39f6e3b2e70caa1880903f8fb17faf6d9 by Xaver Hugl. Committed on 19/04/2024 at 21:06. Pushed by zamundaaa into branch 'master'. scene/workspacescene: don't check direct scanout candidates for a pixmap We don't need a pixmap for direct scanout, and the drm backend destroys the pixmap when direct scanout is successful... so this check created a loop of direct scanout working and not working, and worse, the client reallocating its buffers each time. Related: bug 485639, bug 485730, bug 485712 M +1 -11 src/scene/workspacescene.cpp https://invent.kde.org/plasma/kwin/-/commit/fba948b39f6e3b2e70caa1880903f8fb17faf6d9 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5629 Git commit fbd780186c76764617dba0365b9ca3de7cfe2f86 by Xaver Hugl. Committed on 21/04/2024 at 14:55. Pushed by zamundaaa into branch 'Plasma/6.0'. scene/workspacescene: don't check direct scanout candidates for a pixmap We don't need a pixmap for direct scanout, and the drm backend destroys the pixmap when direct scanout is successful... so this check created a loop of direct scanout working and not working, and worse, the client reallocating its buffers each time. Related: bug 485639, bug 485730, bug 485712 (cherry picked from commit fba948b39f6e3b2e70caa1880903f8fb17faf6d9) M +1 -11 src/scene/workspacescene.cpp https://invent.kde.org/plasma/kwin/-/commit/fbd780186c76764617dba0365b9ca3de7cfe2f86 *** Bug 487697 has been marked as a duplicate of this bug. *** I've also been having constant issues with VRR on automatic mode enabling on programs like firefox, mpv, virtual machine manager and so on. While they are on full screen it causes the refresh rate constantly jump between 45 hz and 165 hz causing my display to flash pretty badly. I think the severity on this bug should probably be increased as this flashing I think could seriously cause someone epilepsy. SOFTWARE/OS VERSIONS Distro: Arch Linux Kernel Version: 6.10.6-arch1-1 KDE Plasma Version: 6.1.4 KDE Frameworks Version: 6.5.0 Qt Version: 6.7.2 GPU: RX7900 XT Mesa: Mesa 24.1.6-arch1.1 Sorry meant to say flicker not flash* I don't think a simple blocklist is really the way to go. This could happen in any application depending on what it's doing, and some screens are probably more sensitive to it than others. There was an interesting discussion around this in https://github.com/swaywm/sway/issues/5076. Sway doesn't even have the "auto" option that KDE currently has, but I think the other options discussed there sound promising. |