SUMMARY On my laptop with a **165 Hz** panel (AMD Radeon 680M, Mesa 25.2.4, Plasma 6.4.5, Qt 6.10), **QtQuick-based** Plasma elements (mostly Plasmashell itself, Plasma settings, Discover and other Kirigami/QtQuick based apps like KMail, and the Processes list on the System Monitor to name a few) animations, scrolling and transitions appear **visually choppy and irregular**, as if **they were running capped at 60 Hz despite the compositor correctly running at 165 Hz**. **QtWidgets-based** applications (Dolphin, Kate and Konsole) and general window movement are perfectly smooth, but QtQuick components (Plasma panel, Overview, Kirigami apps) and also the window resizing show **irregular frame pacing**, as if their animation timing was slightly out of sync with the compositor (mismatched framerate?) It looks like **QtQuick’s animation driver and KWin’s compositor clock are slightly desynchronized**, producing micro-stutters and a “pacing mismatch” that feels like dropped frames. The issue persists on both **Wayland** and **X11*. I obviously can't record any of these because screen recording also drops frames to achieve 60 Hz and we are talking about 60+ Hz refresh rates. STEPS TO REPRODUCE: try these - When **resizing a window**, **most notorious in Kirigami/QtQuick apps** like Elisa music player and Plasma settings; but **also affecting QtWidgets apps though not as much**, only moving the window is buttery smooth but **resizing looks choppy**, unmatching, like a lot of **dropped frames** effect which is visually unpleasant and stressful as someone with hyperactivity. - When **scrolling through desktops** in **Overview** mode, scrolling also looks **60 Hz-capped and full of frame drops** - **Scrolling though lists**. Three examples are the Plasma settings left bar, the mail list and also through the mail contents on KMail/Kontact (which is a Kirigami app), and even scrolling through the "All" program list on the panel also looks jittery/choppy. - **On the logout/shutdown screen**, while being buttery smooth most of the time, the transition caps as well from time to time. Or these: # Reproduction: 1. Start a Wayland session at 165 Hz. 2. Open System Settings → Appearance → Global Theme and navigate between pages. 3. Observe inconsistent frame pacing / 60 Hz feel on transitions. 4. Suspend and resume → notice further degradation (~20–30 FPS feel). 5. Run `env QSG_INFO=1 plasmashell --replace` → logs still show correct vsync (6.06 ms). After **suspending** and **resuming**, **even Plasmashell** starts to look really choppy ~20 FPS and I have to log out and back in to restore the full refresh rate and timings as they were even if they start to dephase again. Suspending and resuming framerate timing mismatch affects the panels, the panel applets and the global framerate also drops, and it also tanks the graphics and input response times. The issues affect both Wayland and X11. **SAMPLE TESTS:** `plasmashell` **does** run at 165 Hz: ``` ~ » env QSG_INFO=1 plasmashell --replace qt.scenegraph.general: threaded render loop qt.scenegraph.general: Using sg animation driver qt.scenegraph.general: Animation Driver: using vsync: 6.06 ms kf.svg: The theme "Ant-Dark" uses the legacy metadata.desktop. Consider contacting the author and asking them update it to use the newer JSON format. kf.plasma.quick: Applet preload policy set to 1 qt.scenegraph.general: Using sg animation driver qt.scenegraph.general: Animation Driver: using vsync: 6.06 ms qt.scenegraph.general: Creating QRhi with backend OpenGL for window 0x562534671d70 (wflags 0x801) Graphics API debug/validation layers: 0 Debug markers: 0 Timestamps: 0 Prefer software device: 0 Shader/pipeline cache collection: 1 qt.rhi.general: Created OpenGL context QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QColorSpace(), profile QSurfaceFormat::CompatibilityProfile) qt.rhi.general: OpenGL VENDOR: AMD RENDERER: AMD Radeon Graphics (radeonsi, rembrandt, LLVM 20.1.8, DRM 3.64, 6.17.1-arch1-1) VERSION: 4.6 (Compatibility Profile) Mesa 25.2.4-arch1.2 qt.scenegraph.general: Created QRhi 0x7fb720001750 for window 0x562534671d70 qt.scenegraph.general: Attempting to seed pipeline cache for QRhi 0x7fb720001750 from '/home/lito/.cache/plasmashell/qtpipelinecache-x86_64-little_endian-lp64/qqpc_opengl' qt.rhi.general: Seeded pipeline cache with 5 program binaries qt.scenegraph.general: MSAA sample count for the swapchain is 1. Alpha channel requested = no. qt.scenegraph.general: rhi texture atlas dimensions: 4096x2048 qml: QML Plugin org.kde.plasma.panelcolorizer not found. Custom blur background will not work. qt.scenegraph.general: Using sg animation driver qt.scenegraph.general: Animation Driver: using vsync: 6.06 ms qt.scenegraph.general: Creating QRhi with backend OpenGL for window 0x562535496a00 (wflags 0x200800) Graphics API debug/validation layers: 0 Debug markers: 0 Timestamps: 0 Prefer software device: 0 Shader/pipeline cache collection: 1 qt.rhi.general: Created OpenGL context QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QColorSpace(), profile QSurfaceFormat::CompatibilityProfile) qt.rhi.general: OpenGL VENDOR: AMD RENDERER: AMD Radeon Graphics (radeonsi, rembrandt, LLVM 20.1.8, DRM 3.64, 6.17.1-arch1-1) VERSION: 4.6 (Compatibility Profile) Mesa 25.2.4-arch1.2 qt.scenegraph.general: Created QRhi 0x7fb6c4001750 for window 0x562535496a00 qt.scenegraph.general: Attempting to seed pipeline cache for QRhi 0x7fb6c4001750 from '/home/lito/.cache/plasmashell/qtpipelinecache-x86_64-little_endian-lp64/qqpc_opengl' qt.rhi.general: Seeded pipeline cache with 5 program binaries qt.scenegraph.general: MSAA sample count for the swapchain is 1. Alpha channel requested = yes. qt.scenegraph.general: rhi texture atlas dimensions: 512x512 No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. qt.scenegraph.general: animation driver switched to timer mode qt.scenegraph.general: Using sg animation driver qt.scenegraph.general: animation driver switched to vsync mode ``` Don't be fooled by the Panel colorizer. This happens independently if it is enabled or not. 6.06 ms = 1000 / 6.06 Hz = 165.0165 Hz; so **Plasmashell** itself **is** running at 165 Hz. ``` ~ » qdbus org.kde.KWin /KWin supportInformation | grep -i rate separateScreenFocus: true Refresh Rate: 165003 ``` Also confirms that it is running at 165.003, so it is a **dephased** clock, though the problem seems to be likely that **there are parts of the Plasma compositor**, whether it is the Wayland or not, **that cap the animations to 60 Hz** which looks like a sped up snail which doesn't look good. EXPECTED BEHAVIOR All QtQuick animations (Plasma Shell, Kirigami apps, etc.) should exhibit smooth motion consistent with the compositor’s actual refresh rate (165 Hz), matching QtWidgets and OpenGL applications. ACTUAL BEHAVIOR Animations appear visually capped at 60 Hz or experience irregular frame pacing. After suspend/resume, performance drops dramatically until restarting Plasmashell. SIDE NOTES - Forcing Vulkan RHI causes unrelated rendering issues (panel failing to open). - The issue seems to stem from a timing drift and also a framerate cap/mismatch/bottleneck between QtQuick’s animation driver and KWin’s frame presentation clock **SPECS:** **CPU**: AMD Ryzen 9 6900HX **iGPU**: AMD Radeon 680M (**Plasma runs here**, confirmed with nvtop) **dGPU**: NVIDIA RTX 3050 Laptop (only used for games, **Plasma doesn't use it**) **RAM**: 16 GB **Monitor**: 2560x1440 @ 165 Hz, DCI-P3 **Plasma**: 6.4.5, but this comes from a long time ago and it is still not fixed **Qt**: 6.10.0 **KDE Frameworks**: 6.19.0 **Kernel**: 6.17.1 - **both zen and vanilla affected** **Platform**: **both Wayland and X11 **affected**
Hi, thanks for the detailed report! This is likely the same issue as https://bugs.kde.org/show_bug.cgi?id=485927 so i'm marking it as a duplicate, but let me know if that's not the case. *** This bug has been marked as a duplicate of bug 485927 ***