Skip to content

backends/native: Add vc4 (Raspberry Pi) to the atomic deny list

Daniel van Vugt requested to merge vanvugt/mutter:vc4-atomic-deny into main

Although vc4 has working atomic KMS support it doesn't achieve suitable performance. Deadline timer-based cursor movement on an idle system would stutter and only achieve half frame rate. It seems vc4 needs 4ms of deadline evasion to avoid this, or 3ms when the system is at higher clock speeds.

Deadline timers on the Raspberry Pi's BCM2711 seem to perform perfectly as expected on their own - to within 1000us. The atomic commit then takes another 500us to return. But it seems the kernel also requires another 3000 to 4000us to action the commit before a vblank. It's almost an order of magnitude too slow to meet our hard-coded 500us deadline so we choose to not use the atomic code path on vc4.

The legacy KMS code path exhibits visually perfect performance, even with deadline timers.

Fixes: #2953 (closed)

Edited by Daniel van Vugt

Merge request reports