Replace the separate virglrenderer and gfxstream backends with a single rutabaga-based backend that supports cross-domain, virgl, and venus capsets simultaneously. This enables guest Wayland applications to composite on the host Wayland compositor via the virtio-gpu cross-domain protocol. Key changes: - New backend/rutabaga.rs implementing the Renderer trait via rutabaga_gfx - New --gpu-mode rutabaga (replaces virglrenderer/gfxstream modes) - New --capset cross-domain and --wayland-socket CLI args - Ungated rutabaga type conversions and capset constants - Implement get_shmem_config() for blob resource mapping (8 GiB region) - Old virgl.rs and gfxstream.rs kept as dead code for upstream merge compatibility Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
1.7 KiB
TOML
46 lines
1.7 KiB
TOML
[package]
|
|
name = "vhost-device-gpu"
|
|
version = "0.2.0"
|
|
authors = ["Dorinda Bassey <dbassey@redhat.com>", "Matej Hrica <mhrica@redhat.com>"]
|
|
description = "A virtio-gpu device using the vhost-user protocol."
|
|
repository = "https://github.com/rust-vmm/vhost-device"
|
|
readme = "README.md"
|
|
keywords = ["gpu", "vhost", "vhost-user", "virtio"]
|
|
categories = ["multimedia::video", "virtualization"]
|
|
license = "Apache-2.0 OR BSD-3-Clause"
|
|
edition = "2021"
|
|
# "Features enabled on platform-specific dependencies for target architectures not currently being built are ignored."
|
|
# See <https://doc.rust-lang.org/cargo/reference/features.html#feature-resolver-version-2>
|
|
resolver = "2"
|
|
|
|
[features]
|
|
default = []
|
|
xen = ["vm-memory/xen", "vhost/xen", "vhost-user-backend/xen"]
|
|
backend-gfxstream = ["rutabaga_gfx/gfxstream"]
|
|
backend-virgl = ["dep:virglrenderer"]
|
|
|
|
[dependencies]
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
env_logger = "0.11.9"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
|
|
[target.'cfg(not(target_env = "musl"))'.dependencies]
|
|
rutabaga_gfx = { version = "0.1.75", features = ["virgl_renderer"] }
|
|
thiserror = "2.0.18"
|
|
virglrenderer = { git = "https://gitlab.freedesktop.org/mtjhrc/virglrenderer-rs.git", branch = "map_info", optional = true }
|
|
vhost = { git = "https://git.dsg.is/dsg/vhost.git", features = ["vhost-user-backend"] }
|
|
vhost-user-backend = { git = "https://git.dsg.is/dsg/vhost.git" }
|
|
virtio-bindings = "0.2.5"
|
|
virtio-queue = "0.17.0"
|
|
vm-memory = "0.17.1"
|
|
vmm-sys-util = "0.15.0"
|
|
bitflags = "2.11.0"
|
|
|
|
[dev-dependencies]
|
|
assert_matches = "1.5"
|
|
mockall = "0.14.0"
|
|
rusty-fork = "0.3.1"
|
|
tempfile = "3.26"
|
|
virtio-queue = { version = "0.17", features = ["test-utils"] }
|
|
vm-memory = { version = "0.17.1", features = ["backend-mmap", "backend-atomic"] }
|