1
0
mirror of https://gitlab.com/marcandre.lureau/qemu-display.git synced 2025-04-14 08:44:46 +00:00

doc(rdp): add README.md

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2025-01-29 13:49:30 +04:00
parent 1df9070d40
commit ba7d12508e

93
qemu-rdp/README.md Normal file
View File

@ -0,0 +1,93 @@
# org.qemu.Display1 D-Bus RDP server
[![Crates.io](https://img.shields.io/crates/v/qemu-rdp.svg)](https://crates.io/crates/qemu-rdp)
[![Documentation](https://docs.rs/qemu-display/badge.svg)](https://docs.rs/qemu-rdp)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
RDP server for
[org.qemu.Display1](https://www.qemu.org/docs/master/interop/dbus-display.html)
interface (as exposed by `qemu -display dbus`).
The project was originally designed to work with QEMU, but it can be used with
other displays/UI that implement the D-Bus interface.
## Features
- RDP server in Rust thanks to IronRDP
- using TLS/CredSSP for secure connections
- text clipboard sharing
- audio playback
- monitor resize
- remotefx image codec
- Opus audio codec (works with some clients, like FreeRDP)
## Installation & usage
```
cargo install qemu-rdp
```
To run the server against qemu, the simplest way is to use `qemu -display dbus` and
run the server: (requires certificate and key)
```bash
qemu-rdp serve --bind-address YOUR_IP:3389 --cert=CERT.PEM --key=KEY.PEM
```
Although for a complete setup (with audio devices, clipboard and such), you may
want to wait for libvirt to support it.
## TODO
Some ideas to improve the project:
- [ ] some video/image codec (AV1/AVC/HEVC)
- [ ] USB redirection
- [ ] audio recording
- [ ] more types clipboard redirection
- [ ] file system redirection
- [ ] multimonitor
- tons of other stuff from RDP features, and a lot of bug fixes🐛
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major
changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
### Development Setup
1. Clone the repository:
```bash
git clone https://gitlab.com/marcandre.lureau/qemu-display
cd qemu-display/qemu-rdp
```
2. Build the project:
```bash
cargo build
```
## Changelog
### [0.1.0] - 2025-01-29
- Initial release
## License
This project is licensed under the MIT License - see the [LICENSE](https://opensource.org/licenses/MIT) file for details.
## Acknowledgments
- Thanks to contributors, especially [Mihnea
Buzatu](https://github.com/mihneabuz) would did the initial work during GSoC
2023
- Credits to [IronRDP](https://github.com/Devolutions/IronRDP)
- Red Hat!
## Contact
- Email: marcandre.lureau@gmail.com
---
Built with ❤️ using Rust