[package]
name = "drmkit"
description = "A layered Linux DRM/KMS display framework: modesetting, plane allocation, scene composition, and scanout. Rust port of drm-cxx."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/drmkit"
readme = "README.md"
categories = ["graphics", "os::linux-apis", "hardware-support"]
keywords = ["drm", "kms", "display", "graphics", "embedded"]
[dependencies]
drmkit-capture = { workspace = true, optional = true }
drmkit-core = { workspace = true, optional = true }
drmkit-csd = { workspace = true, optional = true }
drmkit-cursor = { workspace = true, optional = true }
drmkit-display = { workspace = true, optional = true }
drmkit-dumb = { workspace = true, optional = true }
drmkit-fmt = { workspace = true, optional = true }
drmkit-gbm = { workspace = true, optional = true }
drmkit-input = { version = "0.1.2", path = "../drmkit-input", optional = true, default-features = false }
drmkit-log = { workspace = true, optional = true }
drmkit-modeset = { workspace = true, optional = true }
drmkit-planes = { workspace = true, optional = true }
drmkit-present = { workspace = true, optional = true }
drmkit-scene = { workspace = true, optional = true }
drmkit-scene-gbm = { workspace = true, optional = true }
drmkit-scene-set = { workspace = true, optional = true }
drmkit-scene-sources = { workspace = true, optional = true }
drmkit-session = { version = "0.1.2", path = "../drmkit-session", optional = true, default-features = false }
drmkit-sync = { workspace = true, optional = true }
drmkit-time = { workspace = true, optional = true }
[features]
default = ["core", "modeset", "dumb", "fmt", "planes", "scene"]
capture = ["dep:drmkit-capture"]
core = ["dep:drmkit-core"]
csd = ["dep:drmkit-csd"]
cursor = ["dep:drmkit-cursor"]
display = ["dep:drmkit-display"]
dumb = ["dep:drmkit-dumb"]
fmt = ["dep:drmkit-fmt"]
gbm = ["dep:drmkit-gbm"]
input = ["dep:drmkit-input"]
log = ["dep:drmkit-log"]
modeset = ["dep:drmkit-modeset"]
planes = ["dep:drmkit-planes"]
present = ["dep:drmkit-present"]
scene = ["dep:drmkit-scene"]
scene-gbm = ["dep:drmkit-scene-gbm"]
scene-set = ["dep:drmkit-scene-set"]
scene-sources = ["dep:drmkit-scene-sources"]
session = ["dep:drmkit-session"]
sync = ["dep:drmkit-sync"]
time = ["dep:drmkit-time"]
full = [
"capture", "core", "csd", "cursor", "display", "dumb", "fmt", "gbm",
"input", "log", "modeset", "planes", "present", "scene", "scene-gbm",
"scene-set", "scene-sources", "session", "sync", "time",
]
edid = ["display", "drmkit-display/edid"]
hotplug = ["display", "drmkit-display/hotplug"]
libinput = ["input", "drmkit-input/libinput"]
xkb = ["input", "drmkit-input/xkb"]
libseat = ["session", "drmkit-session/libseat"]
[lints]
workspace = true
[package.metadata.docs.rs]
features = ["full", "edid", "hotplug", "libinput", "xkb"]