Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drag and drop surfaces not always showing with multiple outputs #1078

Open
ids1024 opened this issue Dec 17, 2024 · 3 comments
Open

Drag and drop surfaces not always showing with multiple outputs #1078

ids1024 opened this issue Dec 17, 2024 · 3 comments

Comments

@ids1024
Copy link
Member

ids1024 commented Dec 17, 2024

I'm still trying to figure out exactly what is causing this. I've noticed it testing pop-os/cosmic-workspaces-epoch#101. It seems to work fine on anvil and sway (using the mock-backend feature) so this appears to be an issue in cosmic-comp. With Smithay/client-toolkit#477 I'm able to reproduce this in a more minimal case; again working on other compositors.

This only happens with multiple monitors, doesn't happen in anvil, and is inconsistent, so I think it's some race condition related to multiple kms threads trying to draw the same surface.

COSMIC_DISABLE_DIRECT_SCANOUT=1 seemed to fix this in cosmic-workspaces, but in the sctk example I've seen it with that as well. So maybe that's just changing the timing of a race condition...

In the sctk example, when a drag doesn't show a drag surface, moving the cursor to another output sometimes, but not always, makes it appear. Regardless, the drag works, it's just the surface isn't rendering.

This doesn't seem to be related to the damage returned by the WaylandSurfaceRenderElement, since I still see it after changing that to always be non-empty.

@Drakulix
Copy link
Member

Does this maybe fix it? #1080

@ids1024
Copy link
Member Author

ids1024 commented Dec 18, 2024

Behavior seems largely the same after that. The data_device sctk example still sometimes but not always shows the drag surface.

@Drakulix
Copy link
Member

Behavior seems largely the same after that. The data_device sctk example still sometimes but not always shows the drag surface.

I'll try to replicate and debug this then.

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

No branches or pull requests

2 participants