Skip to content

[Feature Request] Built-in RDP Server for Guest Display #7612

@KusakabeShi

Description

@KusakabeShi

Is your feature request related to a problem? Please describe.

Currently, remote access to UTM VMs relies on SPICE or VNC. While SPICE is technically excellent, the ecosystem of SPICE clients on mobile platforms (iOS, iPadOS, Android) is poor to non-existent.

Describe the solution you'd like

It will be nice if we can integrating an RDP server directly into UTM (similar to VirtualBox's VRDP extension). This would allow the UTM host to listen for RDP connections and forward the guest's display/audio/input to any standard RDP client.

Describe alternatives you've considered

  1. Installing RDP inside the Guest OS: This works for Windows guests but does not allow access to BIOS/UEFI, boot options, or troubleshooting when the guest network is down. It also requires the guest to be fully booted.
  2. VNC: Poor experience (no audio, weak clipboard).
  3. SPICE: Lack of mobile clients makes this unusable for iPad-to-Mac or Android-to-Mac remote workflows.

Benefits

  1. RDP client is everywhere. There are bunch of free, high-quality client, and available on every platform (Windows, Linux, macOS, iOS, Android).
    1. mstsc.exe on windows
    2. Remmina on linux
    3. "Windows" app on iPadOS and iOS and Android
    • These client are polished and free
  2. Bandwidth Efficiency: RDP's use of H.264/AVC444 is highly efficient for WAN/internet connections compared to standard VNC/SPICE bitmap updates.
  3. Modern Features: RDP Native support for:
    1. Audio Redirection (Reliable sound from VM to client).
    2. Clipboard Sharing (not only text, RDP supports image, and file copy-paste).
    3. USB Redirection (Forwarding local USB devices from the RDP client to the VM).
    4. Dynamic Resolution: RDP supports client-side resizing which can trigger guest resolution updates.

These feature make RDP protocol perfect for remote VM control

Proposed Implementation Details

  1. Authentication
    • Verification: import or generated certificate for server identity identification and TLS-encryption
    • Login: Simple username/password auth defined in UTM settings.
  2. Control
    • Username Routing: A single listen port (3389) that routes to specific VMs based on the "Username" field provided by the RDP client

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions