Stop Dual-Booting: Run Linux GUI Apps Directly on Windows with WSLg
You know the drill. You need a Linux-only tool for work, but your daily driver runs Windows. So you either keep a separate Linux box under your desk, spin up a VM that eats your RAM, or wrestle with an X server that feels like it's held together with duct tape. What if you could just run Linux GUI applications natively inside Windows, with them showing up in your taskbar and supporting copy-paste like they belong there?
That's exactly what WSLg (short for Windows Subsystem for Linux GUI) does. It's Microsoft's open-source project that brings full GUI support for Linux applications—both X11 and Wayland—directly into Windows. No VMs, no remote desktops, no awkward workarounds. Just launch a Linux app and it opens on your Windows desktop like it's always lived there.
What It Does
WSLg is the graphical layer that sits on top of WSL 2, Microsoft's virtualized Linux environment for Windows. The project's purpose is straightforward: enable support for running Linux GUI applications on Windows in a "fully integrated desktop experience."
What does that integration actually mean in practice? For starters, Linux apps appear in your Windows Start Menu, so you can launch them like any other Windows program. They show up in your taskbar and participate in the alt-tab experience. You can cut and paste text between Windows and Linux applications seamlessly. It's not a separate window floating in a VM bubble—it's a native-feeling desktop experience.
Under the hood, WSLg handles both major Linux display protocols: X11 and Wayland. That means whether you're running a legacy GTK app or a modern Wayland-native application, WSLg has you covered. The project is compatible with both Windows 11 and Windows 10 (with Windows 10, you just need to make sure you're fully updated). It ships both as part of Windows 11's inbox WSL support and through the Microsoft Store version of WSL.
Why It's Cool
The biggest win here is eliminating the friction that's always existed between Windows and Linux GUI apps. Before WSLg, your options were all compromises:
- Multiple PCs dedicated to each OS—expensive and clunky
- Virtual machines that eat system resources and feel sluggish
- Third-party X servers running on Windows that require manual configuration and often feel laggy or broken
WSLg sidesteps all of that. It's built into WSL itself, so there's no separate server to install or configure. The integration with the Windows desktop is baked in from the start.
The GPU acceleration is another significant point. The README explicitly calls out that you should update your graphics driver to take advantage of GPU acceleration in your WSL environment. That means graphics-intensive Linux applications—think data visualization tools, image editors, or even games—can leverage your actual GPU rather than falling back to software rendering.
There's also something genuinely nice about the workflow. If you're a developer who prefers Windows as your host OS but relies on Linux tools that only have GUI builds for Linux (or work far better there), WSLg removes the "either/or" decision. You get both environments coexisting in a way that feels surprisingly natural.
One thing to note: WSLg requires WSL 2. It won't work with distros running in WSL 1 mode. The README is clear about this—if you have a WSL 1 distro, you'll need to convert it to WSL 2 before GUI apps will work. It's a minor caveat, but worth knowing before you dive in.
How to Try It
Getting started is refreshingly simple. If you're doing a fresh install with no prior WSL setup, open a command prompt with administrator privileges and run:
wsl --install -d Ubuntu
Reboot if prompted. After reboot, the installation continues, and you'll be asked to create a Linux username and password (these can be anything—they don't need to match your Windows credentials). And that's it. WSL and WSLg are installed and ready.
If you already have WSL installed but it predates WSLg, updating is just one command:
wsl --update
That pulls the latest version of WSL, which includes WSLg. If you're running an older distro in WSL 1 mode, you'll need to switch it to WSL 2 first. Check what you have with:
wsl --list -v
Then convert your distro if needed:
wsl --set-version _distro_name_ 2
Finally, restart WSL to pick up the changes:
wsl --shutdown
One practical tip from the README: before you install, update your graphics driver from your GPU manufacturer's website. It's not strictly required to get basic functionality, but it's necessary for GPU acceleration.
You can find the full repository and documentation at https://github.com/microsoft/wslg.
Final Thoughts
WSLg is one of those projects that quietly solves a problem you didn't realize was solvable. If you've ever found yourself maintaining a separate Linux machine just for one or two GUI tools, or putting up with a clunky VM experience, this is worth a serious look. It's not going to replace heavy-duty Linux deployments, and it's limited to WSL 2, but for the common case of "I need to run a Linux GUI app while living in Windows," it's honestly the best answer yet.
The fact that it's open source and freely available makes it even easier to try. Worst case, you spend ten minutes setting it up and decide it's not for you. Best case, you retire that dual-boot setup for good.
Follow @githubprojects for more developer tools and open source projects.