Up and running in one line
The curl installer works on every supported distro and runs setup for you. Or use your native package manager and run winpodx setup once.
1 · Install
The one-liner installs WinPodX, runs setup, and waits for the first Windows boot (~5–10 min).
install.sh and pass them, or run it locally): --storage-dir <path> puts the Windows VM disk on a roomier partition instead of ~/.local/share/winpodx/storage, and --win-iso <path> installs from a Windows ISO you already have so it skips the ~5–8 GB download. Both apply to fresh installs.
Or via a package manager
openSUSE (Tumbleweed / Leap / Slowroll)
Fedora 42 / 43 / 44
Arch / Manjaro
NixOS
Debian / Ubuntu (.deb)
AlmaLinux / Rocky / RHEL (.rpm)
AppImage (any distro)
Uninstall
winpodx setup once to generate the
config + compose and confirm host deps — package installs ship the binary only, so they don't
kick off a 10-minute Windows download out of the blue. The curl one-liner does this for you.
2 · First-time setup
Already used the curl one-liner? It ran setup — skip to launch.
Auto (host-detected defaults)
Interactive wizard
Setup writes ~/.config/winpodx.toml + compose.yaml, registers the GUI launcher,
and confirms FreeRDP + Podman/Docker + KVM. The first app launch then provisions the pod and reaches a usable
RDP session in ~5–10 min.
3 · Requirements
Hardware virtualization
An x86_64 or aarch64 CPU with virtualization extensions (VT-x / AMD-V / EL2), and access to /dev/kvm. WinPodX runs Windows in a KVM-backed container — without KVM the install completes but Windows never boots.
Memory & disk
8 GB+ host RAM (12 GB+ recommended) and ~30 GB free disk for the Windows image. Setup auto-sizes the VM's RAM to your host — a 24 GB+ host now gives the VM 8 GB by default; change it any time with winpodx config set pod.ram_gb 8.
Container runtime + FreeRDP
A host container runtime (podman ≥ 4 recommended; docker also supported), a compose provider (the .deb now pulls in podman-compose, and setup fails loudly with the package to install if none is found), and FreeRDP 3+. winpodx setup-host fixes kvm-group + /etc/subuid / subgid via one pkexec prompt; winpodx doctor surfaces anything still missing.