Operations 14 min read

Run Windows Applications as Native Linux Windows with WinPodX – One‑Command Setup

WinPodX is an open‑source tool that uses Podman and FreeRDP to run full Windows containers on Linux, projecting each application as an independent native window with full Alt‑Tab integration, bidirectional file sharing, clipboard sync, and easy one‑command installation, offering a lightweight alternative to VMs and Wine.

Ubuntu
Ubuntu
Ubuntu
Run Windows Applications as Native Linux Windows with WinPodX – One‑Command Setup

What is WinPodX?

WinPodX is an open‑source MIT‑licensed Windows Pod system for Linux. It runs a lightweight Windows container using Podman and projects individual Windows applications to the Linux desktop via FreeRDP RemoteApp, making each app appear as a native Linux window.

Architecture

Container layer : Podman + KVM + dockur/windows – runs a full Windows container.

Projection layer : FreeRDP RemoteApp (RAIL) – projects a single app window to the Linux desktop.

Integration layer : .desktop files + WM_CLASS – integrates the app into the Linux taskbar and Alt‑Tab.

Key features

Seamless application windows – each Windows app runs in an independent Linux window with real icons, proper WM_CLASS, Alt‑Tab support, and multi‑monitor dragging.

Reverse‑open – from Windows Explorer, right‑click a file, choose Open with… and select a Linux app (e.g., VS Code) to edit and save back to the Windows file via SMB + kio‑fuse.

Bidirectional clipboard & file sharing – text and image copy/paste both ways; Linux home is auto‑mounted as \\tsclient\home; USB drives, audio, and printers are shared.

Virtual‑machine detection evasion (v0.7.0, disabled by default) – two disguise levels: balanced hides CPUID and KVM signatures; max patches QEMU to rewrite ACPI, disk, sensor, USB fingerprints. Verified with al‑khaser 0.82.

Smart operations – automatic pause when idle, rotating 20‑character passwords every 7 days, DPI auto‑adaptation for GNOME/KDE/Sway/Hyprland, automatic RDP service restart, and a Qt6 dashboard showing pod, RAM, and CPU usage.

Windows lean – telemetry, ads, Cortana, and search indexing are disabled, producing a cleaner Windows image.

Installation

Pre‑flight checks

BIOS VT‑x/AMD‑V enabled – check with lscpu | grep -i virtualization; enable in firmware if missing.

KVM module loaded – check with lsmod | grep kvm; load with sudo modprobe kvm_intel or kvm_amd.

User in kvm group – check with id -nG | grep kvm; add with sudo usermod -aG kvm $USER.

Hardware requirements: x86_64 or aarch64 CPU with virtualization, 8 GB + RAM (12 GB + recommended), 30 GB + free disk (64 GB + recommended), and a Windows ISO for the first install.

One‑click install (recommended)

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash

The script configures Podman, downloads the Windows ISO, creates the container, and runs without manual intervention. First start takes 5–10 minutes; monitor progress with winpodx pod wait-ready --logs.

Package‑manager install

Ubuntu/Debian: sudo apt install ./winpodx_<version>_all_debian13.deb Fedora 42+:

sudo dnf config-manager addrepo ... && sudo dnf install winpodx

Arch: yay -S winpodx Nix: nix run github:kernalix7/winpodx AppImage: download, chmod +x, then

./winpodx-*-x86_64.AppImage setup
After package install, run winpodx setup once.

Custom install directory

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash -s -- --storage-dir /path/to/large-disk

Development version

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash -s -- --main

Usage

Initial setup

# Default configuration, no prompts
winpodx setup
# Interactive wizard – choose backend, CPU cores, memory, Windows version
winpodx setup --customize

Start container

winpodx pod start --wait
winpodx autostart on

Run Windows apps

# List available apps
winpodx app list
# Install all apps to the desktop menu
winpodx app install-all
# Run a specific app, e.g., Word
winpodx app run word
# Open a file with Word
winpodx app run word ~/doc.docx
# Launch full Windows desktop
winpodx app run desktop
# Quick launcher (similar to Windows Start menu)
winpodx launch
After winpodx app install-all , Windows apps appear in the Linux application launcher and can be started with a single click.

Install new Windows apps

Open Windows desktop: winpodx app run desktop Download and install the .exe inside Windows.

Refresh the list on Linux: winpodx app refresh Install to the Linux menu: winpodx app install <app‑name> Alternatively, launch the GUI manager with winpodx gui and use “Add App”.

Access Linux files from Windows

The Linux home directory is automatically mounted inside the container as \\tsclient\home. Windows Explorer shows a “Linux Apps” folder that lists available Linux applications for “Open with…”.

Diagnostics & repair

# Read‑only diagnostics
winpodx doctor
# Auto‑fix common issues
winpodx doctor --fix
# Apply client‑side fixes
winpodx guest apply-fixes
# Sync updates to running container
winpodx guest sync

Disk management

# Grow Windows virtual disk
winpodx install grow-disk 100G
# Show disk usage
winpodx install disk-usage

Device passthrough

# List passthrough‑capable devices
winpodx device list
# Attach a USB device
winpodx device attach <id>
# Detach a device
winpodx device detach <id>

Configuration tweaks

# Set maximum VM disguise level
winpodx config set pod.disguise_level max
# Change UI language
winpodx language zh
# Show current config
winpodx config show

Comparison

Compatibility : WinPodX 100 % (real Windows kernel); Wine/Bottles partial; VM 100 %.

Window experience : WinPodX and Wine provide native Linux windows; VM uses full‑screen desktop or nested window.

Resource usage : WinPodX medium (container + RDP); Wine low; VM high.

GPU performance : WinPodX RDP rendering with some loss; Wine via DXVK/VKD3D may be faster; VM with GPU passthrough is best.

Configuration difficulty : WinPodX one‑command install; Wine requires version‑specific patches and regedit; VM needs ISO download and VM setup.

File sharing : WinPodX bidirectional automatic (SMB + kio‑fuse); Wine one‑way manual; VM manual shared folder.

Clipboard : WinPodX bidirectional (text + image); Wine mostly one‑way; VM bidirectional but poor UX.

Selection guidance:

Use Wine when it works – better speed and GPU.

Use WinPodX when Wine fails – 100 % compatibility and native window experience.

Use a traditional VM with GPU passthrough when direct GPU access is required.

Important notes

Memory: at least 8 GB (12 GB + recommended); Windows container itself uses ~4 GB.

Disk: initial Windows ISO ~5 GB; virtual disk grows, 64 GB + recommended.

First start takes 5–10 minutes; monitor with winpodx pod wait-ready.

Graphics may occasionally show input lag or minor artifacts, but overall functional.

Beta status: current v0.7.3, rapid iteration, some features may be unstable.

Uninstall

Keep VM data (re‑installable):

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/uninstall.sh | bash -s -- --confirm

Full purge (including container and all data):

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/uninstall.sh | bash -s -- --purge

Project links

github.com/kernalix7/winpodx winpodx.org License: MIT
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

linuxWindowsContainersPodmanFreeRDPWinPodX
Ubuntu
Written by

Ubuntu

Focused on Ubuntu/Linux tech sharing, offering the latest news, practical tools, beginner tutorials, and problem solutions. Connecting open-source enthusiasts to build a Linux learning community. Join our QQ group or channel for discussion!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.