drmkit-session 0.1.2

Session and seat management: revocable devices across VT switches
Documentation

drmkit-session

Holding devices across a VT switch.

A compositor that owns the display cannot simply open /dev/dri/card0 and keep it: switching to another virtual terminal has to take the display away and give it back. A seat -- logind, seatd, or a bare-root fallback -- is what arbitrates that, handing out descriptors it can revoke.

What arrives from the seat is two events. Paused: stop touching every descriptor immediately, because the ioctls will start failing. Resumed: here are fresh descriptors, and every per-descriptor kernel object you had -- framebuffers, property blobs, client caps, GEM handles -- is gone. drmkit_cursor::Paused is the shape that pairs with this on the other side.

Part of drmkit, a Rust port of drm-cxx. API documentation is on docs.rs.

License

MIT, matching drm-cxx.