Linux On The Windows 11 Desktop

A month ago Microsoft officially released Windows 11. One of its features is the ability to run Linux GUI applications side by side as peers to normal Windows desktop apps. [Jim Salter] of Ars Technica took a closer look and declared it works as advertised.

This is an evolution of the Windows Subsystem for Linux (WSL), which has existed for a few years but only in command-line form. Linux being Linux, it was certainly possible to put visuals onscreen, but doing so required jumping through some hoops and dealing with limitations. Now “WSLg” gives a smoother and more accessible experience.

While tremendously valuable for those who need it, WSLg is admittedly a niche feature. The circumstances will be different for different needs. Around these parts, one example is letting us work with pieces of proprietary Windows software (such as low level hardware drivers or hardware-specific dev tools) while still retaining Linux tools for the rest of our workflow.

It’s also interesting to take a peek behind the scenes for an instructive look at bridging two operating systems. A Microsoft blog post describes the general architecture, where we were happy to see open-source work leveraged. And by basing this work on Wayland, it is more forward-looking than working with just X11.

The bad news is that WSLg is limited to Windows 11, at least for now. WSL users on Windows 10 will have to continue jumping through hoops (We described one method using X11.) And opening this door unfortunately also opened the door to security issues, so there’s still work ahead for WSL.

