Wrong frame timing/jerkiness with 120Hz display on 6.12 (bisected)
Before submitting your bug report:)
Brief summary of the problem:
With Linux 6.12 RCs, I began experiencing what appears to be bad/inconsistent frame timings on the 120Hz internal display of my Framework 13 laptop. It manifests itself as extremely juddery movement in cases where the frames are timed rather than being limited by the framerate of the display. One example of this is holding down the spacebar in Konsole, which results in very inconsistent times between screen updates, sort of feeling like using a laggy SSH connection. Another example is playing 30fps content on the 120Hz screen, which also shows very inconsistent frame timings. The problem seems to only happen on 120Hz screens. If I set the internal screen to 60Hz or use a 60Hz external screen, the issue cannot be reproduced. The internal screen does support VRR, but the problem is reproducible no matter which VRR mode is selected in KDE.
A git bisect pointed me at 58a261bfc96763a851cb48b203ed57da37e157b8 (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=58a261bfc96763a851cb48b203ed57da37e157b8). Reverting that commit (with a bit of manual conflict resolution) does in fact restore the correct behavior from >=6.11.
Hardware description:
- CPU: AMD Ryzen 7 7840U w/ Radeon 780M Graphics
- GPU: Phoenix1 [1002:15BF]
- System Memory: 64GB
- Display(s): Framework 13 internal 2.8K display (2880x1920, 120Hz, VRR)
- Type of Display Connection: eDP
System information:
- Distro name and Version: Kubuntu 25.04 development (Plasma 6.2.x)
- Kernel version: Linux mamarley-laptop 6.12.0-061200rc6-generic #202411031955 SMP PREEMPT_DYNAMIC Sun Nov 3 20:24:10 EST 2024 x86_64 x86_64 x86_64 GNU/Linux
- AMD official driver version: N/A
How to reproduce the issue:
- Run the display at 120Hz (the VRR mode in the KDE display settings does not matter)
- Launch Konsole
- Hold down the spacebar and watch the cursor's jerkiness/judder as it moves across the screen