WinPodX, ein Werkzeug zum Ausführen von Windows-Anwendungen als native Linux-Fenster, wurde in Version v0.11.0 veröffentlicht.
WinPodX startet im Hintergrund einen Windows-Container (über dockur/windows) per KVM und blendet einzelne Windows-Programme über FreeRDP RemoteApp als eigenständige Linux-Fenster ein. Erst Anfang September erschien Version v0.10.4 mit gezieltem Verzeichnis-Sharing und Per-App-RDP-Einstellungen.
Zentrale Neuerung diesmal ist die komplett überarbeitete Qt6-Desktop-App im Stil der Windows-11-Einstellungen: ein Dashboard mit Pod-Status, Start/Stop-Steuerung sowie RAM-, CPU- und Disk-Ringen, ein durchsuchbarer Applications-Katalog und ein aufgeräumter Settings-Bereich. Die Navigation passt sich an die Fenstergröße an (320-px-Leiste oder 48-px-Icon-Rail), winpodx launch öffnet nun als kompaktes Start-Menü-Flyout. Ausserdem: Python 3.9 wird nicht mehr unterstützt (mindestens Python 3.10 nötig).
[0.11.0] - 2026-09-07
Added
- The Qt6 desktop app now uses a Windows 11 Settings-style shell that keeps the controls for a running Windows pod in one place. Dashboard is the home page, with pod state and Start/Stop controls, RAM, CPU, and disk rings, quick actions, running sessions, pinned app tiles, and the reverse-open switch. Applications presents the discovered Start Menu catalogue as searchable tiles or a list with category counts and context actions. Settings groups connection, hardware, update, integration, localization, and destructive controls, with a header dirty indicator until changes are saved. Tools, Terminal, Info, Devices, and License complete the page set; the Devices page groups USB and PCI devices, shows assignment counts, supports filtering, and flags risky PCI assignments.
- Provisioning progress now reads dockur’s
msg.htmlstatus endpoint before falling back to container logs (#863). The CLI and GUI can show the current upstream phase without waiting for buffered log output, while retaining the existing log-based path when the HTTP status page is unavailable.Changed
- The desktop shell now adapts its navigation and window chrome to the available space instead of forcing a fixed launcher layout. At normal widths it shows a 320 px navigation pane; below 1100 px it becomes a 48 px icon rail, and an expanded pane overlays the page and closes when the user clicks outside it. A custom title bar supplies minimize, maximize, close, drag, and double-click maximize behavior. Set
WINPODX_NATIVE_TITLEBAR=1to restore system decorations. The Fluent light and dark theme follows the operating system, withWINPODX_COLOR_SCHEME=lightordarkavailable for a temporary override. The bundled Selawik fallback font keeps the interface readable where Segoe UI Variable and Segoe UI are absent.winpodx launchnow opens as a compact Start-style flyout — search, pinned and recent rows, and the full app grid, styled like the desktop app and following the same light/dark scheme.- The tray app launcher now stays current and preserves each app’s complete launch configuration. Visible Windows applications are sorted consistently by launcher tier and name, hidden applications are excluded, and the previous 20-app cap is gone. Tray launches now carry launch URIs, window-class hints, default arguments, app icons, and per-app RDP overrides. The menu refreshes both when opened and on the status timer for desktops such as KDE Plasma that do not reliably emit nested-menu signals; if the app catalogue cannot be read, the last working menu remains available.
- Host-device lists now show useful PCI names and passthrough-oriented ordering (by @silentone12725, #819). PCI entries retain their stable hardware IDs while also showing vendor/model names, localized class labels, and IOMMU metadata. USB peripherals remain first; PCI endpoints are ranked by usefulness across both grouped and ungrouped devices, while every IOMMU group stays adjacent and ordered by PCI address. The CLI and GUI share the same ordering policy.
Removed
- Python 3.9 support has been removed; WinPodX now requires Python 3.10 or newer. The desktop app redesign needs modern dataclass and typing behavior, and Python 3.9 was the only supported runtime that still needed compatibility shims. Python 3.10 continues to install
tomlibecause stdlibtomllibbegins with Python 3.11. On RHEL 9, AlmaLinux 9, and Rocky Linux 9, the el9 package pulls in the Python 3.11 stack from AppStream.Fixed
- Dashboard resource colors and application labels now match their meaning (#811, #812; by @silentone12725 in #819, thanks @GameSoul7Eugene). RAM uses the mauve accent, CPU and normal disk usage use blue, and disk usage turns red at the configured auto-grow threshold. The same threshold now exposes a translated warning through Qt accessibility properties instead of relying on color alone. The launcher is named “Applications” consistently across navigation, empty states, documentation, and all six translated catalogs.
- PCI passthrough now exposes the assigned device’s VFIO IOMMU-group node to the container. The generated compose configuration previously exposed only
/dev/vfio/vfio; QEMU also needs/dev/vfio/<group>to open an assigned PCI device, so passthrough could fail even when the device was correctly bound tovfio-pci. WinPodX now resolves every assigned PCI device’s IOMMU group, exposes the corresponding group nodes alongside the VFIO control node, and de-duplicates nodes when multiple PCI functions share a group.

Quelle: GitHub