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_flagsallowlist (regex-validated) - No WinPodX telemetry — ever
Operations
winpodx doctor— deps / pod / RDP / agent / disk health--json,--quick, and--fixauto-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