Comments (2)
wayland-rs uses its own scanner for code generation, and so directly plugs in the lower-level API of libwayland
Thanks that makes sense
You mentioned weston-subsurfaces, this program uses OpenGL to draw part of its content, and the GL drivers use their own internal event queue.
Good point, I think something related to this is going wrong. Turns out I can reproduce this with sway as well, so closing since it's not a wayland-rs issue
from wayland-rs.
[...] doesn't actually trigger a call to the system libwaylands
wl_callback_send_done
.
This is 100% intentional, this part of libwayland's API is not really the "real" API of the library, but rather scanner generated code that is bundled in libwayland. wayland-rs uses its own scanner for code generation, and so directly plugs in the lower-level API of libwayland.
Now, this whole thing seems like a potential red herring, if libwayland-server logs that it sends the events, then that means that it sends the event. I suspect this is likely a symptom of some other issue. If the client use multiple event queues, then it can be that it processes events out of order (and thus logs them out of order). delete_id
events are special though, because while all other events are internally enqueued by libwayland-client, the delete_id
events are processed (and logged) as soon as they are read from the socket. So it is not rare to see in the client log delete_id
events being processed before events that were actually sent earlier by the server.
You mentioned weston-subsurfaces
, this program uses OpenGL to draw part of its content, and the GL drivers use their own internal event queue. So my guess would be that the app freezes at some point inside the GL code (maybe waiting for another resource to be released?). A way to make sure of that would be to spin a debugger and see where exactly the app ends up blocked.
Or similarly, does the issue also occurs with non-GL apps?
from wayland-rs.
Related Issues (20)
- Efficient single-threaded client implementation? HOT 3
- compile break in latest release (0.31.1) HOT 4
- `it is undefined behavior to use this value` error on latest nightly compiler HOT 12
- Not compiles on nightly HOT 1
- wayland_client WlBuffer Memory Leak HOT 4
- wayland-client: add easier way to create object from wl_proxy pointer HOT 1
- Proxy tags HOT 3
- wayland-sys vendor feature (request for a `wayland-src` crate) HOT 2
- how to convert a wl_surface pointer to WlSurface HOT 2
- WlRegistry.bind always outputs WlRegistry HOT 5
- Failed build when running with coverage on stable Rust HOT 1
- RFC: Rethinking the design of the crates API HOT 8
- Unable to copy to buffer using ZwlrScreencopyFrameV1 HOT 1
- Apparent misuse of scoped-tls, only appearing on a Raspberry Pi HOT 19
- Feature to avoid usage of `memfd_create` HOT 3
- Backend+client API to take control of proxies HOT 3
- wayland-protocols 0.32 got published without protocols/ HOT 2
- Attaching None to a surface influences surface configuration HOT 3
- illumos is not supported HOT 4
- surface.attach(None, 0, 0) doesn't allow for a re-map of the layer surface. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wayland-rs.