Repository navigation
drmkit 0.1.0
The first release: a behavioral-parity port of drm-cxx v5.0.0 (2b260d0), as twenty-one crates.
Added
drmkit-core,-modeset,-dumb,-fmt,-sync,-log,-time: device handles and cached properties, atomic requests, mode selection and page-flip dispatch, dumb buffers, format modifiers andIN_FORMATS,sync_filefences, diagnostics, and a swappable presentation clock.drmkit-planes: the plane registry and the allocator that assigns layers to planes, with reading planes off a device behinddevice.drmkit-scene,-scene-sources,-scene-set,-scene-gbm: a layer stack lowered to a frame and committed, composition for what does not fit, the sources a layer's pixels come from, several scenes committed together, and layers fed by a GBM surface.drmkit-present: the scanout spine — buffer rings, modifier negotiation, frame pacing, and a backend that drives them.drmkit-display: EDID through libdisplay-info (edid), the hotplug watch (hotplug), driver and connector capabilities, colour pipelines and tone mapping.drmkit-cursor,-capture,-csd: cursor themes and cursor planes, readback of what a CRTC is scanning out, and client-side decorations.drmkit-gbm: GBM allocation, with libgbm opened at run time.drmkit-session,-input: holding devices across a VT switch through libseat, and libinput devices with xkb key resolution.drmkit: every member crate re-exported as a module behind a feature of the same name, with the system libraries as features of their own.
What the port leaves out, and why, is recorded per test file in TEST_PARITY.md and per divergence in docs/parity-findings.md.
All 21 crates are on crates.io, with documentation on docs.rs. Start with the drmkit crate, whose features pick the member crates.