1# Copyright © SixtyFPS GmbH <info@slint.dev>
2# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
3
4[package]
5name = "i-slint-backend-linuxkms"
6description = "OpenGL rendering backend for Slint"
7authors.workspace = true
8edition.workspace = true
9homepage.workspace = true
10license.workspace = true
11repository.workspace = true
12rust-version.workspace = true
13version.workspace = true
14
15[lib]
16path = "lib.rs"
17
18[features]
19renderer-skia = ["renderer-skia-opengl"]
20renderer-skia-vulkan = ["i-slint-renderer-skia/vulkan", "vulkano", "drm", "dep:memmap2"]
21renderer-skia-opengl = ["i-slint-renderer-skia/opengl", "drm", "gbm", "glutin", "raw-window-handle", "dep:memmap2"]
22renderer-femtovg = ["i-slint-renderer-femtovg", "drm", "gbm", "glutin", "raw-window-handle"]
23renderer-software = ["i-slint-core/software-renderer-systemfonts", "drm", "dep:bytemuck", "dep:memmap2"]
24libseat = ["dep:libseat"]
25
26#default = ["renderer-skia", "renderer-femtovg"]
27default = []
28
29[dependencies]
30i-slint-core = { workspace = true, features = ["default", "image-decoders", "svg"] }
31i-slint-common = { workspace = true, features = ["default"] }
32i-slint-renderer-skia = { workspace = true, features = ["default", "kms"], optional = true }
33i-slint-renderer-femtovg = { workspace = true, features = ["default"], optional = true }
34
35[target.'cfg(target_os = "linux")'.dependencies]
36input = { version = "0.9.0" }
37xkbcommon = { version = "0.8.0" }
38calloop = { version = "0.14.1" }
39libseat = { version = "0.2.1", optional = true, default-features = false }
40nix = { version = "0.29.0", features = ["fs", "ioctl"] }
41vulkano = { version = "0.34.0", optional = true, default-features = false }
42drm = { version = "0.14.0", optional = true }
43gbm = { version = "0.18.0", optional = true, default-features = false, features = ["drm-support"] }
44glutin = { workspace = true, optional = true, default-features = false, features = ["libloading", "egl"] }
45raw-window-handle = { version = "0.6.2", optional = true }
46bytemuck = { workspace = true, optional = true, features = ["derive"] }
47memmap2 = { version = "0.9.4", optional = true }
48