[client] display: use trusted nominal cadence

Always track Wayland surface outputs alongside fractional scaling and use
RandR modes for X11 cadence. Remove render-derived feedback so a
throttled client cannot teach the producer to remain throttled.

Release scheduling after nominal output timing remains unavailable.
This commit is contained in:
Geoffrey McRae
2026-08-05 11:50:48 +10:00
parent bca59df783
commit 2c74f4a0f9
8 changed files with 128 additions and 80 deletions

View File

@@ -76,15 +76,7 @@ bool waylandGetFramePeriod(uint64_t * period)
/* Frame demand must use the output's nominal rate. Basing demand on the
* observed presentation interval can lock a VRR session at its current,
* slower cadence. */
if (waylandOutputGetFramePeriod(period))
return true;
const uint64_t value = atomic_load(&wlWm.presentationPeriod);
if (!value)
return false;
*period = value;
return true;
return waylandOutputGetFramePeriod(period);
}
static void presentationFeedbackDiscarded(void * data,