Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

backend/x11: WLR_X11_OUTPUTS=2 doesn't work since d79a00b #2577

Closed
djpohly opened this issue Dec 28, 2020 · 3 comments · Fixed by #2579
Closed

backend/x11: WLR_X11_OUTPUTS=2 doesn't work since d79a00b #2577

djpohly opened this issue Dec 28, 2020 · 3 comments · Fixed by #2579

Comments

@djpohly
Copy link
Contributor

djpohly commented Dec 28, 2020

When I don't have a second monitor on hand, the WLR_X11_OUTPUTS environment variable is very useful in testing multi-monitor support while developing a compositor. Currently, trying to use this feature to create two outputs results in one or both not rendering and the terminal filling with the message:

[render/swapchain.c:97] No free output buffer slot

I've bisected the regression to commit d79a00b and tested in both dwl and sway.

@emersion
Copy link
Member

When running the X11 backend under Xwayland, I can reproduce the fact that one of the screens won't render more than once. I don't get the error you describe, however I get this one:

00:00:00.279 [wlr] [backend/x11/backend.c:608] X11 error: op Present (SelectInput), code Match (no extension), sequence 63, value 4194307

Do you get it as well?

emersion added a commit to emersion/wlroots that referenced this issue Dec 28, 2020
The Present protocol states:

> An event context is associated with a specific window; using an existing
> event context with a different window generates a Match error.

Instead of a global event context, use a per-window event context to fix
this error:

    [backend/x11/backend.c:608] X11 error: op Present (SelectInput), code Match (no extension), sequence 63, value 4194307

Closes: swaywm#2577
@emersion
Copy link
Member

Can you try #2579?

@djpohly
Copy link
Contributor Author

djpohly commented Dec 28, 2020

Yes, #2579 fixes the issue!

emersion added a commit that referenced this issue Dec 28, 2020
The Present protocol states:

> An event context is associated with a specific window; using an existing
> event context with a different window generates a Match error.

Instead of a global event context, use a per-window event context to fix
this error:

    [backend/x11/backend.c:608] X11 error: op Present (SelectInput), code Match (no extension), sequence 63, value 4194307

Closes: #2577
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

Successfully merging a pull request may close this issue.

2 participants