Features

Windows apps, as native Linux citizens

The full picture — from per-app RemoteApp windows to the bidirectional "Open with…" bridge, peripherals, multi-session RDP, and self-healing operations.

Seamless app windows

RemoteApp (RAIL), not a desktop

Each Windows app renders as its own native Linux window — no full-screen Windows desktop. Drop into a full desktop only when you actually want one (winpodx app run desktop).

Real taskbar identity

Per-app taskbar icons via WM_CLASS matching (/wm-class:<stem> + StartupWMClass), so each window pins and alt-tabs like a first-class Linux app.

Bidirectional file associations

Double-click a .docx in your file manager and Word opens. The reverse works too — see below.

Multi-session RDP

The bundled rdprrap auto-enables up to 10 independent RDP sessions, so multiple apps run truly in parallel. RAIL prerequisites are set automatically during the unattended install.

Reverse-open — Linux apps inside Windows

In the Windows "Open with…" menu

Your Linux apps appear in the Windows guest's right-click "Open with…" menu by default, with correct per-app icons in both the short menu and the long "Choose another app" dialog.

Round-trips to the host

Pick a Linux app inside Windows and the file open round-trips back to the host's xdg-open. WinPodX auto-discovers host-side Linux apps and their MIME associations from freedesktop standards.

Manageable

Tune the allow/deny lists via winpodx host-open or the GUI Settings panel.

Zero-config launch & discovery

First click provisions everything

Config, container, and desktop entries are created on the first app launch — no manual VM setup.

Auto-discovery

First boot scans the running Windows guest and registers every installed app with its real icon — Registry App Paths, Start Menu, UWP/MSIX, Chocolatey, Scoop. Rescan any time with winpodx app refresh or the GUI Refresh button.

Multi-backend

Podman (default), Docker, libvirt/KVM, or a manual RDP endpoint — pick at setup.

Peripherals & sharing

On by default

  • Clipboard — bidirectional text + images
  • Sound — RDP audio streaming
  • Printers — Linux printers shared to Windows
  • Home directory — shared as \\tsclient\home

Storage & devices

  • USB drives auto-mapped to drive letters (E:, F:, …)
  • Drives plugged in mid-session resolve, subfolders work
  • Live USB device passthrough (host ↔ guest switcher)
  • Smart DPI scaling from GNOME / KDE / Sway / Hyprland / Cinnamon

Automation, resilience & security

Keeps itself healthy

  • Auto suspend / resume — pauses when idle, resumes on launch
  • Optional pod auto-start on login
  • UNRESPONSIVE → recover: self-heals a stalled RDP guest
  • Windows disk auto-grows when C: fills, bounded by host space

Secure & private

  • Password auto-rotation — 20-char, 7-day cycle, atomic rollback
  • Windows debloat: telemetry, ads, Cortana off by default
  • FreeRDP extra_flags allowlist (regex-validated)
  • No WinPodX telemetry — ever

Operations

  • winpodx doctor — deps / pod / RDP / agent / disk health
  • --json, --quick, and --fix auto-remediation
  • Guest sync after a host upgrade; offline / air-gapped install
  • One-line uninstall (keeps VM data unless --purge)

Polish

  • Host-adaptive Windows-on-KVM tuning profile
  • Time sync after host sleep/wake
  • Multilingual UI (en / ko / zh / ja / de / fr / it)
  • Qt6 GUI: Apps / Settings / Tools / Terminal / Info + tray

Deep dives in the docs →