XDA spent the week comparing Winpodx, WinBoat, and WinApps and reached a clear winner for its specific use case. The wider problem is older and more interesting: most Linux desktop users need to run something Windows still owns, whether that is a game, an Adobe app, a legacy line-of-business tool, or one specific Office feature. The category has split into two halves over the past few years. One half translates Windows API calls so the binary thinks it is on Windows. The other half runs an actual Windows VM and proxies individual applications to the Linux desktop.
We tested 8 of the best apps for running Windows software on Linux on a single Fedora 42 box, looking at install effort, what actually works, GPU passthrough where relevant, and how each handles updates. The benchmark mix included Adobe Lightroom, Microsoft Office, a couple of older indie games, AutoCAD LT, and the classic Win32 stack of Notepad++ and 7-Zip.
What to look for in a Windows-on-Linux tool
The shape of the right tool depends almost entirely on what you are trying to run:
- API translation vs virtualisation. Translation (Wine, Proton, CrossOver) is fast but fragile for niche software. Virtualisation (WinApps, WinBoat, Winpodx) always works but uses RAM and disk.
- GPU pass-through. Games care about this. Productivity apps usually do not.
- Per-app or full-desktop. Some tools launch one Windows app in its own window. Others present a full Windows desktop and you alt-tab back to Linux.
- Update strategy. Wine and Proton roll fast. Hosted-VM tools roll with Microsoft’s release schedule.
- Licence and cost. CrossOver is paid. Everything else on this list has a free path.
- Maintenance burden. WinBoat and Winpodx hide most of the QEMU complexity. Running QEMU and KVM yourself does not.
Quick comparison
| App | Best for | How it works | Free option | Standout feature |
|---|---|---|---|---|
| Wine | Drop-in Win32 apps and tools | API translation | Yes (open source) | Decades of compatibility tuning |
| Bottles | Per-app sandboxes around Wine | API translation with profiles | Yes (open source) | Per-bottle dependency isolation |
| Steam Proton | Steam games on Linux | API translation, Steam-managed | Yes (with Steam) | One-click game install with Proton-GE forks |
| WinApps | Office, Adobe, and other heavy apps as separate Linux windows | RDP proxy to a Windows VM | Yes (open source) | Native-feeling windows from a hidden Windows guest |
| WinBoat | Friendly UI on top of a Windows VM | KVM/QEMU with a curated installer | Yes (open source) | Self-contained install of the guest plus shared folders |
| Winpodx | Single-app launcher backed by Podman and Windows in a container | Containerised Windows guest | Yes (open source) | No persistent VM image to babysit |
| CrossOver | Paid Wine with vendor support | API translation, packaged | Trial | Vendor-tested install scripts for specific apps |
| Lutris | Curated launcher for games and tools | Wrapper around Wine, Proton, and emulators | Yes (open source) | One-click installers for thousands of game configs |
The 8 best apps for running Windows software on Linux
1. Wine — best general-purpose Win32 compatibility layer
Wine is the project everything else on this list either uses or competes with. Decades of compatibility patching mean a startling amount of Win32 software runs out of the box, especially in the Notepad++, 7-Zip, and older Office category. Recent releases also handle a lot more recent DirectX work than they used to. The catch is that “running” and “running well” are two different things, and Wine’s job is the former.
Where it falls short: Configuration through winecfg is unfriendly, and tracking down which DLL override fixes a specific app is a small art form. There is no per-app sandboxing without help.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: Linux (also macOS, FreeBSD)
Download: winehq.org
Bottom line: Pick Wine to run Windows software on Linux if you want the raw layer and you are happy to tune it yourself. Most users layer Bottles or Lutris on top.
2. Bottles — best per-app Wine wrapper
Bottles treats every Windows program as its own isolated bottle with its own Wine prefix, runner version, and DLL overrides. The GTK UI walks you through creating a bottle for a specific app, installing dependencies, and capturing the working config so it is reproducible. For users who lost an afternoon last year to a Wine prefix that broke after an upgrade, this is the answer.
Where it falls short: Per-bottle disk usage adds up. The dependency installer mostly works but occasionally pulls a version that fights with the program you are trying to install.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: Linux
Download: usebottles.com
Bottom line: Pick Bottles to run Windows software on Linux if you want a clean per-app workflow and a UI that does not require reading the Wine wiki.
3. Steam Proton — best for Windows games
Steam Proton is what made Linux gaming respectable. Valve maintains a Wine fork tuned for games, and the Steam client uses it automatically when you click Install on a Windows-only title that has been whitelisted (or that you flip on under Steam Play). Proton-GE, the community fork, often runs new releases before the official build catches up. The ProtonDB community page tells you whether a specific game runs and what tweaks help.
Where it falls short: Anti-cheat is the lingering blocker. Some kernel-level anti-cheat systems block Linux entirely. Non-Steam games need extra steps.
Pricing:
- Free: bundled with Steam
- Paid: none
Platforms: Linux (also Steam Deck and SteamOS)
Download: store.steampowered.com (Proton is enabled in Steam settings)
Bottom line: Pick Steam Proton to run Windows software on Linux if your target is a game on Steam. For non-Steam games, see Lutris.
4. WinApps — best for Office and Adobe as separate Linux windows
WinApps takes the virtualisation route and pulls individual Windows applications onto your Linux desktop through RDP. Office documents open in Word, Photoshop opens in Photoshop, but the windows live in your normal taskbar alongside Firefox and GNOME Files. The setup expects a running Windows guest (KVM, Docker-based, or bare metal on the network) and a small RDP client on the Linux side.
Where it falls short: First-time setup is involved. You need a licensed Windows install, enough RAM to keep the VM happy, and a willingness to manage two operating systems. Performance for GPU-heavy work depends on whether you can pass a GPU into the guest.
Pricing:
- Free: open-source on the Linux side, you provide the Windows licence
- Paid: none beyond the Windows licence
Platforms: Linux (Windows guest required)
Download: github.com/winapps-org/winapps
Bottom line: Pick WinApps to run Windows software on Linux if you need full Adobe or full Office and you cannot get them working under Wine.
5. WinBoat — best friendly wrapper around a Windows VM
WinBoat is the option for users who want WinApps’ end result without dragging through the Windows install manually. The installer pulls the Windows guest image, wires up shared folders, and exposes a polished UI for launching specific apps as separate windows. It is best thought of as a curated, opinionated version of “Windows in a box”.
Where it falls short: Resource use is real. A guest with Office or Adobe wants 8 GB of RAM at minimum. The convenience comes at the cost of less control over the underlying guest.
Pricing:
- Free: open-source on the Linux side, Windows licence required
- Paid: none beyond the Windows licence
Platforms: Linux
Download: github.com/TibixDev/winboat
Bottom line: Pick WinBoat to run Windows software on Linux if you want WinApps’ result with less of the manual Windows-image setup.
6. Winpodx — best containerised Windows guest
Winpodx is a newer entrant that builds the Windows guest inside Podman containers and exposes apps to the host through the same RDP route. The novelty is that there is no large QCOW2 image sitting on disk between runs; the guest comes from a container image, which makes resets and updates cleaner than a long-lived VM. For users who already think in containers, it fits the mental model.
Where it falls short: It is younger than WinApps and WinBoat, with a smaller compatibility matrix and fewer guides. Some apps that assume a persistent registry get cranky between runs.
Pricing:
- Free: open-source, you provide the Windows licence
- Paid: none
Platforms: Linux
Download: github.com/Fmstrat/winpodx
Bottom line: Pick Winpodx to run Windows software on Linux if you live in Podman, want ephemeral guests, and accept that the project is newer than the others.
7. CrossOver — best paid option with vendor support
CrossOver from CodeWeavers is the commercial sibling of Wine. It is the same underlying engine plus vendor-tested install scripts (called bottles, confusingly), an actual support team, and tighter integration with macOS and ChromeOS for users who want one tool across systems. For organisations that need a phone number to call when a specific app stops working, this is the option that exists.
Where it falls short: It is paid, with a one-year support window per purchase. The compatibility lift over plain Wine is real for specific apps but not universal.
Pricing:
- Free: 14-day trial
- Paid: annual licence with one year of support and upgrades
Platforms: Linux, macOS, ChromeOS
Download: codeweavers.com/crossover
Bottom line: Pick CrossOver to run Windows software on Linux if you need vendor support or you specifically need one of the apps it tests against, and the price is acceptable.
8. Lutris — best launcher for games and oddball Windows apps
Lutris is the launcher most people end up running on Linux. It manages Wine, Proton, and a stack of emulators behind one library, downloads per-game installers from a community catalogue, and handles the messy configuration that gets a tricky game running. The library view feels like a games launcher and works equally well for Battle.net, GOG, Epic, or itch.io titles that ship Windows binaries.
Where it falls short: The installers are community-maintained, which means quality varies. When a script breaks, you fall back to manual Wine fiddling.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: Linux
Download: lutris.net
Bottom line: Pick Lutris to run Windows software on Linux if your target is a non-Steam game, a launcher (Battle.net, GOG Galaxy), or any Windows app whose install needs hand-holding.
How to pick the right one
If you want one Steam game, use Steam Proton.
If you want one non-Steam game or a launcher like Battle.net, use Lutris.
If you want a clean per-app Wine experience without editing config files, use Bottles.
If you need full Microsoft Office or full Adobe with all the plugins, use WinApps for control or WinBoat for the friendlier installer.
If you live in containers and prefer ephemeral guests, use Winpodx.
If you need vendor support or are running a specific niche app where CrossOver has invested in compatibility, use CrossOver.
If you only need a Notepad++, a small Win32 utility, or an older Office release, raw Wine is fine.
FAQ
Is Wine the same as a Windows VM?
No. Wine translates Windows API calls into Linux ones at runtime, with no Windows kernel involved. A VM (which is what WinApps, WinBoat, and Winpodx use under the hood) runs an actual Windows install. Wine is lighter; a VM is more compatible.
Does Adobe Photoshop work on Linux?
Older Photoshop releases run under Wine and CrossOver with effort. Recent versions are reliable only inside a Windows VM, which is exactly what WinApps and WinBoat are designed for. The same story holds for most of Creative Cloud.
Can I run Windows games on Linux without Steam?
Yes. Lutris is the most common tool. Bottles also works for many titles. For Steam-bought games, Steam Proton is the first choice.
Why does the Linux community keep building new Windows-on-Linux tools?
Because the use cases differ. Wine and Proton solve compatibility for Win32 apps. WinApps and WinBoat solve the case where you need a real Windows install for Office or Adobe. Winpodx solves the case where you want a disposable guest. Each tool optimises for a different pain point.
Are anti-cheat games playable on Linux yet?
Some are, some are not. Easy Anti-Cheat and BattlEye both ship Linux runtimes, but each game’s publisher has to opt in. ProtonDB and Are We Anti-Cheat Yet are the running scoreboards.