Skip to content

wayland/lock: finish lock surface frames before unlocking - #1391

Open
azelarin wants to merge 1 commit into
quickshell-mirror:masterfrom
azelarin:lock-finish-frames
Open

azelarin wants to merge 1 commit into
quickshell-mirror:masterfrom
azelarin:lock-finish-frames

Conversation

@azelarin

Copy link
Copy Markdown

Describe your changes

fixes a freeze after unlocking when using vulkan with qt's threaded render loop.

Details and descisions

if we unlock while a frame is still being presented, the render thread can get stuck and take the rest of the shell with it. this waits for pending frames to finish before unlocking, then destroys the lock windows immediately so they can't start another frame.

Open concerns

i reproduced this on niri with nvidia. i'm not sure whether it also affects other drivers or compositors.

Participation

happy to work through feedback and test any changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant