opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

Run Linux GUI apps natively on Windows with WSLg
GitHub RepoImpressions2

Project Description

View on GitHub

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.

Back to Projects
Project ID: 573ee153-01da-450b-b707-c8e4c06090feLast updated: August 25, 2026 at 02:47 AM