For many people, the Windows Subsystem for Linux, or WSL, is a great way to use the tools you need in Linux while staying on Windows most of the time. You can just use Windows for most of your tasks, and then boot up WSL whenever you need something from a Linux distro.
WSL was my first exposure to Linux, and it showed me that it can, in fact, do a lot of the things Windows can. And that's true to the point that, today, I'd rather use Linux full-time. So, instead of using WSL to run Linux on Windows, I'm doing the opposite and running Windows on Linux.
5 Windows apps that stop me from switching to Linux
I just can't leave these apps behind
Linux does (almost) everything
I rarely need Windows
While a lot of people may prefer to use Windows as their primary platform and only rely opn Linux for certain development workloads, I've started to prefer using Linux for my day-to-day tasks. Most web browsers are on Linux, as are many popular apps like VLC, Discord, or Slack. And many others have alternatives that generally work pretty well on Linux, such as OnlyOffice as a replacement to Microsoft Office, or Affinity to replace Adobe's Photoshop and Lightroom combo.
It doesn't quite cover everything, which is where I may need to run Windows briefly. Some documents may only render properly in Microsoft Office, and Adobe does still have some tools Affinity can't quite match. So, I do sometimes find myself having to run Windows apps, and thankfully, I can do that without having to leave my Linux environment.
11 Linux apps Windows refugees need to know about
Scared of ditching Windows? These Linux apps make things so much easier
How do you run Windows on Linux?
Virtual machines, with a twist
WSL on Windows works because Windows itself has a Linux subsystem and it can run Linux-based operating systems through a container-based environment, that's a bit lighter than using a full virtual machine. Unfortunately, there's no version fo Windows that can really be run as a lightweight container, so running Windows apps on Linux always requires a full virtual machine. However, some solutions have sprung up to make this a bit more seamless.
These solutions include tools like WinApps and And WinBoat, which are slightly different approaches to the same thing. These tools use a containerization backend like Docker or Podman to create a relatively lightweight virtual machine that also offers some level of integration. In both cases, you can make it so that your Windows apps appear directly in the app list on your Linux system, much like how WSL behaves on Windows, and these apps can run in their own window rather than requiring you to open the full Windows desktop, though that's also possible.
I've tried both of these options, and I'd probably recommend WinBoat to most people due to the simple setup UI that makes it very easy to get started with setting up Windows and your apps. When I tried it for the first time, there were a lot of limitations, but the beta has progressed significantly, and now you can choose between Docker or Podman for virtualization, and Docker has added support for USB passthrough, so the experience is becoming more and more reliable.
This free and open-source app runs any Windows app on Linux with ease
This tool is making my Windows-to-Linux transition smooth
WinApps still offers a little more flexibility, but it's a little more cumbersome to set up, and WinBoat is starting to catch up. A quick look at WinBoat's website reveals that the team is working hard to enable paravirtualized drivers for GPU acceleration in Windows VMs, which would be a huge deal for Photoshop, as well as exploring alternative remote desktop options that may offer better streaming performance when accessing the virtual machine.
It works fairly well
If you only need Windows occasionally
I took WinBoat for a spin again while writing this article to try it with the latest updates, and I found the experience is solid enough for my needs. Without GPU acceleration, you do miss out on some capabilities with Adobe Photoshop (at least the latest versions, but some earlier releases may work better), but overall, performance is solid using Windows, and it gives me an avenue to run any app I might need that doesn't have a native Linux client. I was also able to run Lightroom, as well as the Microsoft 365 apps just fine.
And notably, WinBoat made it relatively easy to run these apps directly inside my Linux desktop environment, so I didn't have to fully move to the Windows desktop in order to do it. Running apps this way can introduce some glitches when you try to resize app windows, but for the most part, it's still fully functional.
And yes, in the latest version of WinBoat, as long as you enable experimental features in the settings, you can passthrough a USB device to your Windows VM, so you can open and save files from said device using Windows software. You can define devices to pass through, and that will be remembered until you remove them, so if you have a device you always use with Windows, you don't have to keep setting it up.
There aren't a lot of use cases I have for Windows these days, so for the off chance when I do need to do something in Windows, WinBoat provides a solid solution. If you need a lot of Windows apps at native performance, then this may not be the solution for you, but seeing as the app is free, you can give it a go before you decide whether it's worth keeping an active Windows license for it.
WinApps could put an end to using full Windows on my PC (with some work)
We're inching closer to a Windows-free world
WSL was a gateway
While I'm sure most will continue to use and see WSL as a solution for running their Linux tools while keeping their Windows system, my exposure to WSL and subsequent experiments with Linux actually converted me to the platform entirely, and I'd rather run my Windows apps in Linux than do the opposite. Solutions for this are becoming more and more capable, so I can only be excited for what the future holds as a Linux user.
