Home » Technology » Run Windows Apps on Linux: WinApps & WinBoat Compared

Run Windows Apps on Linux: WinApps & WinBoat Compared

by Sophie Lin - Technology Editor

Linux users who need Windows‑only software now have a practical way to contain your Windows apps inside Linux without juggling a full‑screen VM. Two open‑source projects, WinApps and WinBoat, spin up a hidden Windows virtual machine and stream individual applications to the Linux desktop via Microsoft’s Remote Desktop Protocol (RDP), effectively giving each Windows program its own native‑looking window.

While WINE can run many Windows binaries, it still lacks support for the Microsoft Store and some newer commercial suites. Running a genuine copy of Windows in a virtual machine (VM) solves those gaps, but traditional VM workflows require manual file‑sharing and constant context switching. WinApps and WinBoat aim to make the VM invisible, delivering near‑native performance and tighter desktop integration.

WinApps: flexibility for the power user

WinApps originated around 2020 under the guidance of Ben Curtis. After a period of inactivity the project was revived as a “hard fork” that now supports three deployment modes: Docker containers, Podman containers (which avoid root privileges), or direct KVM‑based VMs managed through libvirt. The official documentation warns that the libvirt route is “much more complex to install” but as well “much more flexible” – for example, the hypervisor can run on a separate machine, letting you repurpose an old laptop as a dedicated Windows host.

Setting up WinApps on a typical workstation involves creating a Windows 10 IoT LTSC VM (the article’s test used a 64 GB virtual disk, 8 GB RAM, and two CPU cores). The Windows image lives under /var/lib by default, so a root partition of at least 32 GB is recommended, with 64 GB being “more prudent.” After configuring networking, activation and an offline Windows account, the VM remains hidden until an app is launched; FreeRDP then streams the app into its own Linux window.

Because WinApps integrates with the host desktop’s launcher, it can add shortcuts for each Windows program, though the article notes that extra icons (e.g., Microsoft Paint) may appear prematurely. The setup process took “more than a day” for the reviewer, and required occasional reboots to apply changes.

WinApps running OneNote 2016 on Linux

WinApps also offers advanced features such as KVM memory ballooning, allowing the hypervisor to reclaim unused RAM (the test machine with 24 GB total RAM allocated 4 GB to the VM, with a balloon limit of 8 GB). Remote management via virt‑manager means you can control the Windows VM from another Linux box, even passing through a GPU or a virtual TPM.

WinBoat: a streamlined, beginner‑friendly approach

WinBoat entered the scene about six months ago and is still pre‑1.0 (version 0.9.0 at the time of testing). Built mainly in TypeScript with some Go components, it automates most of the heavy lifting. The project’s FAQ states: “To be honest, when we first read this last year, our response was dismissive – but after getting WinApps working, suddenly this seems like a fine and desirable objective.

WinBoat relies on Docker (with optional Podman support, though USB passthrough is lost) and FreeRDP. Installation simply follows Docker’s official guide and the distro’s FreeRDP package. The application is distributed as an AppImage, as well as native .deb, .rpm and Nix packages, but it does not maintain a repository – users must manually check for updates.

During the review the author used the AppImage on Ubuntu 24.04.4, fixing a kernel‑AppArmor restriction with sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0. After installing Docker and FreeRDP3, WinBoat downloaded a Windows evaluation ISO (or used a local LTSC ISO) and set up the VM in about an hour.

WinBoat apps screen lists all the programs it can identify in your VM: simple, but effective - click to enlarge
WinBoat’s automatic app discovery

The interface shows the VM’s status with large “Pause” and “Stop” buttons and a list of detected Windows applications. Clicking an entry launches the app in its own Linux window, with no additional desktop integration beyond a network share (\hostlan in WinBoat, compared to \tsclienthome in WinApps).

Head‑to‑head: WinApps vs. WinBoat

Aspect WinApps WinBoat
Project maturity Established (2020), hard‑fork, extensive docs New (≈6 months), version 0.9.0
Deployment options Docker, Podman, KVM + libvirt Docker (Podman optional)
Configuration Manual config files, advanced tweaks (memory ballooning, remote host) GUI with ~13 adjustable settings
Desktop integration Status‑bar applet, launcher entries Simple window list, no deep integration
Resource requirements Needs larger root partition (≥32 GB) for container storage Container stored wherever user chooses

Both tools succeed at the core goal: they let you run Windows applications side‑by‑side with native Linux software. WinApps shines for users who want granular control, remote VM hosting, or advanced features like GPU passthrough. WinBoat excels for those who want a “set‑and‑forget” experience with minimal tinkering.

In practice, performance was mixed. On an aging ThinkPad W520 running Ubuntu “Questing,” Windows apps launched slowly and displayed occasional multi‑monitor glitches. On a newer Dell Latitude 5420 with Ubuntu Noble, the experience was smoother but still not instantly responsive. The article notes that “WINE is faster” for simple apps because it avoids the overhead of a full Windows OS.

“That button conceals a lot of black magic, but it hides the plumbing very well and it works.” – John Brunner

Looking ahead

Both projects remain open‑source and free, with active communities contributing improvements. As Linux desktop environments continue to mature (Wayland, improved RDP support), the integration layer between Windows VMs and Linux may become even tighter. Users interested in the latest releases can follow the WinBoat site (winboat.app) and the WinApps GitHub repository for updates.

Whether you prefer the configurability of WinApps or the simplicity of WinBoat, the ability to contain your Windows apps inside Linux is now a viable alternative to dual‑booting or relying on imperfect compatibility layers. Give it a try, share your experience in the comments, and spread the word to fellow Linux power users.

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Adblock Detected

Please support us by disabling your AdBlocker extension from your browsers for our website.