38 thoughts on “Linux On The Windows 11 Desktop

      1. Over here it has been XP on real hardware, 7 and 10 on VMs when needed for proprietary software.
        Never been more happy to have ditched Windows from any serious use, and it was well before telemetry and ads on the desktop.

      1. I suspect it’s like the old-three step Slashdot joke. 1-do something, 2-???, 3-profit. Nobody can figure out step two. Let alone the license’s purpose is keeping “extinguish” from happening. Most of that happens from open-source’s own actions. Also, MS benefits from FOSS just like everyone else. e.g cloud.

        1. I do not believe that MickeySoft has been interested in the ‘extinguish’ step since the departure of Gates and Balmer. Redhat and Poettering could well be the beginning of ‘extinguish’, in that the Redhat/Poettering vision for Linux seems to be significantly different from the goals of the community for almost two generations. But things do need to change. It is time for my generation to step aside and let the kids take the helm; as it is ‘sink or swim’ time for humanity, both socially, environmentally, and technically.

          Perhaps WSL will be the instrument of good change that blocks some of the more bizzare stuff coming out of the Redhat Corp. As Karr said “plus ca change, plus c’est la meme chose.”

  1. It’s funny, I can recall being able to, somewhat, run Windows applications along-side my Linux ones through WINE… if a little shakily.

    Now Microsoft has been trying to do the reverse for a few years now.

    – WSLv1 I understand was an utter disaster, sort-of-worked, much like late 90s WINE, but with lots of limitations
    – WSLv2 from what I’ve seen of it, appears to be Microsoft VirtualPC with some tight integration between the host and guest OS.
    – WSLv3… tighter integration so X11 stuff works?

    I note the system requirements aren’t any lighter. I still regularly use a laptop that was brand new in 2013 and a desktop that dates back to 2010. Both quite usable and sufficiently fast for my needs. Neither of them meet the minimum requirements for Spinal Tap Edition, and never will. The laptop could use a new battery… but that’s about it.

    Pretty much everything I use on a day-to-day basis was designed with a Linux or Unix style machine in mind. Some of it will work on MacOS X. Very little of it runs particularly well on Windows.

    I’ve weaned myself off Windows-based software out of necessity: at university (2003-2009) I was running on second-hand previous-century laptops which ran Linux well enough, but couldn’t run any contemporary version of Windows with any real success.

    Having now been almost completely Windows-free for my day to day work, I see no point in buying the latest and greatest hardware, just for the privilege of having this abusive middle-man sitting between my applications and my hardware, dictating to me what I can run, when I can run it and changing on me without warning.

    Linux behind the scenes has changed a lot, but I get to pick my maintenance windows, my GUI environment has not changed much at all since 2009, and seems to run on everything from late 90s Pentium II laptops through to 16-core AMD64 workstations. Even systemd hasn’t been this disruptive: I’ve managed to get along with it, even if I don’t always agree with it.

    Windows is a legacy OS… it’s what you run if you need to run software that won’t work on anything else. If you don’t need to enter the prison, you’re better off staying out of it.

    1. The audacity of attempting WINE in the 90’s was staggering to me. I didn’t fiddle with it then. In the 2000’s I had occasion to do so and was stunned at how well they had prevailed in such a Herculean (Sisyphean?) task.

      I was able to run many of my GUI apps just fine on Linux, and on Mac as well.

  2. I use MobaXterm as a terminal for my WSL/Ubuntu on Windows 10. It includes an X-server so if i type xdaliclock it just pops up in a windows on my Windows desktop. Same for other graphical programs. But it’s great that W11 has further improved the support for WSL although my PC (i7 with 16G) doesn’t seem to be compliant for the upgrade according to the info screen. That might be the TPM, haven’t felt the need to explore it further.

  3. Oh dear.

    I truly hope that developers are not wasting time on making their applications working on WSLg but rather be strict and let Microsoft do the necessary ~adaption work~ jumping through hoops.

    1. That is *exactly* what Microsoft have in in mind: offering libraries and tools (VSCode) to make Linux developers as much as comfortable writing on Windows, that is, on Linux running on Windows, so that many of them won’t need a second machine or a dual boot anymore and will settle on Windows only plus WSL. And many of them are falling with it.

      A possible short future scenario will be software written to use some Windows only features through closed and (but only as in beer) free blobs, donated thanks to Microsoft “generosity”, so that developers and users won’t have to spend a dime if their software runs under WSL, but licenses will prohibit running it under native Linux. The consequence now will be also users migrating from Windows OR Linux (dual boot / dual machine scenario) to Windows+Linux which now of course is becoming a new thing in which software is starting to require the Microsoft ecosystem around, de facto becoming unusable on a authentic native Linux machine.
      The transition from this to a Linux distro made by Microsoft which contains their free (only as in beer) tools is just a matter of time, and it will be the day Linux can be declared dead. At least on desktop machines.

    1. history, and branding. NT was intended to be layered, and what we know of as Windows is the Win32 susbsystem for NT. POSIX was an NT subsystem as well (abandoned some years back, but not too long ago). But now we think of NT as Windows. Hence the nomenclature.

  4. Don’t upgrade from WSL1 to WSL2 if you want to use VirtualBox (hypervisor kills it. For some, it runs, but at 10% speed). Official fix is buy VMware licence, no, really.

    Don’t upgrade from WSL1 to WSL2 if you want run network services from Linux to anything other than the host. Bridged networking is gone. Work arounds involve complex scripts to fudge your networking and need to be run every time you start WSL. Official fix is to purchase Windows Pro, but all that does is give you a GUI. Changes still have to be made every time.

    After two days solid trying to find fixes to both these items, that have been known about for 2 years, I gave up and rolled back to WSL1 where all works nicely.

    1. What you really mean by that is if you need this stuff just run Linux and keep M$’s offering bottled up in a nice friendly VM or just run the program via WINE…

      Which to me seems to be the only really sensible option anyway – its nice that knowing how to make Unix like OS’s dance is now useful in Windoze, but when you really want any of the Linux(etc) goodness why put it on top of the pile of shit when you can run all the FOSS stuff a native FOSS OS properly and hide the Windon’t stuff away from all your data with a VM – functionality will be basically identical, but the bloat and self restarting bollocks that is windows does not have the ability to get in the way of anything else…

    2. Yes, it only works on newer chips. And by ‘newer’ I mean ‘if you’ve bought your computer in the last 5- years or so’ then you’re probably OK. My boxes — though ‘old’ — can run run /either/ WSL2 /or/ VMWare, but not both. I /can/ run both on my ca 2018 Dell laptop, but not on my AMD Phenom II or Intels. But these older boxes still spin like a top, and I’ve got too much invested in VMWare to abandon it, so WSL1 it is, and there goes Docker without a lot of work that I’m not going to do.

      Microsoft and VMWare worked out a hypervisor API, which was what was the big obstacle since both wanted to use the CPU instructions for virtualization, but clearly they didn’t care that much about downstream support because despite these processors having all the stated requirements — the HyperV and VMWare still just don’t play well together. And cryptic error messages; lol.

      Also, yes, even when it does work you will see an appreciable performance degradation in your VMs. If you have heard that the official fix is to ‘buy VMWare license’ then I can save you some money because I do have a VMWare license and it simply does not work there, either, IFF your problem is that you are in this little nexus of non-support for your CPU as is the case with me. You will not escape.

      I took detailed notes of my experiments, but alas they are not at my fingertips, so I cannot bring the receipts just now.

    1. I have heard that, not only can it run Wine, it can also run 32 bit programs in Wine if 32 bit support is included in the Linux OS. That means it might be possible to run older Windows software that no longer runs under native Windows, on WSL2.

      I have yet to try this, so I don’t know how well it will work in practice.

  5. Makes me wonder if this sort of thing was part of why Apple is switching to Apple Silicon? They wouldn’t want someone putting together a way to run OS X software in Windows.

    All this is reminding me of the bad guy’s operating system in “The Blue Nowhere”. He’d cobbled together some combination of Unix, Macintosh, Windows and others. At the time I read the Reader’s Digest Condensed version I though that was a silly idea… There’s plenty else in the book that still is silly. East Coast and West Coast Unix? Old “big iron” computers didn’t have huge amounts of cabling overhead AND under the floor.

  6. At home, I am happy that Windows is no longer needed nor desired, and has been that way for quite a few years now. Not sure what folks see in Windows when you have nice Linux OS available that runs pretty much on everything. In a way good to see Windows slowing moving toward Linux, first with there back end server and own distro, and now slowly working it into the Windows realm. Some day maybe Windows will just become Linux and Windows can move on to bigger and better things rather than maintaining an OS :) .

    1. Unfortunately, all major industrial controls (FLadder, any Siemens stuff), mechanical engineering (anything Dassault, which reigns supreme) and metrology (SA, and about 5 different instruments’ utilities I’ve used recently) platforms I’ve used for work run exclusively on Windows. In my personal/hobbyist life I use almost exclusively FOSS software on Linux, but it would be difficult, approaching impossible, for most industrial corporations to switch over.

      That said, the most recent PLM I’ve used is browser-based (unfortunately only works on chromium browsers, though), so at least that could be run on Linux.

  7. Now that Windows can run linux GUI applications developers can just focus on making linux software instead of for windows. Give it a few years and we’ll finally be able to leave that pesky legacy OS (windows) behind :)

    Endure. Exibit. Exit and good ridance

  8. Linux isn’t some “app” to run under windows. Its a fully capable OS of its own, far more powerful, and far more under control of the user than anytthing from MS will ever be.

    If you want to play games and let MS decide what you can or can’t do with YOUR device, or when you’re going to “update” (and reboot, often multiple times) then just stay in windows-land because linux isn’t for you.

    Linux is for people that do not want to run Windows.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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