https://github.com/rustdesk-org/qemu-display
https://gitlab.com/marcandre.lureau/qemu-display
https://github.com/rustdesk-org/qemu-display
Last synced: about 1 month ago
JSON representation
https://gitlab.com/marcandre.lureau/qemu-display
- Host: GitHub
- URL: https://github.com/rustdesk-org/qemu-display
- Owner: rustdesk-org
- Created: 2023-03-04T10:02:47.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T10:04:54.000Z (over 2 years ago)
- Last Synced: 2025-04-22T10:37:32.719Z (about 1 month ago)
- Language: Rust
- Homepage:
- Size: 510 KB
- Stars: 17
- Watchers: 4
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QEMU D-Bus display experiment
## Introduction
*WIP* Rust crates to interact with a ``-display dbus`` QEMU. The development
branch is currently: https://gitlab.com/marcandre.lureau/qemu/-/tree/dbusSee also the QEMU mailing list for progress.
Most dependencies are released, but notably zbus 2.0 is still in beta. RDW and
VTE4 widgets are also unreleased at this stage.## Features
Depending on what the VM exposes & supports, various interfaces are implemented:
- display, with optional DMABUF sharing
- display resize
- keyboard & mouse
- serial terminals
- QMP/HMP monitors
- audio playback & recording
- USB device redirection
- clipboard sharing## Project organization
### qemu-display
This crate provides simple D-Bus interfaces through zbus, and some basic abstractions.
### qemu-rdw
This crate aims to provide Gtk+ 4 widget for a QEMU display, as well as
dialogs/widgets for USB redirection and other options or features.Currently it's a demo app (run by default with `cargo run`).
It is also based on a *WIP* crate "RDW" (*Remote display/desktop widget*) to
provide a base widget for various remote display solutions (VNC, RDP, Spice
etc).### qemu-vnc
A simple VNC server implementation.
### qemu-vte
A standalone VTE/Gtk+ 4 client, which should eventually be a consumable crate or
integrated with qemu-rdw.## Build requirements
To build this project, you will need several system libraries. Here is the
current list of build dependencies on Fedora:```sh
$ sudo dnf install cargo gcc usbredir-devel wayland-devel libxkbcommon-devel glib2-devel gtk4-devel gstreamer1-devel gstreamer1-plugins-base-devel
```