vhost-device/vhost-device-gpu/Cargo.toml
Davíð Steinn Geirsson 1460f1be1b gpu: add Wayland cross-domain support via unified rutabaga backend
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>
2026-03-22 23:20:02 +00:00

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"] }