Revert to simpler fix for not realized windows#244
Conversation
This makes gui-agent startup unreliable, likely some race condition,
ending up with messages like:
qubes-gui[715]: Ok, somebody connected.
qubes-gui[715]: _qubes-video-ext is not available
Since the whole thing solves rather minor issue, revert it for now, to
apply a simpler workaround.
This reverts commit 0fc7bb1.
Fixes QubesOS/qubes-issues#10119
We rely on composite redirect mode of the X server to get per window pixmaps. Those are setup/teared-down in compRealizeWindow/ compUnrealizeWindow (via compCheckRedirect). So not realized windows don't have a per window pixmap. Sending grant refs for them was always broken since we didn't send the offset into the screen pixmap in those cases. But with the recent change to not allocate grant refs for the screen pixmap this leads to a noticable error message. So don't try to send grant refs for not realized windows. This means that the configure before mapping will not contiain grant refs. We rely here very much on implementation details of the X server. In particular we require that a damage event is generated after the windows is realized. Note that the map event is generated before realization. Additionally we require that no damage event is delivered between the map notification the window being realized. Based on experimentation and code reading that seems to hold (what exactly triggers the first damage event after map depends on background settings and cursor position). This matches also that we so far haven't had problems even though this bug has been present for a long time.
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025080616-4.3&flavor=templates Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025061004-4.3&flavor=update
Failed tests10 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/142375#dependencies 9 fixed
Unstable testsDetailsPerformance TestsPerformance degradation:No issues Remaining performance tests:No remaining performance tests |
The custom extension turned to be unreliable. Revert to a simpler fix which relies more on Xorg internals (very unlikely to change at this point).
Fixes QubesOS/qubes-issues#10119