Direct scanout sometime stays inhibited indefinitely
If enabling the RENDER
debug flag in lg
, the log will print
RENDER: No direct scanout candidate: unredirect inhibited
forever.
I couldn't see any GS warnings when going from working to broken (as I previously suspected in #2474 (closed)).
For me, this usually happens after a suspend-resume cycle. I suspect GS to be at fault here, as most calls to the inhibit API come from there (I think the only one in Mutter was only added after I first saw this). Potentially in connection with the log screen, but I haven't been able to reproduce the issue by locking alone, but only with suspend involved.
We could work around the issue by switching to a more robust API, such as prototyped in !3043 - but maybe we can also just fix the current accounting issue.