[package] name = "devices" version = "2.3.0" authors = ["Huawei StratoVirt Team"] edition = "2021" license = "Mulan PSL v2" description = "Misc device emulation" [dependencies] thiserror = "1.0" anyhow = "1.0" libc = "0.2" log = "0.4" kvm-ioctls = "0.13.0" serde = { version = "1.0", features = ["derive"] } vmm-sys-util = "0.11.1" byteorder = "1.4.3" drm-fourcc = ">=2.2.0" once_cell = "1.18.0" v4l2-sys-mit = { version = "0.3.0", optional = true } serde_json = "1.0" rand = "0.8.5" kvm-bindings = { version = "0.6.0", features = ["fam-wrappers"] } address_space = { path = "../address_space" } hypervisor = { path = "../hypervisor" } machine_manager = { path = "../machine_manager" } migration = { path = "../migration" } migration_derive = { path = "../migration/migration_derive" } util = { path = "../util" } acpi = { path = "../acpi" } block_backend = { path = "../block_backend"} chardev_backend = { path = "../chardev_backend" } ui = { path = "../ui" } pulse = { version = "2.27", package = "libpulse-binding", optional = true } psimple = { version = "2.27", package = "libpulse-simple-binding", optional = true } alsa = { version = "0.7.0", optional = true } rusb = { version = "0.9", optional = true } libusb1-sys = { version = "0.6.4", optional = true } cairo-rs = { version = "0.17.10", optional = true } [features] default = [] scream = ["machine_manager/scream"] scream_alsa = ["scream", "dep:alsa", "machine_manager/scream_alsa"] scream_pulseaudio = ["scream", "dep:pulse", "dep:psimple", "machine_manager/scream_pulseaudio"] demo_device = ["machine_manager/demo_device", "ui/console", "util/pixman"] usb_host = ["dep:libusb1-sys", "dep:rusb", "machine_manager/usb_host"] usb_camera = ["dep:cairo-rs", "machine_manager/usb_camera"] usb_camera_v4l2 = ["usb_camera", "dep:v4l2-sys-mit", "machine_manager/usb_camera_v4l2", "util/usb_camera_v4l2"] ramfb = ["ui/console", "util/pixman"]