Choppy Gnome animations on Intel UHD 600
Affected version
- Fedora Workstation 32 x64
- mutter 3.36.3
- Wayland
Bug summary
Animations drops frames instead of scale up the GPU clock frequency (GPU clock goes only to about halfway the maximum clock frequency).
Steps to reproduce
- Open
intel_gpu_top
and/or watch/sys/kernel/debug/dri/0/i915_frequency_info
to check GPU usage and frequency - Open
htop
and/orgnome-system-monitor
to check CPU usage - Open other windows (nautilus, firefox, more windows generally drops more frames)
- Spam click super without stopping
- Watch the animation dropping frames while the GPU frequency does not scale up
What happened
The animation frame rate drops without the GPU hitting higher clocks. While dumping intel_gpu_top
output to JSON file, you can check that the frequency rarely hits the maximum GPU frequency but the GPU RC6 hits 0% (usage near 100%) and drops frames.
What did you expect to happen
Hopefully mutter could make the animations don't drop frames or hint the GPU to ramp up the frequency.
What I noticed when inspecting the GPU's clock frequency
I tried to force the GPU into a higher frequency to see if the animations would drop (checking if the problem would be my GPU being too weak). I set /sys/class/drm/card0/gt_min_freq_mhz
to the same value as /sys/class/drm/card0/gt_max_freq_mhz
excepting the GPU to run at the maximum frequency all the time.
Instead, the GPU frequency stayed the same low when there's nothing going on (good for my battery life) but during animations it would ramp up more aggressively and stop dropping frames.
Another observation: gt_min_freq_mhz
was 100 (MHz), which is lower than my iGPU's specification of 200 MHz.
Relevant logs, screenshots, screencasts etc.
I could not screencast (maybe my gpu and cpu are not good enough for this: the comparison between gt_min_freq_mhz
set at 100 and 650 looks the same while screencasting). Maybe I can do it later with my celphone, but not right now.