Internships/ProjectIdeas/RDPServer: Difference between revisions
(add rdp server project idea) |
(let's spell my name, as it conflicts with Marc-André Moreau :)) |
||
Line 19: | Line 19: | ||
* Skill level: intermediate (familiarity with RDP would be a big plus) | * Skill level: intermediate (familiarity with RDP would be a big plus) | ||
* Languages: C, Rust | * Languages: C, Rust | ||
* Mentor: Marc-André - marcandre.lureau@redhat.com - elmarco | * Mentor: Marc-André Lureau - marcandre.lureau@redhat.com - elmarco | ||
* Suggested by: Marc-André | * Suggested by: Marc-André Lureau |
Revision as of 13:50, 31 January 2023
RDP server
Summary: An out-of-process RDP server using `-display dbus`
QEMU can export its display via D-Bus since 7.0. The interface is close to QEMU internal API and offers display, audio, inputs, chardev, usb... Among other projects using it, a gtk4 client is in development (qemu-rdw), helping some applications such as GNOME Boxes, to port their code.
It's also interesting to use the interface to export the display on the network, using existing protocols, like VNC, Spice, or RDP. For example, and as a starting point perhaps, there is already an experimental VNC server written 100% Rust.
RDP being the most supported protocol, with more features and efficiency, this project idea is to develop a RDP server to export `-display dbus` over the network. Ideally, the project should be written in Rust. Unfortunately, IronRDP, the RDP crate, is lacking some server support. Investments in IronRDP is thus required. Alternatively, the project could be written in C (or other languages) with FreeRDP.
Links:
Details:
- Skill level: intermediate (familiarity with RDP would be a big plus)
- Languages: C, Rust
- Mentor: Marc-André Lureau - marcandre.lureau@redhat.com - elmarco
- Suggested by: Marc-André Lureau