When WSL came out I was absolutely overjoyed - finally an actual linux shell on windows! I use windows for my gaming pc, and I wanted to have a unified gaming/dev box. It felt like the solution.
Over time though more and more small issues with it came up. Packages working not quite right, issues with the barriers between the two, etc. It always felt like there was a little bit more friction with the process.
With Valve really pushing Proton and the state of linux gaming, I've recently swapped over to Ubuntu and Nixos. The friction point moved to the gaming side, but things mostly just work.
Things on linux are rapidly getting better, and having things just work on the development side has been a breath of fresh air. I now feel that it's a better experience than windows w/ WSL, despite some AAA titles not working on linux.
WSL 1 was supposed to be like "Windows on NT" where it emulated the Linux kernal to the NT one. they skipped a ton of features then dumped the whole thing for a containerized virtual machine thing for version 2. Wish the NT one worked out but I get it being complicated.
If the WSL 1 ended up working, it would have been one of the best historical coincidences in MS's history. A long forgotten feature in the NT kernel, unique to pretty much any other OS out there, used to push it's dominance in the 90's, is revived almost 30 years later, to fight for relevance with Unix based OS, once again. To quote Gorge Lucas, It's like poetry, it rhymes.
The essential problem was that critical Windows APIs like CreateProcess and the NTFS file system were far too slow to be used in UNIX-like ways. If you tried to run git or build things in WSL1 - a key use case - it was way slower than doing so on native or VM Linux.
I know -- I was super excited to see WSL1 and wished it worked. NT when started was the OS/2 personality and back at that time was excited to see NT as the OS to end all OSes (by running them all as a personality).
But WSL2 is freaking incredible, I'm super excited to see this and just wish the rest of windows would move to a Linux kernel and support bash natively everywhere. I was never a fan of powershell, sh/dash/ash/bash seem fine
For anyone curious (as I was) the basic difference is that WSL1 implemented the Linux syscall table directly whereas WSL2 actually runs Linux on top of some virtual drivers (hypervisor).
I had the same experience. Even installing linux is easier for me now. And with new spyware features of windows, there is really no incentive to use it
I’m actually going long on Windows now after learning about how the Linux kernel is a monolithic kernel, whereas Windows is a “hybrid” microkernel design. It explains so much about some program behavior in Linux (eg crashing Gnome would often cause kernel panics) that you don’t see at all on Windows.
Yeah, the spyware is annoying and stupid. But once you strip it out (it can be removed/blocked), Windows 11 is absolutely rock solid.
For the corps ... it's a legacy issue, but that may slip away as a side effect of Trump destroying global soft power and making it a hard sell to remain on a US led platform, purely op sec concerns, the spyware issue will add more weight to that.
Businesses would. The problem with that is you have decision makers in said businesses who don't know any better, so Microsoft-all-the-things gets pushed down the line. Offices are all trapped on Windows 10/11 and using Teams/Outlook with Exchange/Entra/Azure chugging along in all its misconfigured glory. Heck, half the MSPs I work side-by-side with seem to only offer support on Windows machines.
It gets worse. When we go to the manufacturing side of the building, there's a high chance they're still using Windows 7. Yeah, still! And IT or Controls has no idea what to do with it since, well, it's still working. Is it secure? They don't know because the team is comprised of kids who memorized the CompTIA exams and use Windows 11 at home.
Trying to get the business world to switch to Linux with all that in mind is an impossible task. It's the same as asking an American city to rip out all its old infrastructure at once and replace it with new instead of patching the old. The cost and knowledge required for such a task is unthinkable, to them. Believe me, I've tried.
Microsoft was quite brilliant in the way that they shoehorned their way into the fabric of the way we do business, not just in the US, but on a global scale.
The market is getting more diverse (mobile, steam deck alikes, laptops, consoles, etc), but i guess if you want to quickly earn the most money on your (huge) development investment, you better try and take the biggest piece of the pie first.
Personally i don't really believe in AAA (or UbiSoft's AAAA) titles that much anymore. Strange exclusivity for some console or device may bring some money early on, but i have plenty games in my Steam libary that could run perfectly under many platforms. And most AAA games heavily drop in price after a few months, Nintendo being the sole exception.
I was excited about it too, even just having a tmux and using it for grepping and file copying. Then after a year or two on windows, my computer started slowing down. Tale as old as time. I'm not surprised, and some of the issues aren't ms' fault, but nevertheless I see CPU spikes to 100 with several browser tabs open, or the drawing tablet driver goes to 100% cpu usage even though I never even use it. The UX shouldn't degrade like a mechanical system.
Curious, if you don't mind answering, do you mainly uses Ubuntu or Nixos, and which one do you liked more ATM?
Regarding Steam, do you install it with distro provided or through Flatpak?
What is the spec of your machine that you do Linux gaming on? I've noticed a notable performance penalty (around 10%, even higher on GPU heavy games) when running games with Proton, which is mainly why I haven't dropped Windows yet.
I try to use debian, since it's a bit older (read: stable) than ubunutu and I've found that if something compiles and runs on debian it'll run on ubunutu and others but the inverse is not true.
I quite like CachyOS currently. I see no performance penalty (but I also have only a 75 Hz monitor and I haven't tested VR games all that much yet). Currently I'm playing through Kingdom Come Deliverance 2 on ultra with no issues.
CachyOS provides packages for Steam, handles nvidia drivers for you and they even provide their own builds of proton and wine, allegedly compiled with flags for modern hardware + some patches (not sure how much they help though - before Cachy I used Pop OS and also had no problems with performance).
Cachy is based on Arch though, so unless you're ready for your system to potentially break with an update - maybe used something more stable (again - I quite liked Pop OS, it was extremely stable for me)
> I've noticed a notable performance penalty (around 10%, even higher on GPU heavy games) when running games with Proton, which is mainly why I haven't dropped Windows yet.
I don't mean to dismiss your comment at all, but I'm surprised that such a low overhead would be the primary reason holding you back from switching. The difference between, say, 100 FPS and 91 FPS seems so negligible in my mind that it would be pretty near the bottom on the list of reasons not to switch to Linux.
I think actually Linux has come a long way and recently I actually dual booted fedora with windows and fedora was easily my main choice unless gaming.. unfortunately when updating from 41 to 42 there was clearly an issue with the GPU not having drivers for acceleration or cuda, updating the drivers bricked the OS immediately and while I could recover, I spent hours and hours on this and could never get the GPU drivers installed again without bricking it.. ultimately I realised how at mercy of drivers Linux is. I hope though that in the next few years things improve as windows is dismal to work on these days
I just had a problem with Windows and Nvidia drivers/CUDA not working properly on a two year old Windows 11 install. I had to reinstall the operating system after days of troubleshooting and attempting different things to get it operational again. It can happen on there as well.
Unfortunately many of the more popular multiplayer games with anti-cheat tend to consider "made working on Linux" a bug rather than a feature. E.g. Easy Anti-Cheat and Unreal Engine both support Linux natively but Epic still doesn't want to allow it for their own game, Fortnite. https://x.com/TimSweeneyEpic/status/1490565925648715781
Scrolling to Medals, 50% of all 25.000+ games tracked by the site are playable, either working perfectly or mostly (Platinum or Gold ratings). Another 20% can be alright under specific circumstances, and with compromises (Silver rating).
Overwatch is the big one - lots of random issues with it. But basically any game with Denuvo DRM is extremely high risk, resulting in either a ban or the game not running at all.
When I ran a two month experiment, Hogwart's Legacy and Anno 1800.
The former ran slowly at low settings, with the occasional complete single digit slowdown. On the same laptop in Windows 10, it ran medium settings and easily twice the frame rate, no issues.
The latter wouldn't connect to multiplayer, and would occasionally just crash out.
i think everyone tried that. gpu (games etc) are the only thing holding windows relevant at this point.
i have some 2012 projects were the makefiles also build in msvc. never again.
then 2015 projects with build paths for cygwin. never again.
then some 2019 projects with build scripts making choices to work on msys2/git-bash-for-windows. never again.
now we can build on WSL with just some small changes to an env file because we run a psql container in a different way under wsl... let's see how long we endure until saying never again.
It's the other way around. You can do very few productive things with Windows other than software development. Almost all other professional software assume Windows.
> gpu (games etc) are the only thing holding windows relevant at this point.
I actually switched to Linux full-time when Starfield wouldn’t run on Windows but worked in Proton. We are now in a world where Valve provides a more sable Windows API than Microsoft. The only limitation now is anti-cheat but that’s a political problem, not a technical one.
It always infuriates me when people say Windows is all about games. Techies are so detached from reality they forget that people have creative hobbies and have to use industrial grade software. Doing creative hobbies on Linux is an act of sadomasochism. And on top of that, Linux and MacOS cannot run software from 3 years ago while Windows can run software from 35 years ago. And on top of that, Linux is completely unusable to Japanese/Chinese speakers due to how hard it is to input the moon runes, and on top of that Wayland breaks the least painful setup that you could have earlier. And on top of that, Wayland people shown a middle finger to all the people who need accessibility features.
No, Windows is not about games, Windows is about being an objectively the most stable pile of garbage there is.
Their GTX series cards all used proprietary blobs that required unmanageable device specific interfaces.
Starting from the RTX series cards, they still have proprietary blobs but instead of having device specific interfaces, they all use a shared public interface which makes compatibility and performance much better.
It's not across the board, but there are instances of gaming benchmarks showing more performance under linux than windows.
StarCraft 2 definitely works on Linux, with a relatively simple act of adding it to Steam as a non-Steam title, and then letting the Proton layer do its thing.
And this is coming from a very Linux-hesitant newbie who mostly uses Windows.
Fortnite doesn't work because Sim Tweeney doesn't want it work: both BattleEye and EAC can work on Linux, Epic just chooses not to enable that functionality.
I would do it the other way round: use Windows in a virtual machine from Linux. If you are in Windows and have the urge to use Linux, do the proper switch once and for all. You will never look back. I haven't in almost 15 years.
Given what Windows has become and already discussed here on HN I would even hesitate to run it in a virtual machine.
Except that if you require anything that is GPU-related (like gaming, Adobe suite apps, etc) you'll need to have a secondary GPU to passthrough it to the VM, which is not something that everyone has.
So, if you don't have a secondary GPU, you'll need to live without graphics acceleration in the VM... so for a lot of people the "oh you just need to use a VM!" solution is not feasible, because most of the software that people want to use that does not run under WINE do require graphics acceleration.
I tried running Photoshop under a VM, but the performance of the QEMU QXL driver is bad, and VirGL does not support Windows guests yet.
VMWare and VirtualBox do have better graphics drivers that do support Windows. I tried using VMWare and the performance was "ok", but still not near the performance of Photoshop on "bare metal".
I'm hoping that IOMMU capability will be included in consumer graphics cards soon, which would help with this
iirc there are rumors of upcoming Intel and AMD cards including it
I don’t know why there aren’t full fledged computers in a GPU sized package. Just run windows on your GPU, Linux on your main cpu. There’s some challenges to overcome but I think it would be nice to be able to extend your arm PC with an x86 expansion, or extend your x86 PC with an ARM extension. Ditto for graphics, or other hardware accelerators
There is ongoing work on supporting paravirtualized GPUs with Windows drivers. This is not hardware-based GPU virtualization, and it supports Vulkan in the host and guest not just OpenGL; the host-based side is already supported within QEMU.
Windows in a vm with a passed through GPU is really nice. Although still pretty niche these days it's easier than it used to be. It also works with a single GPU, e.g. on a laptop.
I personally have a desktop PC with an AMD GPU and then another Nvidia GPU that I pass through to windows hosts. I have a hook that changes the display output and switches the inputs using evdev.
If you can GPU passthrough (it's quite simple to set up), this is not a large issue. You're right that Linux is sorely lacking in native creative software though!
> who need to use Windows for productivity apps and those who don’t.
LibreOffice has gotten quite good over the years, including decent(ish) MSO file format interoperability, and Thunderbird seems to support Exchange Server.
So, I suppose things like MS Project or MS Visio many not have decent counterparts (maybe, I don't really know), but otherwise, it seems like you don't need-need to use Windows for productivity apps.
Counterpoint: things like the Valve Index for VR simply don't behave well in this environment no matter how much I've worked on getting it there.
I'm not a novice either, $dayjob has me working on the lowest levels of Linux on a daily basis. I did linux from scratch on a Pentium 2 when I was 12. All that to say yes I happen to agree but edge cases are out there. The blanket statement doesn't apply for all use cases
IMO this is the real blindspot: it's VR support, not Photoshop, or MS Office, or CAD tools (all of which I've got running fine via Wine). I'm guessing the intersection between VR users and Wine users must be really small and I suspect it's because of this that support is so lacking.
I used Linux as my daily driver for years, before finally switching back to Windows, and then to the Mac. I got tired of things like wine breaking on apps, I got tired of the half-assed replacements for software available on Windows, like GIMP compared to Photoshop. I got tired of the ugly desktop that inevitably occurs once you start needing to mix QT and GTK based apps. Linux is not a panacea.
I hate the half assed commercialised approached for software on both Mac and Windows where you download 50mb+ of electron bullshit for a bash 2 liner with default tools on Linux.
Mostly for windows but when I installed 5+ tools from untrustworthy websites (which they all look like if you aren't used to that) it feels like my computer is likely forever busted with some scamware. But there is no dd, no proper editor, no removing adware and "news" without these tools.
On windows if you want to configure something it's like going into a computer museum where you start in the metro area and end up in UIs straight out of win 95. That's better on Mac, but the UI is depressing (in my opinion) and I always had the feeling my Mac wouldn't need to run that hot if it wouldn't draw shadows, mirroring and weird effects I haven't asked for.
Running Windows from a ZFS partition with its own dedicated GPU, viewed through looking-glass on the Linux host at 1440p@120Hz, has been super useful.
I set it up originally for gaming, but nowaways I install a lot of disposable software there.
I use Linux guests VMs too (a la Qubes), but sadly there's no guest support for looking-glass on Linux. Native rendering speeds on VMs are something hard to let go.
I used to do VFIO with hardware passthrough so I could have linux but still run windows software like CAD that takes advantage of the gfx card. That was a pain to set up and use.
The other way, its very simple. WSL2 can run ML tasks with just a tiny bit of overhead in moving the data to the card.
> We currently package our virtual machines for four different virtualization software options: Hyper-V (Gen2), Parallels, VirtualBox, and VMware. These virtual machines contain an evaluation version of Windows that expires on the date posted. If the evaluation period expires, the desktop background will turn black, you will see a persistent desktop notification indicating that the system is not genuine, and the PC will shut down every hour.
Edit: Oops, dead link -- the dev tools evaluation VM hasn't been released for 6+ months. But they do offer Windows evaluations ISO's after registration.
That's how I do it. I don't see the draw for Windows as the main OS, especially with Windows 10+ being dumbed down beyond belief and having seconds of lag to do anything at all. Seems even from this thread that people just want the convenience of a gaming rig in the same box as their work (which is a security issue because games are full of remote code execution vulnerabilities).
It's funny, more than any productivity app (though I do have a few of those), the Directory Opus [1] Explorer replacement is one of the things that I've yet to find a viable replacement for on both Linux and macOS. Unparalleled customisability, scriptable actions, outstanding performance (thumbnailing 10,000 images in a folder never causes slowdown), incredible search and "huh, why doesn't anyone else do this" features everywhere. I use my file explorer a lot so the friction is felt daily.
I'm using Forklift [2] on my mac at work, but it's a pale imitation of what a file explorer can truly be. I did some searching for Linux but it's all pretty pedestrian.
I've considered it, but there are two Windows features I need that sound like they'd require some time investment to set up correctly on linux.
1. I use UWF on windows (Education Edition). All disk writes to C:/ are ephemeral. On every single reboot, all changes are discarded and my pc is back to the exact same state as when I first set it up. I do keep a separate partition for documents that need persistence.
as for 1. if you ever have some free time on your hands, and want to take declarative configs to the next level, you can check out Impermanence for NixOS: https://news.ycombinator.com/item?id=37218289
I feel like every conversation about this is the bell curve/midwit meme[1], with the middle being the argument over “Windows VM on Linux” and “Linux VM on windows”, and the edges being “own multiple computers”.
Right! Use Linux, because it is your preference [1]. It doesn't cause harm (side-effects: incompatibility and vendor lock-in, due to mass-effect) to others.
We need to remember why Microsoft uses WSL. Microsoft wants to prevent users (i.e. developers) to migrate on Linux. It is the old approach Embrace, Extend, and Extinguish [2].
Monopolies are made by users and politics, because we don't consider vendor lock-in and mass-effect. I wish strong regulation for all information-technology. We saw the wonderful effects of regulation with AT&T {UNIX, C, Open-Source, Open-Documentation} and then a mistake was done. The company was split up, looking back a complete failure.
[1] Means: It is a better operating-system and adapt to users needs. Either novice user or programmer.
[2] https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish
I think the biggest problem with VirtualBox on arm64 is that it is only for arm64 guests, unlike the qemu-system-x86_64 which colima et al use and allow booting up "normal" guest OSes
Also, VBoxManage was created by someone who firmly subscribes to the "git UX is awesome" school of thought :-(
It is slowly improving (albeit with some egregious bugs, like losing EFI data on export) but TBH even their x86 product pales in comparison to Parallels or VMWare Fusion, in terms of machine performance.
Okay. Then you had a Mac. Then you need to run Linux in a VM anyway because similar to Windows, macOS is also a dumpster fire. Then why bother? You are going to have a Linux VM anyway. I usually just sync my VM disk between all my laptops & desktops, no matter what host OS it runs.
WSL 2 is one of the biggest reasons I'm able to be productive as a blind software developer. With it I'm able to enjoy the best desktop screen reader accessibility (Windows and NVDA) as well as the best developer tools (Linux). I hate Microsoft's AI and ads force-feeding as much as anyone else but trust me, you'd do the same if you were in my shoes. Screen reader accessibility on Mac Os is stagnating even faster than the os itself and even though Linux / Gnome accessibility is being worked on, it's still ready only for enthusiasts who don't mind their systems being in a constant state of somewhat broken, as illustrated by this series of blog posts from just a few weeks ago: https://fireborn.mataroa.blog/blog/i-want-to-love-linux-it-d...
>Screen reader accessibility on Mac Os is stagnating
Apocryphally, a lot of this was apparently developed at the direct insistence of Steve Jobs who had some run ins with very angry visually impaired people who struggled to use the early iphone/ipad.
That said, my source for this is one of the men who claims to have spoken to Mr Jobs personally, a visually impaired man who had lied to me on several fronts, and was extremely abusive. However I couldn't find anyone inside apple management or legal who would deny his claim. And he seemed to have been set the expectation that he could call the apple CEO at any time.
Thanks for pointing this out. I'm not visually impaired but even so the graphics and presentation features on Windows seem noticeably better than the competition.
I've been using WSL on and off for Linux development for the last few years.
When it works, it's great! When it doesn't....oh man it sucks. It has been non-stop networking and VPN problems, XServer issues, window scaling issues, hardware accelerated graphics not working, etc. this whole time. I've spent more time trying to fix WSL issues then actually developing software. It's never gotten better.
It's fast. It's powerful. But using it as a daily driver is very painful in my experience. I avoid it as much as possible and do most of my work in MSYS2 instead. Sure, it's much slower. But at least it works consistently and has for years.
I've tried WSLg for couple of times and all I run was something like xclock to ensure it works. I literally have 0 interest in running GUI Linux apps, so for me it all smooth sailing.
The beta version actually updates more often than the release group. I use the beta so I get the updates sooner. It's been rock stable for me for YEARS.
Every time I praise WSL on hn I pay the karma tax but I will die on this hill. WSL is more powerful than Linux because of how easy it is to run multiple OS on the same computer simultaneously. It's as powerful as Linux with some janky custom local docker wrappers for device support, local storage mapping, and network mapping. Except it's not janky at all. It's an absolute delight to use, out of the box, on a desktop or laptop, with no configuration required.
Edit: for clarity, by "multiple OS" I mean multiple Linux versions. Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"
You can accomplish the same with Distrobox on Linux, but there's definitely something to be said about having the best of both worlds by running Windows + WSL.
I honestly think Microsoft could win back some mind share from Apple if they:
* Put out a version of windows without all the crap. Call it Dev edition or something and turn off or down the telemetry, preinstalled stuff, ads, and Copilot.
* Put some effort into silicon to get us hardware with no compromises like the Macbooks
I'm on Mac now, and I jump back and forth between Mac laptop and a Linux desktop. I actually prefer Windows + WSL, but ideologically I can't use it. It has potential - PowerToys is fantastic, WSL is great, I actually like PowerShell as a scripting language and the entire new PC set up can now be done with PowerShell + Winget DSC. But, I just can't tolerate the user hostile behavior from Microsoft, nor the stop the world updates that take entirely too long. They should probably do what macOS and Silverblue, etc. do and move to an immutable/read-only base and deploy image based updates instead of whatever janky patching they do now.
Plus, I can't get a laptop that's on par with my M4 Pro. The Surface Laptop 7 (the arm one) comes close, but still not good enough.
I'm not saying it's a perfect solution, but with Windows 11 Pro and group policy I was able to disable all of the annoying stuff, and because it is group policy it has persisted through several years of updates. It is annoying you have to do this, and it does take some time to get set up right. But it's a solution.
That said I'd pay for a dev edition as you described it, that would be fantastic.
Windows LTSC already exists, but Microsoft, in all their wisdom, restricts it to enterprise licensees only, and seems to actively discourage using it as a desktop OS. The first problem is of course fixable with some KMS server shenanigans, but the second can be kinda painful when it comes to keeping drivers up-to-date, installing apps that rely on features LTSC excludes (and doesn't provide an easy way to install manually), etc.
I've often said that if Microsoft had just iterated on Windows 2000 forever I'd probably still be a full-time Windows user. If Microsoft had maintained an LTSC-like Windows variant that was installable from the normal retail installation media and with a normal retail product key (at the very least Pro, but ideally Home), that also likely would have kept me on Windows full-time instead of switching to Linux as my daily driver.
> I can't get a laptop that's on par with my M4 Pro.
This is the only reason I have not requested a windows laptop from my company. WSL is better for docker development in basically every way than a mac can be (disclaimer: haven't tried orbstack yet, heard good things, but my base assumption is it can't be better than WSL2) except it is literally impossible to get hardware as good as the M3 or M4 for any other OS than macOS.
The biggest difference between OSX and Windows is, Apple adds (some say steal) functionality from competition, and open source. They make it neat. On windows to have something working, you need a WezTerm, Everything for search, Windhawk for a vertical taskbar on the right, Powertoys for an app starter, Folder Size for disc management etc. If you spend a lot of time, Win11 can be ok to work with.
If Powerpoint and Affinity would work on Linux, I'd use Linux though.
Outside US and countries of similar income level, Windows is doing quite alright in mindshare, and will keep doing that unless Apples stops pretending being the computer version of audiophile.
I on the other hand cannot get an affordable Mac that has the same GPU, disk space and memory size as my workstation class laptop.
To the tech savvy, there is essentially only one advantage to running Windows, and that is the ability to run Windows-only software. In all technical respects - control, performance, flexibility - it is inferior to the alternatives. Don't confuse vendor lockin with technology.
I find it dismaying that people on Hacker News willingly submit to incredibly user-hostile behavior from Microsoft and call it "the best of both worlds". Presumably a nontrivial proportion here are building the next generation of software products - and if we don't even respect ourselves, how likely is it that we will respect our users?
There's a dedicated settings page for quickly setting popular dev settings such as showing extensions and full paths. Getting rid of the rest just involves tweaking a few other settings like don't show tips or welcome screen. I also hide the weather and news widget because it's tabloid rubbish but many people seem to love it.
> nor the stop the world updates that take entirely too long
Interesting enough, that beyond release upgrades, happening may be once a year, all or may be 99% of updates took ~5 minutes of interruption of me, including needed reboot. I really wonder how others manage to have "entirely too long" updates.
"More powerful than Linux" is silly. It's a VM. The most useful thing is that it does a bunch of convenience features for you. I am not suggesting that it is not extremely convenient, but it's not somehow more powerful than just using Linux.
You know what's even more convenient than a VM? Not needing a VM and still having the exact same functionality. And you don't need a bunch of janky wrapper scripts, there's more than one tool that gives you essentially the same thing; I have used both Distrobox and toolbx to quickly drop into a Ubuntu or Fedora shell. It's pretty handy on NixOS if I want to test building some software in a more typical Linux environment. As a bonus, you get working hardware acceleration, graphical applications work out of the box, there is no I/O tax for going over a 9p bridge because there is no 9p bridge, and there is no weird memory balloon issues to deal with because there is no VM and there is no guest kernel.
I get that WSL is revolutionary for Windows users, but I'm sorry, the reason why there's no WSL is because on Linux we don't need to use VMs to use Linux. It's that simple...
Yeah if you are working with Linux only, its better to go full linux.
WSL2 is really handy when you want to run other software though. For example, I use Solidworks, so I need to run windows. Forscan for Ford vehicles also has to run under Windows. Having WSL2 means that I can just have one laptop and run any software that I want.
My coworkers stubbornly try to use WSL instead of Linux directly. They constantly run into corner cases and waste time working around them compared to just using Linux. Some tooling detects that it is running on Windows, and some detects that it is running on Linux. In practice, it's the worst of both worlds.
> I get that WSL is revolutionary for Windows users
It is... I'm working these days on bringing a legacy windows only application to the 21st century.
We are throwing a WSL container behind it and relying on the huge ecosystem of server software available for Linux to add functionality.
Yes that stuff could run directly on windows, but you'd be a lot more limited in what's supported. Even for some restricted values of supported. And you'd have to reinvent the wheel for a few parts.
This is very much YMMV thing. There is no objectively best platform. There are different users and requirements.
I’ve been a software developer for 20 years and in _my_ opinion Windows is the best platform for professional software development. I only drop of to linux when need some of the excellent posix tools but my whole work ergonomy is based on Windows shortcuts and Visual Studio.
I’ve been forced to use Mac for the past 1.5y but would prefer not to.
Why would Windows be superior for me? Because that’s where the users are (for the work stuff I did before this latest gig). I started in real time graphics and then spent over a decade in CAD for AEC (developing components for various offerings including SketchUp). The most critical thing for the stuff I did was the need to develop on the same platform as users run the software - C++ is only theoretically platform independent.
Windows API:s are shit for sure for the most part.
But still, from this pov, WSL was and will be the best Linux for me as well.
Just FYI, you may also enjoy systemd-machine. It's essentially the same thing as toolbx but it handles the system bus much more sanely, and you can see everything running inside the guest from the host's systemctl.
If Windows provided easier access to hardware, especially USB, from WSL it would be nice. In fact, if WSL enumerated devices and dealt with them as native Linux does, even better.
Windows has many useful software that is not available on Linux.
So, for me Windows + WSL is more productive than just using Linux.
The UI is still better on Windows(basic utilities like File Explorer and Config Management is better on Windows). No Remoting Software beats RDP. When I remote to a Windows workstation through RDP, I can't tell the difference. VNC is always janky. Of course there is Word/Excel/Illustrator which is simply not available on Linux
It's handy if you have other services that are Windows-based, though. And, being a VM, it's fairly convenient to have multiple versions and to back up.
This is the kind of statement that makes you pay the karma tax. WSL is great, I use it on a day to day basis. I also use Linux on a day to day basis. And as great as WSL is, for running Linux software on supported hardware, Linux beats WSL hands down. And I mean, of course it does, do you expect a VM to beat native? In the same way that Windows software runs better on Windows. (with a few exceptions on both sides).
Compared to Linux, WSL I/O is slow, graphics is slow and a bit janky, I sometimes get crashes, memory management is suboptimal, networking has some quirks, etc... These problems are typical of VMs as it is hard for the host and guest OS to coordinate resource use. If you have an overpowered computer with plenty of RAM, and are mostly just using the command line, and don't do anything unusual with your network, then sure it may be "better" than Linux. But the truth is that it really depends on your situation.
The problem is Windows IO filters and whatnot, Microsoft Defender trying to lazily intercept every file operation, and if you're crossing between windows and Linux land, possibly 9pfs network shares.
WSL2's own disk is just a VM image and fairly fast - you're just accessing a single file with some special optimizations. Usually far, far more responsive than anything done by windows itself. Don't do your work in your network-shared windows home folder.
I use it, I am required to use Windows, and it’s a huge improvement over doing Data Science on native Windows, but the terrible filesystem access ruins what otherwise would be a seamless experience.
It’s fine for running small models but when you get to large training sets that don’t fit in RAM it becomes miserable.
There is a line where the convenience of training or developing locally gives way to a larger on demand cloud VM, but on WSL the line is much closer.
still use WSL1 also because VMWare runs so dreadfully slow with any kind of Hyper-V enabled - if so, VMWare must also use it, so you get a Type-2 running under a Type-1 the lag is untennable lag and performance.
Where are you experiencing filesystem slowness? I've been using WSL in some advanced configurations (building Win32 apps by cross-compiling from Linux CLANG and dropping the .exe into a Windows folder, copying large files from Linux->Windows and vice versa, automating Linux with .BAT files, etc.) and I haven't seen this slowness at all.
I find it to be incredibly janky. Pretty much every every time my computer sleeps (so every morning, at least) I have to restart it because somehow the VM-host networking gets screwed up and VS code connections into the VM stop working. You also can't just put things in your Windows User directory because the filesystem driver is so slow that git commands will take multiple seconds, so now you have two home directories to keep track of. There were also some extremely arcane things I had to fix when setting it up involving host DNS and VPN adapter priority not getting propagated into the VM so networking was completely broken. IIRC time would also not match the host after a sleep and get extremely far out of sync, though I haven't run into that for a while since now I have to reboot Windows constantly anyway.
I don't have a need to run multiple OSes though. All of my tools are Linux based, and in companies that don't let people run Linux, the actual tools of the trade are almost all in a Linux VM because it's the only reasonable way to use them, and everything else is cross-platform. The outer OS just creates needless issues so that you now need to be a power user with two operating systems and their weird interactions.
> extremely arcane things I had to fix when setting it up involving host DNS and VPN adapter priority not getting propagated into the VM so networking was completely broken
Are you sure you set up the VPN properly? Messing around with Linux configs is a good way to end up with "somehow" bugs like that.
Thats odd. I have none of these problems. Sleep doesnt interrupt the VM. And I regularly use the git CLI through WSL on projects living within windows user directories. Both work fine.
Openssh should have been a game changer but they made a classic openssh porting bug (not reading all bytes from the channel on close) and have now been sat on the fix in “prerelease” for years. I prodded the VP over the group about the issue and they repeatedly made excuses about how the team is too small and getting updates over to the windows team is too hard. That was multiple windows releases ago. Over on GitHub if you look up git receive pack errors being frequent clone problems for windows users you’ll find constant reports ever since the git distribution stopped using its own ssh. I know a bunch of good people at Microsoft, but this leadership is incapable of operating in a user centric manner and shouldn’t be trusted with embedded OSS forks.
I'm a simple man, if I open the shell and `ssh foo@bar.com` doesn't work, I don't use that computer. Idk if Windows has fixed that yet or why it's so hard for them. Also couldn't even find the shell on a Chromebook.
Running a Linux VM on Windows is nicer than just booting into Linux? That's quite a take. Windows is so user-hostile these days that I feel bad for those who have to deal with it. Calling it delightful must be symptomatic of some sort of Stockholm syndrome.
I have since moved to macbooks for the hardware, but until not too long ago WSL was my linux "distro" of choice because I didn't want to spend time configuring my computer to make basic things work like suspend/wake on lid down/up, battery life, hardware acceleration for video playback on the browser, display scaling on external monitor and so on.
> Running a Linux VM on Windows is nicer than just booting into Linux
Indeed, it does. Having stable system and not dealing with Linux on Desktop, clear tradoffs (like "just add another 16gb RAM stick in laptop/desktop and you are golden") is great for peace of mind.
The average uptimes on my laptops (note for plural) is ~3 weeks, until next Windows Update to be applied. I don't have nostalgia on the days of using Linux on desktop (~2003 student times, ~2008 giving it one more try, ~2015 as required by dayjob)
Of course it adds up that I can tell people around me (who are not tech guys often, but smart enough to know basic concepts and be able to run bash scripts provided to them) - "yep, machine with 32GB+ of RAM will work fine, choose any you like" - and it works.
If for some reason I could never use a MacBook again, it wouldn't be easy to decide between Windows or Linux as the host OS on a laptop. Do I want something that's intentionally user-hostile or something that's unintentionally broken a lot?
I'd at least try Linux cause I abhor Microsoft, but idk if it'd work out.
At least the nags in Windows look like modern web-based UI (so far that ‘use Electron’ seems to be the post-Win 8 answer to ‘how to make Windows apps’) in contrast to MacOS which drove my wife crazy with nag dialogs that look like a 1999 refresh of what modal dialogs looked like on the classic Mac in 1984.
My acid test for WSL2 was to install the Linux version of Google Chrome in it, and then play Youtube videos fullscreen with that. It worked. Somehow WSL1 was the more impressive hack but how can you argue with what works? WSL2 works fine.
Also 1980s style X11 widgets on the Windows desktop in their own windows? Cool.
I have to say too, though, once you get the hang of the way an EFI system boots, it's really good for dual boot. I let the Linux installer mount the undersized existing one as /boot/orig_efi and made a new, bigger EFI system partition. Not only was the UEFI on that particular laptop fine with it, scanning both EFI system partitions for bootable stuff, but also, grub2 installed in the new one automatically included the Windows boot in the old one as a boot option.
Cool because nothing about how Windows boots is intercepted; you can just nuke the new partitions (or overwrite them with a new Linux installation). I still prefer a native Linux boot with "just in case" Windows option to WSL.
Forced to work on Windows for ++nth job, I was looking forward to WSL. Indeed, while it worked, it was magic. Sadly, I have had no end of bizarre bugs. The latest one almost crashed my whole desktop - as far as I can piece together, something crashed, leading to a core dump the size of my desktops entire memory - half the machine's RAM. This in turn put WSL in a weird state - it would neither run, not be uninstallable. Googling found bug reports with similar experiences, no responses from Microsoft and magic incantation that maybe worked for some people - but not for me.
It might be due to my corpo's particular setup etc. but for me 95% of the value of WSL would be the ability to run it on "corporate" Windows boxes. Alas.
I'm sure that feature is important for whatever works you're doing, but that's a feature I've _never_ desired, and WSL is missing plenty of features that are important for my work.
Hardware performance counters basically do not work in WSL2, which among other issues, makes it extremely difficult to use rr.
https://github.com/rr-debugger/rr/issues/2506#issuecomment-2...
Some people say they got it working, but I and many other users encounter esoteric blockers.
The Dozen driver is never at feature parity with native Linux Vulkan drivers, and that's always going to be the case.
gWSL is also a terrible X11 server that makes many very basic window management configurations impossible, and while I prefer VcXsrv, it has its own different terrible issues.
I can imagine that WSL2 looks attractive if all you want to do is run command line apps in multiple isolated environments, but it is miserable for anything graphical or interactive.
> I can imagine that WSL2 looks attractive if all you want to do is run command line apps in multiple isolated environments, but it is miserable for anything graphical or interactive.
Indeed, that's my case - using CLI mostly for ssh/curls/ansible/vim over ansible and Puppet, so on.
For GUI part, Windows is chosen and shines for me.
I think it really depends on what you do and whether the Linux side of it has hard dependencies on system packages. Personally, at work I much prefer working directly on my Linux workstation, and at home have even switched to using Linux for my gaming desktop. I really don't like the direction Windows has been trending for the past few years, and with the specter of a forced Windows 11 upgrade on the horizon I decided it's time to go all in. My system runs better and I can still play all my games. The jankiest thing I do is I have a mingw toolchain so I can compile some game mods into Windows DLLs to be loaded by Wine, but even that ended up being pretty seamless. Just install the toolchain and the project just compiled.
I don't understand. Docker/podman/distrobox/lxc all allow you to do the exact same thing without the virtual machine overhead. I think the real win of WSL is that its a best of all worlds. You get to use Windows with access to every game ever made plus all of the proprietary apps everyone needs to use, with all of the upside of having a full and complete linux command line experience.
You get all of Windows telemetry, vulnerabilities and backdoors, the always fun game of spot the new Advertising opportunity, AI “copilot” spyware I mean feature, updates that reset your machine at will, a terrible UAC model that encourages “just click OK already!”, and dependence on a company that has gone out of their way to prove how much of an unstoppable behemoth they are; and best of all you get to pay for the privileges above.
I know… every year is the year of the Linux desktop… but seriously the AI spyware included was enough to get me gone for good.
Gnome (a linux desktop environment) ships a "Boxes" app [0] that is very impressive. You can, with a few clicks, install one of a huge number of Linux distros in an auto-provisioned VM, enable hardware passthrough for USB devices and host 3D acceleration, and manage files with drag-and-drop from the host system. I also use it for Windows and MacOS VMs (don't tell Apple), but you need to provide your own images.
Are you a Windows user who is happy to have a good way to run Linux on Windows, or are you a Linux user trying to convince other Linux user that instead of using Linux, they should use Linux in a VM running on Windows?
I am a longtime Linux user, and I can't see a reason in the universe why I would want to access my Linux through a VM on Windows. That seems absolutely insane.
Look I get it. I’m forced to use Windows at work and I thank the lord WSL is a thing. But I would switch to Linux base in a heartbeat if I could. WSL is jank as fuck compared to just using Linux.
> WSL is more powerful than Linux because of how easy it is to run multiple OS on the same computer simultaneously.
I'd venture to say this depends on which OS you're more comfortable with. I'm more comfortable with Linux, so I'd say it's easier/better/less janky to use Linux as a host OS.
> Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"
Once you're a developer who's been burned by this enough times, you do this with containers or dedicated dev VMs. You do not develop on your host OS and stay sane.
I think it depends a lot on what you're trying to do. I found that anything GPU-related was a nightmare of drivers and configuration which was a show-stopper for me. Now I just run arch/kde and that all works fine out of the box
Me too. Particularly after having to do Docker things a few years ago, destroying my productivity due to file system speed.
However, for those of us that went Linux many years ago, and like our free open source, in 2025, is it better to go back to the dark side, to run Windows and have things like a LAMP stack and terminals run with WSL?
I don't play games or run Adobe products, I use Google Docs and I don't need lots of different Linux kernels. Hence, is it better to run Linux in Windows now? Genuinely asking.
I agree. Back in the day (10+ years ago), I used to argue with people about why I ran VMs instead of just partitioning the disk and booting up the OS I needed.
XAMPP did not work out of the box with me on Windows (skill issue on my part, I know), so my preferred setup was to run a Ubuntu Server VM (LAMP stack) and then develop whatever I had on a Windows IDE.
I could have done that under full Linux, I just did not want that. Then Vagrant came into existence, which I'd say was for my use case (but never came around to adopt it).
I'm really happy with my WSL2 setup. I stopped using VMware Workstation when WSL2 broke it, but WSL2 is exactly what I needed to match my use case.
> XAMPP did not work out of the box with me on Windows (skill issue on my part, I know), so my preferred setup was to run a Ubuntu Server VM (LAMP stack) and then develop whatever I had on a Windows IDE.
Why wouldn't you have just spent 5 minutes to get XAMPP working?
WSL gave me the push to switch from macOS to Windows. And I couldn't be happier, tbh. There was a lot lacking in my Hackintosh/Windows dual boot setup.
> Edit: for clarity, by "multiple OS" I mean multiple Linux versions. Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"
For this part, I just create systemd-nspawn containers.
Last time I wanted to test something in a very old version of WebKit, creating a Debian Jessie container takes a few minutes. Things run at native speed.
You use distrobox (https://distrobox.it/) and move on with your life. At work I use multiple versions of Ubuntu seamlessly without messing with VMs on a host fedora box without issue. That includes building things like .deb packages.
I'm with you - after years of messing with dualboot Linux, including (foolishly) running multiday Gentoo builds, WSL + Windows now gives me everything I want from Linux with zero friction.
In fact, I'm a little annoyed that I can't get a comparably smooth experience on my MacBook without spinning up a full QEMU VM. I know it's a bit hypocritical since, like most people, I run WSL2 (which is container/VM-based), not WSL1 (the original magic syscall translation vision).
Does anyone know why there's no lightweight solution on macOS - something like LXC plus a filesystem gadget - that would let me run stuff like "apt-get install chromium"?
>Native performance
Tart is using Apple’s native Virtualization.Framework that was developed along with architecting the first M1 chip. This seamless integration between hardware and software ensures smooth performance without any drawbacks.
I think WSL is great but if your only goal is to run several Linux OSes, any hypervisor will do. I think Proxmox is better suited to your use-case (hosted on Linux).
I love WSL because it lets me have the best of Windows and Linux.
Is it not the case that wsl2 is a vm; it requires hyperV enablement; and that turns your main windows OS into effectively a type of privileged vm, since hyperV is a type 1 bare metal hypervisor?
This is not often discussed, so it took me a lot of digging a couple of years ago, but I'm still surprised this is never discussed as a consequence / side effect / downside of wsl2. There are performance impacts to turning on hyper V, which may or may not be relevant to user (e.g. If this is also their gaming machine etc:)
> It's an absolute delight to use, out of the box, on a desktop or laptop, with no configuration required.
I have been using it since the beginning of WSL 1 with a very terminal heavy set up but it has some issues.
For example WSLg's clipboard sharing is buggy compared to VcXsrv. It doesn't handle pasting into Linux apps without introducing Windows CRs. I opened an issue for this https://github.com/microsoft/wslg/issues/1326 but it hasn't gotten a reply.
Also, systemd is still pretty sketchy. It takes over 2 minutes for systemd services to start and if you close a WSL 2 terminal for just a few minutes systemd will delay a new terminal from opening for quite some time. This basically means disabling systemd to use WSL 2 in your day to day.
Then there's this 6 year old issue with 1,000+ upvotes https://github.com/microsoft/WSL/issues/4699 around WSL not reclaiming disk space. It means you need to routinely shut everything down and compress your VM's disk or you'll run out of space.
Beyond that is does work well so I'm happy it exists.
Also, systemd is still pretty sketchy. It takes over 2 minutes for systemd services to start and if you close a WSL 2 terminal for just a few minutes systemd will delay a new terminal from opening for quite some time. This basically means disabling systemd to use WSL 2 in your day to day.
That doesn't sound good. I was planning to set up a Windows/WSL2 box, but this gives me second thoughts. Where can I read more about this?
Jumping on the anti-wsl bandwagon; I just can't abide the loss on control on windows, will the next update ignore/reset/override my privacy settings? What Gordian knot must I slay to have a local only account (Thanks Rufus!) How do I turn off/uninstall a million things I don't want, Xbox game bar?!?
Linux or *BSD give so much more respect to the user, on windows you are the product! Stand up for yourself and your data!
I like that wsl is a thing when I'm on a windows machine, but it can also serve as a reminder of the often unnecessary frictions that exist between operating systems.
When the answer to a "how do I do X on windows" question begins with "start WSL", my primary reaction is frustration because they're basically saying "there's not a good way to do that on Windows, so fire up a Linux VM".
Just to pick my most recent example, from today. I wanted to verify the signatures on some downloaded rpm files, and the rpm tools work on linux. I know, rpm files are native to a family of linux distros, so it's not surprising that the tools for retrieving and verifying their signatures don't work on windows but... it also seems reasonable to want a world where those tools can install and run on windows, straight from a PowerShell session, with no VM.
Multiply that by all the little utilities that that can't be deployed across multiple operating sytems, and it just seems like some incompatibility headaches are never really going to go away.
Still somewhat janky. I use it on my work machine (since it at least seems a bit faster than using VirtualBox) and regularly run into issues where npm won't build my project due to the existence of symlinks [1,2]. wslg windows also don't yet have first-party support from the windowing system [3]. I also remember having trouble setting up self-signed certs and getting SSL working.
Now if they could only do Windows 12 by taking baby steps in yearly release of Windows 11.1, 11.2 etc.
Iterating on improvements and polishing on Screens and Design that they haven't touched in the past 30 years. Improving on ARM support etc. And STOP adding Ads on the OS.
And the Surface Laptop continues to push Hardware quality forward. From Speaker, Touchpad, Screen, Motherboard etc.
I like WSL for this single reason too - it gives me space to run isolated experiments without touching my primary OS. So if that's what windows users get out of it, cool.
You can do the same thing with many other technologies on most other operating systems. I've used, in chronological order: FreeBSD jails, VMs, Cloud-hosted VMs, Docker, K8s, and Nix flakes. WSL is probably somewhere in around K8s.
My point is, we've had the ability to run "subsystems" for decades, by different names, on every OS. WSL is cool but quite late to the game, far from being "more powerful than linux".
Perhaps "more powerful" is also a factor of who is the computer user. For example, Linux is not as "powerful" if the computer user is someone who knows little about how to use it.
For a person who will not invest the time to learn, e.g., how to avoid or minimise dependencies, indeed something like Windows with WSL may appear "more powerful".
The point of this comment is that "power" comes from learning and know-how as much as if not more than simply from choice of operating system. That said, some choices may ultimately spell the difference between limitations or possibilities.
Install Promox or TrueNAS on a bare metal desktop to experience the true power of multiple operating systems running simultaneously. On most days, I am running multiple VMs with these OSes in parallel: Windows Server 2025, Windows 11 Pro, and these flavours of Linux - TrueNAS/Debian, Ubuntu, Manjaro, Zorin OS. I also have a dozen or more lightweight containers running, some with LXC on the bare metal host and others with Docker inside the TrueNAS VM.
This setup automatically backs up my data and is resilient to disk failures. It’s the ultimate form of power and bliss.
I used to agree with this for WSL1. Syscall translation gave solid performance, decent FS integration, and interop within WSL with windows executables. I really liked it.
WSL2 has been such a pain. You're basically managing a VM with VMWare Tools somewhat more integrated. I gave up on WSL2 after a few months and went back to booting my arch installation most of the time. Now I'm on a mac for the first time in a long time because windows has gotten so bad.
This is doubly sad because the NT kernel is so well designed to host multiple OSes due to the OS/2 stuff decades ago. All wasted.
It is really good but honestly would prefer something a little more like:
- Linux that works great on a laptop / does the right thing when closing the lid
- Linux that doesn't have worse battery life than Windows / macOS
- Seamlessly runs Windows when you need to run something (e.g. click on Excel)
- Isn't necessarily free (prefer quality over low price in this situation)
Windows of course has many of these traits and WSL is a pretty good compromise, but I would prefer to boot into Linux and use Windows only when necessary (since my need for it is less common).
Windows treats you like a baby. You cannot learn the internals of it and it forces decisions on you. With Windows, the computer that you paid for is not yours.
You can run multiple OSes simultaneously on Linux itself - Linux can run VMs just fine. I.e. Linux guests on Linux host and so on. Take a look for example at virt-manager (libvirt / qemu + kvm).
And WSL is a limited VM using HyperV anyway. If you want to run a VM, you can as a well run a proper one which isn't limited and runs a full blown distro with sane configuration.
So WSL is definitely not more powerful than normal Linux.
> and to fight with my computer about who owns it less.
This is a great way of saying it and expresses the uneasy feeling windows has given me recently. I use Linux machines but I have 1 windows machine in my home as a media PC; and for the last several years windows has made me feel like I don’t own that computer but I’m just lucky to be along for the ride. Ramming ads on the task bar and start menu, forcing updates on me, forcing me to make a Microsoft account before I can login (or just having a dark UI pattern so I can’t figure out how to avoid it, for the pedantic).
With Linux I feel like the machine is a turing complete wonderbox of assistance and possibility, with windows it feels like Microsoft have forced their way into my home and are obnoxiously telling me they know best, while condescendingly telling me I’m lucky to be here at all. It’s a very different feeling.
Yeah, "Weather and More" is such a joke. I like the idea of Weather on my lock screen in theory, and I sometimes miss Windows 8's great support for Lock Screen live data, but I have huge problems with almost everything else in the "and More" (news, no thanks, ads, definitely no thanks, tips, maybe not). Thankfully it is still really easy to turn off "Weather and More", but I wish they'd give us a "Weather and Nothing Else". (Same reason one of the first things I do is disable the "Widgets" display on the taskbar in Windows 11. Weather is great, everything else I don't want and/or actively hate.)
Yeah this is what pisses me off the most about windows. Telemetry that can't be turned off normally. Ads everywhere. Microsoft deciding when I must restart for updates. Microsoft trying to manage my behaviour telling me to try new features. Screw that. My computer is my own and must do what I choose.
This feature thing is really one of their strategies. At work they send us "adoption managers" that run reports to check whether people use feature xyz enough and set up stupid comms campaigns to push them to do so.
I really hate that. I decide how I use my computer. Not a vendor.
The development experience is relatively cumbersome compared to using a native Linux distribution and containerizing application dependencies where needed.
Last time I used it they kept hogging some common keyboard shortcuts for whatever Windows stuff even though the VM-window was focused. Did they stop that?
Using WSL on Win11. I would prefer Linux but I never got used to Open Office/Gimp/... and need to use PowerPoint / Affinity. But WSL mostly works, and added some tools and config to make it useful with WezTerm
> Edit: for clarity, by "multiple OS" I mean multiple Linux versions. Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"
You can run multiple Linux distributions in chroots or containers, such as docker containers. I have showed people how to build packages for Ubuntu 22.04 on Ubuntu 20.04 for example.
This is what tools like toolbx or distrobox solve. You can have easy to use containers with libs from any distro with a few commands, using podman or docker as the backend.
It's a... VM? Like the Linux VMs running on Linux computers in the cloud?
Sorry but not sorry, it's not easier to run than on linux. It requires the Windows store to work, and to use Hyper-V (which breaks VMware workstation, among other things).
It's in a better package, to be sure, but it's not "easier to run multiple OS on the same computer". It's easier to use multiple OSes (no SSH, GUI forwarding, etc), as long as all those OSes are Linux flavors supported by WSL.
You're right, it is incredibly nice. Just the other day I got a Windows-only developer to install and use the POSIX/*NIX toolkit we use for development/deployment. In 30 minutes he was editing and deploying left and right with our normal open source stack. No messing around with Cygwin or MSYS or anything, it all just worked in Ubuntu on WSL. It's fantastic.
I share your sentiments. Makes testing my builds against windows, Ubuntu 22, Ubuntu 24, etc a breeze. It pretty much 'just works' and I can take it to go on my laptop. Even though I do most my work in Linux, Windows is a convenient 'compatibility layer'. I was skeptical at first when my friend suggested I try this, but daily usage has won me over.
WSL is massively slower than Linux. Not just the 10% or so for VM, but probably 50-90% slower for disk access. It takes many times longer to start tmux. It has update bugs that crash open terminals and that's not even part of the regular windows forced-update fiasco. In short, it's garbage. It's one of the primary reasons I moved back to Linux for my daily driver.
I'm old enough to remember that before docker there was chroot. It's fairly easy to put lots of different user mode portions of Linux distros into directories and chroot into them from the same kernel. It seems a bit like what you're asking for.
There's also debootstrap which is useful for this technique, not sure if it also works on Ubuntu.
For WSL 1, I kinda agree. It was basically the Posix Subsystem re-implemented and improved. Technically amazing, and running parallel to Windows without virtualization. Too bad it had so many performance issues.
But WSL2 is just a VM, no more, no less. You can do the same with VMware Workstation or similar tools, where you even get a nice accelerated virtual GPU.
My only big gripe with WSL right now is GUI applications. wslg is not good, and the only good experience is when applications have a good remote development UX such as vscode.
Another, smaller, gripe is networking. Because of how WSL is networked, I've run into edge-case issues with connecting to networked applications running in WSL from Windows.
I use WSL, but I'm actively looking for a way to move away from it. The only thing holding me back are languages like Ruby or Python, which are designed to work in a Unix-like environment. I briefly considered forking Ruby and stripping out all of the Unix-isms but in the end I gave up and just installed Linux (WSL).
docker is pretty easy to use on linux (even rootless docker isn't particularly painful) and KVM using QEMU is also pretty easy for running Windows things. I used WSL quite a bit but ultimately have switched back to running Ubuntu as my main.
Here's the main difference between making Windows vs Linux the main OS from my POV: Windows is a lot of work and only the corporate editions can be converted into not-a-hot-mess-of-distractions (supposedly). Out of the box Linux doesn't have all of the bullshit that you have to spend time ripping out of Windows. You can easily re-install Linux to get the "powerwash" effect. But if you powerwash Windows you have to go back and undo all the default bullshit again.
Having said that Windows+WSL is a very nice lifeline if you're stuck in Windows-land. It's a much better combo than MacOS.
WSL gives you no support for USB devices, which is a massive pain for embedded development when IT forces you to use Windows. Also, this might just be specific to my setup but WSL networking is very finicky with my company's VPN, and breaks completely if the VPN ever drops out requiring a full reboot.
For me it was slow, full of compatibility issues, and glitchy. Some simple packages wouldn't even install in the official Ubuntu WSL distro. To be honest I don't know what the use case for this is, other than to run some one-off Linux thing once in a while without having to use another box.
I use WSL2 to handle Linux (and Windows cross-) compilation regularly, along with running a number of native tools that are specific to Linux.
I've never had any issues with that, even to the point that I've been able to run MAME natively from Linux and have it show up like any other windowed app.
Windows 10 with WSL(2) is/was peak Windows for me. You could build stuff and edit MS Office documents in the same place. Sadly, it wasn't meant to last. I have no intention of giving W11 a try, not yet decided what I'll be using come this fall.
I'll second you, WSL makes Windows a first class experience because now I can seamlessly have Linux and Windows apps in one laptop. Yes, I could run VMWare Workstation or HyperV, etc, but this is just better integrated.
I'm a daily driver. It completely changed the way I work. Am I curious if something will compile? Open a terminal and type make. The files are all already there. You can even run graphics apps. It's wonderful.
As of a couple of years ago the integration was not that great and I switched to just using a full-fledged VM instead. For example, trying to use binaries in WSL from within Visual Studio or vice versa was not great.
I heart WSL. Years ago I was going to switch to MAC OS to have a more unix like experience/workflow. Then WSL came out and I stayed because Linux is the environment I spend most of my time in.
I agree it is a convenient way to run multiple Linux VMs, but it comes with the drawback of having to use Windows, which is a major impediment to anything I may want to do with my computer.
You can run multiple linux distros on linux just fine via KVM/QEMU, there is nothing special WSL offers except that it is a must if you're doomed to use windows.
qemu on Linux solves a bunch of these problems as well. But yeah, UX-wise WSL is pretty good at solving the problem of “provide Windows devs a POSIX environment”.
Qemu is nothing like wsl UX wise. The UX on windows is double click gimp and then a window for gimp opens. For qemu it opens a new window for the wm, has awkward input focus interactions, you probably have to log in to the vm, and it can not be easily setup to automatically open the app you want.
I used to love WSL when I had a Windows machine because I used lots of docker containers, but now that I am in a Mac with Apple Silicon, there is no going back.
I tried it and found it to be such an abomination. I can’t understand why any self respecting software developer would use Windows with a bastard linux like WSL instead of just using actual Linux. Feels like a massive skill issue.
I'm not the biggest fan of WSL2, but it's definitely good enough for people to like it. it's worked well enough for me in the past, but the last time I used it, there were problems with mDNS and BPF that it just made more sense for me to boot into leenucks.
But you're definitely not crazy for liking it. And people should chill out instead of downvoting for someone who just says what works for them.
I haven't tried Win11 and probably won't unless my employer forces me to. But if Win11+WSL2 works for you, more power to you.
I won't downvote you, but I will die on the other hill - the one over there that has a guy sitting down with his arms folded sporting an angry face every time someone something positive about WSL. There's at least three of us on that hill. And we're not going anywhere.
I'll second this, and I'm someone who ran a certain alternative OS to Linux before Linux was viable instead of run Windows, worked as a developer of Win16 and Win32 apps early in my career which gave me a deep love-hate of the platform, couldn't stand Microsoft's monopoly tactics back in the 1990s and 2000s, and remain ever-sceptical of Microsoft's open source and Linux initiatives...
... but WSL is an excellent piece of work. It's really easy to deploy apps on. Frankly, it can be easier to a deployment there than on a Linux or macOS system, for example the reasons detailed above.
Real talk. And anybody who argues is taking a heavy dose of copium to justify their use of Linux and the ensuite of compatibility issues that entails. Let them have their sense of superiority :' )
> WSL is more powerful than Linux because of how easy it is to run multiple OS on the same computer simultaneously.
This is why you pay karma tax. This statement is so clearly representative of a falsity.
My linux can run multiple linuxes as well without VM overhead. Something Windows can’t do. Furthermore WINE allows me to forgo running any vm to run windows applications.
I developed on WSL for 3 years and consistently the biggest issue was the lack of ability to use tooling across the shared OSes.
Your karma depleting statements are biased, unfounded, and it shows as you do not really provide counter evidence. That’s why you lose karma.
Except Wine cant cover all of Windows (partly due to fault of Windows). I can't run UWP apps for example. Windows is not a good operating system but if you need it. WSL creates way more intuitive working environment for you. So even if you can run multiple Linux OSes in Linux you can't run Windows as easily you can do linux on Windows. So OPs statement is not incorrect.
I totally agree and will join you on the hill. I used Linux exclusively at my job for two years straight and now do the same job but from Windows 11 with WSL 2 on the same physical ThinkPad T41 laptop. Windows gets the basics right more than Linux did (sleep states, display, printing). And as the OP notes; it makes it easy to run multiple distributions and never fear that something I install or reconfigure within the WSL2 terminal will screw up my host. Having a different OS improves isolation in this regard, not at a technical level but for me making mistakes and entering commands in the wrong place, since Windows does not accept Linux commands. JetBrains and VSCode both have great support for WSL2.
How would a 3% layoff in a big company affect anything unless they want to specifically axe some project? It’s just lubrication for the machine. 3% is less than nothing compared to the bloat in any bigco and let me tell you Microsoft’s reputation is not the leanest of the bunch.
They're not uniform across every team and project. Certain projects can be hit very hard while others are not. Outside looking in, all we can really do is speculate.
It's really hard to cut actual bloat when running layoffs, because the more you work the less time you have to do politics and save your ass, so the less productive type of people tend to be pretty resilient to layoffs.
That's the only part I care about dang. I still use WSL1 and have done a number of interesting hacks to cross the ABI and tunnel windows into "Linux" userspace and I'd like to make that easier/more direct
Mac IS the Sotate of the Art at the developer experience. The only annoyance was the virtualisation on Arm but having UTM/Multipass/Virttualbox now, it is the best.
If you are up to too many containers, a linux box would be more preferable.
Over time though more and more small issues with it came up. Packages working not quite right, issues with the barriers between the two, etc. It always felt like there was a little bit more friction with the process.
With Valve really pushing Proton and the state of linux gaming, I've recently swapped over to Ubuntu and Nixos. The friction point moved to the gaming side, but things mostly just work.
Things on linux are rapidly getting better, and having things just work on the development side has been a breath of fresh air. I now feel that it's a better experience than windows w/ WSL, despite some AAA titles not working on linux.
But WSL2 is freaking incredible, I'm super excited to see this and just wish the rest of windows would move to a Linux kernel and support bash natively everywhere. I was never a fan of powershell, sh/dash/ash/bash seem fine
Yeah, the spyware is annoying and stupid. But once you strip it out (it can be removed/blocked), Windows 11 is absolutely rock solid.
For a gamer... still not quite, but very close.
For the corps ... it's a legacy issue, but that may slip away as a side effect of Trump destroying global soft power and making it a hard sell to remain on a US led platform, purely op sec concerns, the spyware issue will add more weight to that.
It gets worse. When we go to the manufacturing side of the building, there's a high chance they're still using Windows 7. Yeah, still! And IT or Controls has no idea what to do with it since, well, it's still working. Is it secure? They don't know because the team is comprised of kids who memorized the CompTIA exams and use Windows 11 at home.
Trying to get the business world to switch to Linux with all that in mind is an impossible task. It's the same as asking an American city to rip out all its old infrastructure at once and replace it with new instead of patching the old. The cost and knowledge required for such a task is unthinkable, to them. Believe me, I've tried.
Microsoft was quite brilliant in the way that they shoehorned their way into the fabric of the way we do business, not just in the US, but on a global scale.
Personally i don't really believe in AAA (or UbiSoft's AAAA) titles that much anymore. Strange exclusivity for some console or device may bring some money early on, but i have plenty games in my Steam libary that could run perfectly under many platforms. And most AAA games heavily drop in price after a few months, Nintendo being the sole exception.
But i also believe there's a lot of special software for laboratories etc, that run on windows only
Deleted Comment
Regarding Steam, do you install it with distro provided or through Flatpak?
What is the spec of your machine that you do Linux gaming on? I've noticed a notable performance penalty (around 10%, even higher on GPU heavy games) when running games with Proton, which is mainly why I haven't dropped Windows yet.
Source: https://www.youtube.com/watch?v=4LI-1Zdk-Ys
CachyOS provides packages for Steam, handles nvidia drivers for you and they even provide their own builds of proton and wine, allegedly compiled with flags for modern hardware + some patches (not sure how much they help though - before Cachy I used Pop OS and also had no problems with performance).
Cachy is based on Arch though, so unless you're ready for your system to potentially break with an update - maybe used something more stable (again - I quite liked Pop OS, it was extremely stable for me)
I don't mean to dismiss your comment at all, but I'm surprised that such a low overhead would be the primary reason holding you back from switching. The difference between, say, 100 FPS and 91 FPS seems so negligible in my mind that it would be pretty near the bottom on the list of reasons not to switch to Linux.
https://www.protondb.com/
Scrolling to Medals, 50% of all 25.000+ games tracked by the site are playable, either working perfectly or mostly (Platinum or Gold ratings). Another 20% can be alright under specific circumstances, and with compromises (Silver rating).
The former ran slowly at low settings, with the occasional complete single digit slowdown. On the same laptop in Windows 10, it ran medium settings and easily twice the frame rate, no issues.
The latter wouldn't connect to multiplayer, and would occasionally just crash out.
(Comment written from memory, but I enshrined my experiment here: https://retorch.com/blog/linux-mint.htm )
Anything "denied" won't work ever unless they change their minds. Anything "broken" is...well...broken.
i have some 2012 projects were the makefiles also build in msvc. never again.
then 2015 projects with build paths for cygwin. never again.
then some 2019 projects with build scripts making choices to work on msys2/git-bash-for-windows. never again.
now we can build on WSL with just some small changes to an env file because we run a psql container in a different way under wsl... let's see how long we endure until saying never again.
I actually switched to Linux full-time when Starfield wouldn’t run on Windows but worked in Proton. We are now in a world where Valve provides a more sable Windows API than Microsoft. The only limitation now is anti-cheat but that’s a political problem, not a technical one.
No, Windows is not about games, Windows is about being an objectively the most stable pile of garbage there is.
Their GTX series cards all used proprietary blobs that required unmanageable device specific interfaces.
Starting from the RTX series cards, they still have proprietary blobs but instead of having device specific interfaces, they all use a shared public interface which makes compatibility and performance much better.
It's not across the board, but there are instances of gaming benchmarks showing more performance under linux than windows.
And this is coming from a very Linux-hesitant newbie who mostly uses Windows.
I have not tried Fortnite.
https://www.reddit.com/r/linux_gaming/comments/ppgk04/starcr...
Fortnite doesn't work because Sim Tweeney doesn't want it work: both BattleEye and EAC can work on Linux, Epic just chooses not to enable that functionality.
Given what Windows has become and already discussed here on HN I would even hesitate to run it in a virtual machine.
Edit: more than 15 years.
So, if you don't have a secondary GPU, you'll need to live without graphics acceleration in the VM... so for a lot of people the "oh you just need to use a VM!" solution is not feasible, because most of the software that people want to use that does not run under WINE do require graphics acceleration.
I tried running Photoshop under a VM, but the performance of the QEMU QXL driver is bad, and VirGL does not support Windows guests yet.
VMWare and VirtualBox do have better graphics drivers that do support Windows. I tried using VMWare and the performance was "ok", but still not near the performance of Photoshop on "bare metal".
https://www.phoronix.com/news/AMD-GIM-Open-Source
Windows can run GPU accelerated Windows VMs with paravirtualization. But I have no use case for two Windows machines sharing a GPU.
I will do anything to avoid Windows but I miss Premiere.
Every Windows thread on HN is a reminder of the stark divide between people who need to use Windows for productivity apps and those who don’t.
The apps I need a Windows machine for are not the kind that virtualize nicely. Anything GPU related means Windows has to become the base OS for me.
If you’re running an occasional light tool you can get away with Windows in a VM, but it’s a no-go for things like CAD or games.
I personally have a desktop PC with an AMD GPU and then another Nvidia GPU that I pass through to windows hosts. I have a hook that changes the display output and switches the inputs using evdev.
LibreOffice has gotten quite good over the years, including decent(ish) MSO file format interoperability, and Thunderbird seems to support Exchange Server.
So, I suppose things like MS Project or MS Visio many not have decent counterparts (maybe, I don't really know), but otherwise, it seems like you don't need-need to use Windows for productivity apps.
I'm not a novice either, $dayjob has me working on the lowest levels of Linux on a daily basis. I did linux from scratch on a Pentium 2 when I was 12. All that to say yes I happen to agree but edge cases are out there. The blanket statement doesn't apply for all use cases
I would have switched over to Linux if it wouldn't be because of that one.
I hate the half assed commercialised approached for software on both Mac and Windows where you download 50mb+ of electron bullshit for a bash 2 liner with default tools on Linux.
Mostly for windows but when I installed 5+ tools from untrustworthy websites (which they all look like if you aren't used to that) it feels like my computer is likely forever busted with some scamware. But there is no dd, no proper editor, no removing adware and "news" without these tools.
On windows if you want to configure something it's like going into a computer museum where you start in the metro area and end up in UIs straight out of win 95. That's better on Mac, but the UI is depressing (in my opinion) and I always had the feeling my Mac wouldn't need to run that hot if it wouldn't draw shadows, mirroring and weird effects I haven't asked for.
That said. Linux is not a panacea
I set it up originally for gaming, but nowaways I install a lot of disposable software there.
I use Linux guests VMs too (a la Qubes), but sadly there's no guest support for looking-glass on Linux. Native rendering speeds on VMs are something hard to let go.
I used to do VFIO with hardware passthrough so I could have linux but still run windows software like CAD that takes advantage of the gfx card. That was a pain to set up and use.
The other way, its very simple. WSL2 can run ML tasks with just a tiny bit of overhead in moving the data to the card.
> We currently package our virtual machines for four different virtualization software options: Hyper-V (Gen2), Parallels, VirtualBox, and VMware. These virtual machines contain an evaluation version of Windows that expires on the date posted. If the evaluation period expires, the desktop background will turn black, you will see a persistent desktop notification indicating that the system is not genuine, and the PC will shut down every hour.
Edit: Oops, dead link -- the dev tools evaluation VM hasn't been released for 6+ months. But they do offer Windows evaluations ISO's after registration.
I'm using Forklift [2] on my mac at work, but it's a pale imitation of what a file explorer can truly be. I did some searching for Linux but it's all pretty pedestrian.
[1]: https://www.gpsoft.com.au/ [2]: https://binarynights.com/
1. I use UWF on windows (Education Edition). All disk writes to C:/ are ephemeral. On every single reboot, all changes are discarded and my pc is back to the exact same state as when I first set it up. I do keep a separate partition for documents that need persistence.
2. Miracast for screen mirroring.
and 2...hm I know i've done Miracast before with GNOME Network Displays https://flathub.org/apps/org.gnome.NetworkDisplays
[1] https://knowyourmeme.com/memes/iq-bell-curve-midwit
Dead Comment
Dead Comment
We need to remember why Microsoft uses WSL. Microsoft wants to prevent users (i.e. developers) to migrate on Linux. It is the old approach Embrace, Extend, and Extinguish [2].
Monopolies are made by users and politics, because we don't consider vendor lock-in and mass-effect. I wish strong regulation for all information-technology. We saw the wonderful effects of regulation with AT&T {UNIX, C, Open-Source, Open-Documentation} and then a mistake was done. The company was split up, looking back a complete failure.
Also, VBoxManage was created by someone who firmly subscribes to the "git UX is awesome" school of thought :-(
Apocryphally, a lot of this was apparently developed at the direct insistence of Steve Jobs who had some run ins with very angry visually impaired people who struggled to use the early iphone/ipad.
That said, my source for this is one of the men who claims to have spoken to Mr Jobs personally, a visually impaired man who had lied to me on several fronts, and was extremely abusive. However I couldn't find anyone inside apple management or legal who would deny his claim. And he seemed to have been set the expectation that he could call the apple CEO at any time.
When it works, it's great! When it doesn't....oh man it sucks. It has been non-stop networking and VPN problems, XServer issues, window scaling issues, hardware accelerated graphics not working, etc. this whole time. I've spent more time trying to fix WSL issues then actually developing software. It's never gotten better.
It's fast. It's powerful. But using it as a daily driver is very painful in my experience. I avoid it as much as possible and do most of my work in MSYS2 instead. Sure, it's much slower. But at least it works consistently and has for years.
It was possible under wsl1, but wsl1 is an entirely different thing.
"never had any issues" is a meaningless statement. I "never had any issues" with infinite things I never tried to do in the first place.
Edit: for clarity, by "multiple OS" I mean multiple Linux versions. Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"
I honestly think Microsoft could win back some mind share from Apple if they:
* Put out a version of windows without all the crap. Call it Dev edition or something and turn off or down the telemetry, preinstalled stuff, ads, and Copilot. * Put some effort into silicon to get us hardware with no compromises like the Macbooks
I'm on Mac now, and I jump back and forth between Mac laptop and a Linux desktop. I actually prefer Windows + WSL, but ideologically I can't use it. It has potential - PowerToys is fantastic, WSL is great, I actually like PowerShell as a scripting language and the entire new PC set up can now be done with PowerShell + Winget DSC. But, I just can't tolerate the user hostile behavior from Microsoft, nor the stop the world updates that take entirely too long. They should probably do what macOS and Silverblue, etc. do and move to an immutable/read-only base and deploy image based updates instead of whatever janky patching they do now.
Plus, I can't get a laptop that's on par with my M4 Pro. The Surface Laptop 7 (the arm one) comes close, but still not good enough.
That said I'd pay for a dev edition as you described it, that would be fantastic.
I've often said that if Microsoft had just iterated on Windows 2000 forever I'd probably still be a full-time Windows user. If Microsoft had maintained an LTSC-like Windows variant that was installable from the normal retail installation media and with a normal retail product key (at the very least Pro, but ideally Home), that also likely would have kept me on Windows full-time instead of switching to Linux as my daily driver.
This is the only reason I have not requested a windows laptop from my company. WSL is better for docker development in basically every way than a mac can be (disclaimer: haven't tried orbstack yet, heard good things, but my base assumption is it can't be better than WSL2) except it is literally impossible to get hardware as good as the M3 or M4 for any other OS than macOS.
The biggest difference between OSX and Windows is, Apple adds (some say steal) functionality from competition, and open source. They make it neat. On windows to have something working, you need a WezTerm, Everything for search, Windhawk for a vertical taskbar on the right, Powertoys for an app starter, Folder Size for disc management etc. If you spend a lot of time, Win11 can be ok to work with.
If Powerpoint and Affinity would work on Linux, I'd use Linux though.
I on the other hand cannot get an affordable Mac that has the same GPU, disk space and memory size as my workstation class laptop.
I find it dismaying that people on Hacker News willingly submit to incredibly user-hostile behavior from Microsoft and call it "the best of both worlds". Presumably a nontrivial proportion here are building the next generation of software products - and if we don't even respect ourselves, how likely is it that we will respect our users?
Interesting enough, that beyond release upgrades, happening may be once a year, all or may be 99% of updates took ~5 minutes of interruption of me, including needed reboot. I really wonder how others manage to have "entirely too long" updates.
LTSC is a version like that
as far as MS are concerned, that crap is their business.
Or, possibly, that crap is the multitude of little software empires build by the management layer now in control..
You know what's even more convenient than a VM? Not needing a VM and still having the exact same functionality. And you don't need a bunch of janky wrapper scripts, there's more than one tool that gives you essentially the same thing; I have used both Distrobox and toolbx to quickly drop into a Ubuntu or Fedora shell. It's pretty handy on NixOS if I want to test building some software in a more typical Linux environment. As a bonus, you get working hardware acceleration, graphical applications work out of the box, there is no I/O tax for going over a 9p bridge because there is no 9p bridge, and there is no weird memory balloon issues to deal with because there is no VM and there is no guest kernel.
I get that WSL is revolutionary for Windows users, but I'm sorry, the reason why there's no WSL is because on Linux we don't need to use VMs to use Linux. It's that simple...
WSL2 is really handy when you want to run other software though. For example, I use Solidworks, so I need to run windows. Forscan for Ford vehicles also has to run under Windows. Having WSL2 means that I can just have one laptop and run any software that I want.
I don't think it's silly. Sure, it's a VM, but it's so nice that I barely reboot into Linux. You get the best of both worlds with WSL.
It's a feature of the NT-family of kernels where you can create many environments sharing the same underlying executive and HAL.
It's a quite interesting way to build an OS: https://en.wikipedia.org/wiki/Architecture_of_Windows_NT
You cannot claim with a straight face that Virtualbox is easier to use.
It is... I'm working these days on bringing a legacy windows only application to the 21st century.
We are throwing a WSL container behind it and relying on the huge ecosystem of server software available for Linux to add functionality.
Yes that stuff could run directly on windows, but you'd be a lot more limited in what's supported. Even for some restricted values of supported. And you'd have to reinvent the wheel for a few parts.
I’ve been a software developer for 20 years and in _my_ opinion Windows is the best platform for professional software development. I only drop of to linux when need some of the excellent posix tools but my whole work ergonomy is based on Windows shortcuts and Visual Studio.
I’ve been forced to use Mac for the past 1.5y but would prefer not to.
Why would Windows be superior for me? Because that’s where the users are (for the work stuff I did before this latest gig). I started in real time graphics and then spent over a decade in CAD for AEC (developing components for various offerings including SketchUp). The most critical thing for the stuff I did was the need to develop on the same platform as users run the software - C++ is only theoretically platform independent.
Windows API:s are shit for sure for the most part.
But still, from this pov, WSL was and will be the best Linux for me as well.
YMMV.
So, for me Windows + WSL is more productive than just using Linux. The UI is still better on Windows(basic utilities like File Explorer and Config Management is better on Windows). No Remoting Software beats RDP. When I remote to a Windows workstation through RDP, I can't tell the difference. VNC is always janky. Of course there is Word/Excel/Illustrator which is simply not available on Linux
Apparently Linux VMs on other people's computers is very much appreciated.
But having Windows tightly integrated when needed is nice.
If only I could run replace the Windows shell with a Linux DE...
Exactly.
I mean this is basically heresy now.
most code is virtualised, or sandboxed, or in a VM, or a docker container, or several of the above at the same time.
Where is the reverse WSL on Linux, where Windows is deeply embedded and you have all the Windows features in your hands?
You can use Wine/Crosseover, which is cool, but even now the number of software products it supports is tiny. Steam has a lot of games.
You can run a virtual machine with Windows on it. That is identical to what you can do on Windows with Linux.
WSL2-> is a virtual machine with unique tooling around it that makes it easier to use and integrates well with Windows.
This is the kind of statement that makes you pay the karma tax. WSL is great, I use it on a day to day basis. I also use Linux on a day to day basis. And as great as WSL is, for running Linux software on supported hardware, Linux beats WSL hands down. And I mean, of course it does, do you expect a VM to beat native? In the same way that Windows software runs better on Windows. (with a few exceptions on both sides).
Compared to Linux, WSL I/O is slow, graphics is slow and a bit janky, I sometimes get crashes, memory management is suboptimal, networking has some quirks, etc... These problems are typical of VMs as it is hard for the host and guest OS to coordinate resource use. If you have an overpowered computer with plenty of RAM, and are mostly just using the command line, and don't do anything unusual with your network, then sure it may be "better" than Linux. But the truth is that it really depends on your situation.
Dead Comment
The big drawback to WSL to me is the slow filesystem access because NTFS sucks. And having to deal with Windows in the first place.
Ps I wouldn't worry about your karma. It's just a number :P
The problem is Windows IO filters and whatnot, Microsoft Defender trying to lazily intercept every file operation, and if you're crossing between windows and Linux land, possibly 9pfs network shares.
WSL2's own disk is just a VM image and fairly fast - you're just accessing a single file with some special optimizations. Usually far, far more responsive than anything done by windows itself. Don't do your work in your network-shared windows home folder.
It’s fine for running small models but when you get to large training sets that don’t fit in RAM it becomes miserable.
There is a line where the convenience of training or developing locally gives way to a larger on demand cloud VM, but on WSL the line is much closer.
Thats if you are going from VM/host. If you use the allocated space for VM, its pretty fast.
The culprit would be the plan9 bits (think of smb or nfs but .. wilder ? why are they using 9P again ?)
Watch https://www.youtube.com/watch?v=qbKGw8MQ0i8 please.
I don't have a need to run multiple OSes though. All of my tools are Linux based, and in companies that don't let people run Linux, the actual tools of the trade are almost all in a Linux VM because it's the only reasonable way to use them, and everything else is cross-platform. The outer OS just creates needless issues so that you now need to be a power user with two operating systems and their weird interactions.
> extremely arcane things I had to fix when setting it up involving host DNS and VPN adapter priority not getting propagated into the VM so networking was completely broken
Are you sure you set up the VPN properly? Messing around with Linux configs is a good way to end up with "somehow" bugs like that.
I also have tailscale running on Windows itself and they don't conflict.
I use linux. I don't need WSL at all. Not at work nor at home.
So you praise WSL because you use Windows as your main system? Than yes its great. It definitly makes the Windows experience a lot better.
OpenSSH for Windows was also a game changer. Honestly, i have no clue why Microsoft needed so long for that.
Deleted Comment
I have since moved to macbooks for the hardware, but until not too long ago WSL was my linux "distro" of choice because I didn't want to spend time configuring my computer to make basic things work like suspend/wake on lid down/up, battery life, hardware acceleration for video playback on the browser, display scaling on external monitor and so on.
Indeed, it does. Having stable system and not dealing with Linux on Desktop, clear tradoffs (like "just add another 16gb RAM stick in laptop/desktop and you are golden") is great for peace of mind.
The average uptimes on my laptops (note for plural) is ~3 weeks, until next Windows Update to be applied. I don't have nostalgia on the days of using Linux on desktop (~2003 student times, ~2008 giving it one more try, ~2015 as required by dayjob)
Of course it adds up that I can tell people around me (who are not tech guys often, but smart enough to know basic concepts and be able to run bash scripts provided to them) - "yep, machine with 32GB+ of RAM will work fine, choose any you like" - and it works.
I'd at least try Linux cause I abhor Microsoft, but idk if it'd work out.
At least the nags in Windows look like modern web-based UI (so far that ‘use Electron’ seems to be the post-Win 8 answer to ‘how to make Windows apps’) in contrast to MacOS which drove my wife crazy with nag dialogs that look like a 1999 refresh of what modal dialogs looked like on the classic Mac in 1984.
Also 1980s style X11 widgets on the Windows desktop in their own windows? Cool.
Cool because nothing about how Windows boots is intercepted; you can just nuke the new partitions (or overwrite them with a new Linux installation). I still prefer a native Linux boot with "just in case" Windows option to WSL.
It might be due to my corpo's particular setup etc. but for me 95% of the value of WSL would be the ability to run it on "corporate" Windows boxes. Alas.
Hardware performance counters basically do not work in WSL2, which among other issues, makes it extremely difficult to use rr. https://github.com/rr-debugger/rr/issues/2506#issuecomment-2... Some people say they got it working, but I and many other users encounter esoteric blockers.
The Dozen driver is never at feature parity with native Linux Vulkan drivers, and that's always going to be the case.
By default, WSL security mitigations cause GCC trampolines to just not work, which partly motivated the opt-in alternative implementations of trampolines last year. https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=28d8c680aaea46...
gWSL is also a terrible X11 server that makes many very basic window management configurations impossible, and while I prefer VcXsrv, it has its own different terrible issues.
I can imagine that WSL2 looks attractive if all you want to do is run command line apps in multiple isolated environments, but it is miserable for anything graphical or interactive.
Indeed, that's my case - using CLI mostly for ssh/curls/ansible/vim over ansible and Puppet, so on.
For GUI part, Windows is chosen and shines for me.
I know… every year is the year of the Linux desktop… but seriously the AI spyware included was enough to get me gone for good.
[0]: https://apps.gnome.org/Boxes/
Are you a Windows user who is happy to have a good way to run Linux on Windows, or are you a Linux user trying to convince other Linux user that instead of using Linux, they should use Linux in a VM running on Windows?
I am a longtime Linux user, and I can't see a reason in the universe why I would want to access my Linux through a VM on Windows. That seems absolutely insane.
[1]: https://github.com/LGUG2Z/komorebi
I'd venture to say this depends on which OS you're more comfortable with. I'm more comfortable with Linux, so I'd say it's easier/better/less janky to use Linux as a host OS.
> Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"
Once you're a developer who's been burned by this enough times, you do this with containers or dedicated dev VMs. You do not develop on your host OS and stay sane.
However, for those of us that went Linux many years ago, and like our free open source, in 2025, is it better to go back to the dark side, to run Windows and have things like a LAMP stack and terminals run with WSL?
I don't play games or run Adobe products, I use Google Docs and I don't need lots of different Linux kernels. Hence, is it better to run Linux in Windows now? Genuinely asking.
XAMPP did not work out of the box with me on Windows (skill issue on my part, I know), so my preferred setup was to run a Ubuntu Server VM (LAMP stack) and then develop whatever I had on a Windows IDE.
I could have done that under full Linux, I just did not want that. Then Vagrant came into existence, which I'd say was for my use case (but never came around to adopt it).
I'm really happy with my WSL2 setup. I stopped using VMware Workstation when WSL2 broke it, but WSL2 is exactly what I needed to match my use case.
Why wouldn't you have just spent 5 minutes to get XAMPP working?
Is it still broken?
For this part, I just create systemd-nspawn containers.
Last time I wanted to test something in a very old version of WebKit, creating a Debian Jessie container takes a few minutes. Things run at native speed.
Have you tried lxd? It's far less janky than Docker (IMHO) to achieve what you describe. Docker is uniquely unsuited to your use case.
In fact, I'm a little annoyed that I can't get a comparably smooth experience on my MacBook without spinning up a full QEMU VM. I know it's a bit hypocritical since, like most people, I run WSL2 (which is container/VM-based), not WSL1 (the original magic syscall translation vision).
Does anyone know why there's no lightweight solution on macOS - something like LXC plus a filesystem gadget - that would let me run stuff like "apt-get install chromium"?
>Native performance Tart is using Apple’s native Virtualization.Framework that was developed along with architecting the first M1 chip. This seamless integration between hardware and software ensures smooth performance without any drawbacks.
Actually, the OG "magic syscall translation" is Cygwin[0], which dates back to 1995[1].
[0] https://cygwin.com
[1] https://en.wikipedia.org/wiki/Cygwin
Edit: Fixed prose.
But Qemu (via UTM) starts up pretty quickly for me. No slower than WSL2 under Windows. My only issue is that it seems to drain power even when idle.
I love WSL because it lets me have the best of Windows and Linux.
Deleted Comment
This is not often discussed, so it took me a lot of digging a couple of years ago, but I'm still surprised this is never discussed as a consequence / side effect / downside of wsl2. There are performance impacts to turning on hyper V, which may or may not be relevant to user (e.g. If this is also their gaming machine etc:)
I actually just tried WINE for the FIRST time (surprisingly, I have been out of the Windows world for so long)
https://www.winehq.org/
And as long as I installed the binaries from their repo, not Debian 12, it worked very well
Wine is an impressive project too. It's not a VM, which has upsides and downsides, but I was able to run GCC-TDM, Python 3, and git bash in it!
I have been using it since the beginning of WSL 1 with a very terminal heavy set up but it has some issues.
For example WSLg's clipboard sharing is buggy compared to VcXsrv. It doesn't handle pasting into Linux apps without introducing Windows CRs. I opened an issue for this https://github.com/microsoft/wslg/issues/1326 but it hasn't gotten a reply.
Also, systemd is still pretty sketchy. It takes over 2 minutes for systemd services to start and if you close a WSL 2 terminal for just a few minutes systemd will delay a new terminal from opening for quite some time. This basically means disabling systemd to use WSL 2 in your day to day.
Then there's this 6 year old issue with 1,000+ upvotes https://github.com/microsoft/WSL/issues/4699 around WSL not reclaiming disk space. It means you need to routinely shut everything down and compress your VM's disk or you'll run out of space.
Beyond that is does work well so I'm happy it exists.
That doesn't sound good. I was planning to set up a Windows/WSL2 box, but this gives me second thoughts. Where can I read more about this?
not sure what would be the correct test here, but:
root@LP-T16:~# uname -rn
LP-T16 5.15.167.4-microsoft-standard-WSL2
root@LP-T16:~# time systemctl restart ssh
real 0m0.039s
user 0m0.008s
sys 0m0.001s
Linux or *BSD give so much more respect to the user, on windows you are the product! Stand up for yourself and your data!
When the answer to a "how do I do X on windows" question begins with "start WSL", my primary reaction is frustration because they're basically saying "there's not a good way to do that on Windows, so fire up a Linux VM".
Just to pick my most recent example, from today. I wanted to verify the signatures on some downloaded rpm files, and the rpm tools work on linux. I know, rpm files are native to a family of linux distros, so it's not surprising that the tools for retrieving and verifying their signatures don't work on windows but... it also seems reasonable to want a world where those tools can install and run on windows, straight from a PowerShell session, with no VM.
Multiply that by all the little utilities that that can't be deployed across multiple operating sytems, and it just seems like some incompatibility headaches are never really going to go away.
Deleted Comment
1. https://stackoverflow.com/questions/57580420/wsl-using-a-wsl... 2. https://github.com/microsoft/WSL/issues/5118 3. https://github.com/microsoft/wslg/issues/22
Iterating on improvements and polishing on Screens and Design that they haven't touched in the past 30 years. Improving on ARM support etc. And STOP adding Ads on the OS.
And the Surface Laptop continues to push Hardware quality forward. From Speaker, Touchpad, Screen, Motherboard etc.
[1] https://en.m.wikipedia.org/wiki/Weasels_Ripped_My_Flesh
You can do the same thing with many other technologies on most other operating systems. I've used, in chronological order: FreeBSD jails, VMs, Cloud-hosted VMs, Docker, K8s, and Nix flakes. WSL is probably somewhere in around K8s.
My point is, we've had the ability to run "subsystems" for decades, by different names, on every OS. WSL is cool but quite late to the game, far from being "more powerful than linux".
For a person who will not invest the time to learn, e.g., how to avoid or minimise dependencies, indeed something like Windows with WSL may appear "more powerful".
The point of this comment is that "power" comes from learning and know-how as much as if not more than simply from choice of operating system. That said, some choices may ultimately spell the difference between limitations or possibilities.
This setup automatically backs up my data and is resilient to disk failures. It’s the ultimate form of power and bliss.
WSL2 has been such a pain. You're basically managing a VM with VMWare Tools somewhat more integrated. I gave up on WSL2 after a few months and went back to booting my arch installation most of the time. Now I'm on a mac for the first time in a long time because windows has gotten so bad.
This is doubly sad because the NT kernel is so well designed to host multiple OSes due to the OS/2 stuff decades ago. All wasted.
- Linux that works great on a laptop / does the right thing when closing the lid - Linux that doesn't have worse battery life than Windows / macOS - Seamlessly runs Windows when you need to run something (e.g. click on Excel) - Isn't necessarily free (prefer quality over low price in this situation)
Windows of course has many of these traits and WSL is a pretty good compromise, but I would prefer to boot into Linux and use Windows only when necessary (since my need for it is less common).
And WSL is a limited VM using HyperV anyway. If you want to run a VM, you can as a well run a proper one which isn't limited and runs a full blown distro with sane configuration.
So WSL is definitely not more powerful than normal Linux.
So I left - I am willing to do more work to be spied on less, to be used as a product less, and to fight with my computer about who owns it less.
This is a great way of saying it and expresses the uneasy feeling windows has given me recently. I use Linux machines but I have 1 windows machine in my home as a media PC; and for the last several years windows has made me feel like I don’t own that computer but I’m just lucky to be along for the ride. Ramming ads on the task bar and start menu, forcing updates on me, forcing me to make a Microsoft account before I can login (or just having a dark UI pattern so I can’t figure out how to avoid it, for the pedantic).
With Linux I feel like the machine is a turing complete wonderbox of assistance and possibility, with windows it feels like Microsoft have forced their way into my home and are obnoxiously telling me they know best, while condescendingly telling me I’m lucky to be here at all. It’s a very different feeling.
This feature thing is really one of their strategies. At work they send us "adoption managers" that run reports to check whether people use feature xyz enough and set up stupid comms campaigns to push them to do so.
I really hate that. I decide how I use my computer. Not a vendor.
Deleted Comment
https://www.amazingcto.com/upgrading-wsl-with-zsh-and-comman...
You can run multiple Linux distributions in chroots or containers, such as docker containers. I have showed people how to build packages for Ubuntu 22.04 on Ubuntu 20.04 for example.
Sorry but not sorry, it's not easier to run than on linux. It requires the Windows store to work, and to use Hyper-V (which breaks VMware workstation, among other things).
It's in a better package, to be sure, but it's not "easier to run multiple OS on the same computer". It's easier to use multiple OSes (no SSH, GUI forwarding, etc), as long as all those OSes are Linux flavors supported by WSL.
Want FreeBSD or Windows? Nope!
Well, it is windows subsystem for Linux :) not windows subsystem for windows or FreeBSD for that matter :)
Ps I wonder if you can make your own image? After all its really just Hyper-V with some config candy.
Deleted Comment
There's also debootstrap which is useful for this technique, not sure if it also works on Ubuntu.
But WSL2 is just a VM, no more, no less. You can do the same with VMware Workstation or similar tools, where you even get a nice accelerated virtual GPU.
Another, smaller, gripe is networking. Because of how WSL is networked, I've run into edge-case issues with connecting to networked applications running in WSL from Windows.
Here's the main difference between making Windows vs Linux the main OS from my POV: Windows is a lot of work and only the corporate editions can be converted into not-a-hot-mess-of-distractions (supposedly). Out of the box Linux doesn't have all of the bullshit that you have to spend time ripping out of Windows. You can easily re-install Linux to get the "powerwash" effect. But if you powerwash Windows you have to go back and undo all the default bullshit again.
Having said that Windows+WSL is a very nice lifeline if you're stuck in Windows-land. It's a much better combo than MacOS.
https://learn.microsoft.com/en-us/windows/wsl/connect-usb
I regularly run ADB through WSL2 using this.
I use WSL2 to handle Linux (and Windows cross-) compilation regularly, along with running a number of native tools that are specific to Linux.
I've never had any issues with that, even to the point that I've been able to run MAME natively from Linux and have it show up like any other windowed app.
The Linux on Desktop is finally approaching, in more than one "shape", none of which is the shape some people expected/wanted.
I do that with KVM too, and each has their own kernel, not one shared kernel made and controlled by one vendor.
Deleted Comment
Sounds like you could benefit from Qubes OS, which runs everything in VMs with a great UX. Including Windows.
I also run other Linux instances with KVM.
I even run a Linux x86_64 executable on an ARM SBC using QEMU.
I just feel that Linux is so much more flexible than Windows.
Deleted Comment
Is VMWare more powerful than Linux?
wsl works good enough.
Deleted Comment
Hmm...
> WSL is more powerful than Linux
Oh.
But you're definitely not crazy for liking it. And people should chill out instead of downvoting for someone who just says what works for them.
I haven't tried Win11 and probably won't unless my employer forces me to. But if Win11+WSL2 works for you, more power to you.
... but WSL is an excellent piece of work. It's really easy to deploy apps on. Frankly, it can be easier to a deployment there than on a Linux or macOS system, for example the reasons detailed above.
Or on a macOS Desktop. Bonus: doing so on either platform doesn't also mean your host OS is running under a hypervisor, as it does with WSL2.
Bigger bonus: you don't have to run fucking Windows.
Why do you think, technologically, this is some form of "bonus"?
This is why you pay karma tax. This statement is so clearly representative of a falsity.
My linux can run multiple linuxes as well without VM overhead. Something Windows can’t do. Furthermore WINE allows me to forgo running any vm to run windows applications.
I developed on WSL for 3 years and consistently the biggest issue was the lack of ability to use tooling across the shared OSes.
Your karma depleting statements are biased, unfounded, and it shows as you do not really provide counter evidence. That’s why you lose karma.
Dead Comment
Dead Comment
Deleted Comment
Decisions, preparations and execution to open source such projects in big corporations to not happen within a week, two or month.
> This is the result of a multiyear effort to prepare for this
(Also, I'm surprised that WSL 1 is still supported. It must be in maintenance mode though, right?)
I'm also still using WSL1 and was hoping to be able to fix some of it's quirks :(
Here's how you can lose all your data - and Microsoft engineers won’t care: https://github.com/microsoft/WSL/issues/8992https://github.com/microsoft/WSL/issues/9830https://github.com/microsoft/WSL/issues/9049#issuecomment-26...