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?"
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 get customers and most people don't know about it but it's kind of ridiculous that techy people in a tech forum don't know how to do it.
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.
When I used to have free time it was great for games too
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.
Each OS is going to have extension applications to improve on the OOTB experience. This is an invalid argument to choosing one over the other.
Huh? Windows supports vertical taskbar.
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?
And I find it funny that the crowd that spends whole days implementing user-hostile features in yet another SaaS crapware has so much to say about Microsoft's bad behavior.
No. This is just you repeating marketing.
No Nvidia chip = B tier at best.
I have a $700 Asus with a 3060 that is better. Go ahead and scale up to a $2000 computer with an Nvidia chip and its so obviously better, there is nothing to debate.
No one cares about performance per watt, its like someone ran a 5k race, came in 3rd and said "Well at least I burned fewer calories than the winner!"
But the increasing market share of Macs and even Linux these days plus the ever increasing of OSS initiatives from Microsoft points out that Microsoft knows a lot fewer of their users are as captive as they were in the 90's, for example.
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
https://www.windowscentral.com/software-apps/windows-11/what...
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.
* Wine is surprisingly good these days for a lot of software. If you only have an app or two that need Windows it is probably worth trying Wine to see if it meets your needs.
* Similarly, if gaming is your thing Valve has made enormous strides in getting the majority of games to work flawlessly on Linux.
* If neither of the above are good enough, dual booting is nearly painless these days, with easy setup and fast boot times across both OSes. I have grub set to boot Linux by default but give me a few seconds to pick Windows instead if I need to do one of the few things that I actually use Windows for.
Which you go for really depends on your ratio of Linux to Windows usage and whether you regularly need to mix the two.
I've successfully run it with WINE. Thought, my Forscan executable was 3 years old or so and that may have changed, but I doubt it.
Right. One of the things a lot of people don't get is the extent to which multidisciplinary workflows require Windows. This is particularly true of web-centric software engineers who simply do not have any exposure to the rest of the engineering universe.
Years ago this was the reason we had to drop using Raspberry Pi's little embedded microcontroller. The company is Linux-centric to such an extent that they simply could not comprehend how telling someone "Just switch to Linux" is in a range between impossible and nonsensical. They were, effectively, asking people to upend their PLM process just for the sake of using a little $0.50 part. You would have to do things like store entire OS images and configurations just to be able to reconstruct and maintain a design iteration from a few years ago.
WSL2 is pretty good. We still haven't fully integrated this into PLM workflows though. That said, what we've done on our machines was to install a separate SSD for WSL2. With that in place, backing-up and maintaining Linux distributions or distributions created in support of a project is much, much easier. This, effectively, in some ways, isolates WSL2 distributions from Windows. I can clone that drive and move it from a Windows 10 machine to a Windows 11 machine and life is good.
For AI workflows with NVIDIA GPU's WSL2 is less than ideal. I don't know if things have changed in this domain since I last looked. Our conclusion from a while back was that, if you have to do AI with the usual toolchains, you need to be on a machine running Linux natively rather than a VM running under Windows. It would be fantastic if this changed and one could run AI workflows on WSL2 without CUDA and other issues. Like I said, I have not checked in probably a year, maybe things are better now?
EDIT: The other reality is that one can have a nice powerful Linux machine next to the Windows box and simply SSH into it to work. Most good IDE's these days support remote development as well. If you are doing something serious, this is probably the best setup. This is what we do.
I’ve got an airgapped Toughbook that I use for the few Windows apps I really need to talk to strange hardware.
Full hardware support is still not a given, and Windows emulation is still need for so many cases (e.g. games, specialized software etc).
Until I can choose any machine based on form factor and specs alone and just run Linux on it, WSL will the best version of Linux it can run.
I use WSL extensively, with lots of languages, and I’ve never had anything do that.
It’s running in a VM, so that would be some kind of weird VM escape?
Sounds a lot like a picnic problem but you didn’t give nearly enough details.
[interop]
appendWindowsPath=false
section in /etc/wsl.conf.
Then everything will go flawlessly.
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.
No ridiculous start menu spam; a sane, non-bloated operating system (imagine being able to update user space libraries without a reboot, due to being able to delete files that other processes still have opened!); being able to back up my data at the file level without relying on weird block-level imaging shenanigans and so much more.
How is inverting the host/guest relationship an improvement on that?
If I were to run an OS on a VM it's gonna be windows, not Linux
You obviously don't. Maybe WSL is the best compromise for people who need both Windows and Linux.
But it's ridiculous to think that WSL is better than just Linux for people who don't need Windows at all. And that's kind of what the author of this thread seems to imply.
Having Windows and Linux in the same desktop the way that WSL2 does obviously means that it does add a lot of value, but what you get in the box isn't exactly the same as the thing running natively. Rather than a strict superset or strict subset, it's a bit more like a Venn diagram of strengths.
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
I like Linux, and I use Linux as my daily desktop, but it's not because I think Linux or even UNIX is really that elegant. If I had to pick a favorite design it would be Windows NT for sure, even with all its warts. That said, the company behind Windows NT really likes to pile a lot of shit I hate on top of that pretty neat OS design, and now it's full of dubious practices. Automatic "malware submission" on by default, sending apps you download and compile yourself to Microsoft and even executing them in a VM. Forced updates with versions that expire. Unbelievable volumes of network traffic, exfiltrating untold amounts of data from your local machine to Microsoft. Ads and unwanted news all over the UI. Increasing insistence in using a Microsoft account. I could go on and on.
From a technical standpoint I do not think the Linux OS design is superior. I think Linux has some amazing tools and APIs. dmabufs are sweet. Namespaces and cgroups are cool. BPF and it's various integrations are borderline insane. But at its core, ... It's kinda ugly. These things don't all compose nicely and the kernel is an enormous hard-to-tame beast. Windows NT has its design warts too, all over, like the amount of involvement the kernel has in the GUI for historical reasons, and the enormous syscall surface area, and untold amounts of legacy cruft. But all in all, I think the core of what they made is really cool, the subsystems concept is super cool, and it is an OS design that has stood up well to time. I also think the PE format is better than ELF and that it is literally better for the capabilities it doesn't have w.r.t. symbols. Sure it's ugly, in part due to the COFF lineage, but it's functionally very well done IMO.
I feel the need to say this because I think I probably came off as a hater, and tbh I'm not even a hater of WSL2. It's not as cool as WSL1 and subsystems and pico processes, but it's very practical and the 9p bridge works way better than it has any right to.
Thanks for pointing this out.
Turns out that it's easier to emulate a CPU than syscalls. The CPU churns a lot less, too, which means that once things start working things tend to keep working.
The new WSL1 uses kernel call translation, like Wine in reverse and WSL2 runs a full blown Linux kernel in a Hyper-V VM. To my knowledge neither of these share anything with the aforementioned POSIX subsystem.
You cannot claim with a straight face that Virtualbox is easier to use.
I think the two fairly deep integrations are window's ability to navigate WSL's filesystem and wslg's fairly good ability to serve up guis.
The filesystem navigation is something that AFAIK can't easily be replicated. wslg, however, is something that other VMs have and can do. It's a bit of a pain, but doable.
What makes WSL nice is the fact that it feels pretty close to being a native terminal that can launch native application.
I do wish that WSL1 was taken further. My biggest grip with WSL is the fact that it is a VM and thus takes a large memory footprint. It'd be nice if the WSL1 approach panned out and we instead had a nice clean compatibility wrapper over winapi for linux applications.
Sure, but I never claimed otherwise.
> You cannot claim with a straight face that Virtualbox is easier to use.
I also didn't claim that. I wasn't comparing WSL to other virtualization solutions.
WSL2 is cool. Linux doesn't have a tool like WSL2 that manages Linux virtual machines.
The catch 22 is that it doesn't need one. If you want to drop a shell in a virtual environment Linux can do that six ways through Sunday with no hardware VM in sight using the myriad of namespacing technologies available.
So while you don't have WSL2 on Linux, you don't need it. If you just want a ubuntu2204 shell or something, and you want it to magically work, you don't need a huge thing with tons of integration like WSL2. A standalone program can provide all of the functionality.
I have a feeling people might actually be legitimately skeptical. Let me prove this out. I am on NixOS, on a machine that does not have distrobox. It's not even installed, and I don't really have to install it since it's just a simple standalone program. I will do:
$ nix run nixpkgs#distrobox enter
Here's what happened: $ nix run nixpkgs#distrobox enter
Error: no such container my-distrobox
Create it now, out of image registry.fedoraproject.org/fedora-toolbox:latest? [Y/n]: Y
Creating the container my-distrobox
Trying to pull registry.fedoraproject.org/fedora-toolbox:latest...
...
0f3de909e96d48bd294d138b1a525a6a22621f38cb775a991974313eda1a4119
Creating 'my-distrobox' using image registry.fedoraproject.org/fedora-toolbox:latest [ OK ]
Distrobox 'my-distrobox' successfully created.
To enter, run:
distrobox enter my-distrobox
Starting container... [ OK ]
Installing basic packages... [ OK ]
Setting up devpts mounts... [ OK ]
Setting up read-only mounts... [ OK ]
Setting up read-write mounts... [ OK ]
Setting up host's sockets integration... [ OK ]
Integrating host's themes, icons, fonts... [ OK ]
Setting up distrobox profile... [ OK ]
Setting up sudo... [ OK ]
Setting up user groups... [ OK ]
Setting up user's group list... [ OK ]
Setting up existing user... [ OK ]
Ensuring user's access... [ OK ]
Container Setup Complete!
[john@my-distrobox]~% sudo yum install glxgears
...
Complete!
[john@my-distrobox]~% glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
302 frames in 5.0 seconds = 60.261 FPS
^C
No steps omitted. I can install software, including desktop software, including things that need hardware acceleration (yep, even on NixOS where everything is weird) and just run them. There's nothing to configure at all.That's just Fedora. WSL can run a lot of distros, including Ubuntu. Of course, you can do the same thing with Distrobox. Is it hard? Let's find out by using Ubuntu 22.04 instead, with console output omitted:
$ distrobox create --image ubuntu:22.04
...
$ distrobox enter ubuntu-22-04
...
$ sudo apt install openarena
...
$ /usr/games/openarena
To be completely, 100% fair: running an old version of Ubuntu like this does actually have one downside: it triggers OpenGL software rendering for me, because the OpenGL drivers in Ubuntu 22.04 are too old to support my relatively new RX 9070 XT. You'd need to install or copy in newer drivers to make it work. There are in fact ways to do that (Ubuntu has no shortage of repos just for getting more up-to-date drivers and they work inside Distrobox pretty much the same way they work in real hardware.) Amusingly, this problem doesn't impact NVIDIA since you can just tell distrobox to copy in the NVIDIA driver verbatim with the --nvidia flag. (One of the few major points in favor of proprietary drivers, I suppose.)On the other hand, even trying pretty hard (and using special drivers) I could never get hardware acceleration for OpenGL working inside of WSL2, so it could be worse.
That aside, everything works. More complex applications (e.g. file browsers, Krita, Blender) work just fine and you get your normal home folder mapped in just like you'd expect.
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
Any recent distro running Gnome or KDE has built-in support for connecting and hosting an RDP session. This used to be a pain point, you don't need to use VNC anymore.
It's actually worse on windows since you need to pony up for a pro license to get RDP hosting support...
5 years ago, we would be comparing old GNOME 3 or KDE Plasma 5 on X11 and Windows 10. I would be forced to agree. The Windows UI was better in many ways at that point.
Today we have KDE Plasma 6.3 on Wayland and Windows 11. This is an entirely different ball game. It's hard to explain. Wayland feels like it has taken an eternity to lift off, like well over a decade, but now things change dramatically on the scale of months. A few months ago HDR basically didn't work anywhere. Right now it's right in front of me and it works great. You can configure color profiles, SDR applications don't break ever, and you even get emulated brightness. Display scaling? Multiple monitors with different scale factors? What about one monitor at 150% and another at 175% scale factor? What about seamlessly dragging windows between displays with different scale factors? Yes, Yes, Yes, and Yes. No `xrandr` commands. You configure it in the GUI. I am dead serious.
File Explorer? That's the application that has two context menus, right? I think at this point Windows users might actually be better off installing KDE's Dolphin file manager in Windows for the sake of their own productivity. If I had the option to use Windows File Explorer on KDE I would impolitely decline. I have not encountered any advertising built into my file explorer. I do not have an annoying OneDrive item in the menu on the left. I have a file tree, a list of Places, and some remote file shares. When I right click it does not freeze, instead it tends to show the context menu right away. And no, I'm not impressed by Tabs and Dark Mode, because we've had that on Linux file managers for so long that some people reading this were probably born after it was already supported.
Windows still has the edge in some areas, but it just isn't what it used to be. The Linux UI is no longer a toy.
> When I remote to a Windows workstation through RDP, I can't tell the difference. VNC is always janky.
I don't really blame you if you don't believe me, but I, just now, went into System Settings, went to the Remote Desktop setting, and clicked a toggle box, at which point an RDP server spawned. Yes, RDP, not VNC, not something else. I just logged into it using Reminna.
Not everything on Linux is seamless and simple like this, but in this case it really is. I'm not omitting a bunch of confusing troubleshooting steps here, you really can do this on a modern Linux setup, with your mouse cursor. Only one hand required.
> Of course there is Word/Excel/Illustrator which is simply not available on Linux
True, but if you want to use Linux and you're held back by needing some specific software, maybe it's not the end of the world. You have many options today. You can install VirtualBox and run your spreadsheets in there. You can use Office 365 in a browser. You can run Crossover[1] and emulate it. You can use an office alternative, like possibly WPS Office. You can dual boot. You can go the crazy route and set up a KVM GPU passthrough virtual machine, for actually native performance without needing to reboot.
The point I'm making here is not "Look, Linux is better now! Everyone go use it and get disappointed ASAP!" If you are happy with Windows, there's literally no point in going and setting yourself up for disappointment. Most people who use Linux do so because they are very much not happy with Windows. I'm sure you can tell that I am not. However, in trying to temper the unending optimism of Linux nerds, sometimes people go too far the other way and represent Linux as being in far worse of a state than it actually is. It really isn't that bad.
The worst thing about modern Linux is, IMO, getting it to work well on your hardware. Once you have that part figured out, I think modern Linux is a pretty good experience, and I highly recommend people give it a shot if they're curious. I think Bazzite is a really nice distro to throw on a random spare computer just to see what modern Linux is actually capable of. It's not the absolute most cutting edge, but it gives you a nice blend of fairly up-to-date software and a fairly modern RPM ostree base system for better stability and robustness, and it's pretty user-friendly. And if you don't like it, you can easily get a full refund!
[1]: https://www.codeweavers.com/compatibility/crossover/microsof...
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...
IDK how many VMs you've used, but there has been a lot of work specifically with x86 to make VMs nearly as fast as native. If you interact with cloud services everything you do is likely on a VM.
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.
Linux, on the other hand, barely supports Windows because the latter is closed, and not just closed, windows issues component updates which specifically check if they run in wine and stop running, being actively hostile to a potential Linux host.
The two are not equivalent, nobody in the Linux kernel team is actively sabotaging WSL, whereas Microsoft is actively sabotaging wine.
This isn't really the case, and hasn't been for some years now, especially since Valve started investing heavily in Wine. The quality of Wine these days is absolutely stunning, to the point that some software runs better under Wine than it does on Win11. Then there's the breadth of support which has has moved the experience from there being a slight chance of something running on Wine, to now it being surprising when something doesn't.
https://github.com/Fmstrat/winapps
Enjoy.
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 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.
Not the biggest issue of them, 'find' and 'git status' on WSL2 in a big project is still >100 times slower on windows dev drive which avoids those filters than it is with WSL 1 on dev drive.
WSL 1 on regular ntfs with defender disabled is about 4x slower than WSL1 on dev drive, so that stuff does cause some of it, but WSL2 feels hopelessly slow. And wsl 2 can't share memory as well or take as much advantage of the filesystem cache (doubling it if you use the windows drive in both places I think, unless the network drive representation of it doesn't get cached on the WSL2 drive.
WSL2 does not take less advantage of filesystem caches. Linux's block cache is perfectly capable. HyperV is a semi-serious hypervisor, so it should be using a direct I/O abstraction for writing to the disk image. Memory is also balloning, and can dynamically grow and shrink depending on memory pressure.
Linux VM's is something Microsoft has poured a lot of money into optimizing as that's what the vast majority of Azure is. Cramming more out of a single machine, and therefore more things into a single machine, directly correlates with profits, so that's a heavy investment.
I wonder why you're seeing different results. I have no experience with WSL1, and looking into a proprietary legacy solution with known issues and limited features would be a purely academic exercise that I'm not sure is worth it.
(I personally don't use Windows, but I work with departments whose parent companies enforce it on their networks,
Files on the WSL2 disk image work great. They're complaining about accessing files that aren't on the disk image, where everything is relayed over a 9P network filesystem and not a block device. That's the part that gets really slow in WSL2, much slower than WSL1's nearly-native access.
> Memory is also balloning, and can dynamically grow and shrink depending on memory pressure.
In my experience this works pretty badly.
> a proprietary legacy solution with known issues and limited features
Well at least at the launch of WSL2 they said WSL1 wasn't legacy, I'm not sure if that has changed.
But either way you're using a highly proprietary system, and both WSL1 and WSL2 have significant known issues and limited features, neither one clearly better than the other.
My understanding is when you access files on the windows drive, the linuxvm in WSL2 caches it in its own memory, and the windows side caches it in its: now you have double the memory usage on disk cache where files are active on both, taking much less advantage of caches than if you had used WSL1 where windows serves as the sole cache for windows drives.
I'm only comparing working on windows filesystems that can be accessed by both. My use case is developing on large windows game projects, where the game needs the files fast when running, and WSL needs the files fast when searching code, using git, etc. WSL1 was usable on plain NTFS, and now much closer to ext4 with dev drive NTFS. WSL2 I couldn't make fast.
You could potentially have the windows files on a network drive on the WSL2 side living in native ext4, but with that you get the double filesystem caching issue, and you might slow a game editor launch on the windows side by way too much, your files are inaccessible during upgrades and you have to always have RAM dedicated to WSL2 running to be able to read your files. MS store versions of WSL2 will even auto upgrade while running and randomly make that drive unavailable.
WSL is for when you actually need it to be Linux.
I do windows and android gamedev and the server side is Linux.
However, WSL1 is pretty much abandoned and lots of newer distros have moved to forcing systemd or container based stuff that doesn't work in it, and some elf binaries no longer work in it (including newer node.js versions).
I use WSL2 as well when I really need it to be Linux and am doing webdev or something.
I use msys2 for a few things, usually compiling windows dependencies with the gnu toolchain that need GCC's stuff like inline assembly or computed goto (codecs etc.). Maybe possible from wsl1 too but they usually have full build and dependency instructions for msys2.
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.
However it’s not perfect, for example I hit this bug when trying to run node a few days ago https://github.com/microsoft/WSL/issues/8219#issuecomment-10... and I don’t think they’re fixing bugs in WSL1 anymore
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.
But in the end they had to get the OS vendor to bless their process name anyway, just so the OS would stop doing things that tank the performance for everybody else doing something similar but who haven't opened a direct line up with the OS vendor and got their process name on a list.
This seems like a pain point for the vendor to fix, rather than everybody shipping software to their OS
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.
OSX was a bit janky with docker filesystem slowness, homebrew being the generally recommended package manager despite being awful (why do I sometimes tap a cask and sometimes pour a bottle? Don't tell me; I don't care. Just make it be "install". Also, don't take "install" as a cue to go update all of my other programs with incompatible versions without asking), annoying 1+ second animations that you can't turn off that make it so the only reasonable way to use your computer is to never maximize a window (with no tiling support of course), and completely broken external monitor support (text is completely illegible IIRC), but Windows takes jank to another level.
By contrast, I never encounter the issues people complain about on Linux. Bluetooth works fine. Wifi works fine. nVidia GPUs and games work fine. Containers are easy to use because they're natively part of the OS. I prefer Linux exactly because I stopped enjoying "tinkering" with my computer like 10 years ago, and I want it to just quietly work without drawing attention to itself (and because Windows 8 and the flat themes that followed were hideous and I was never going to downgrade to that from Windows 7).
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.
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.
Wayland supports window managers ?
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.
Spyware and adware is a government policy / regulation problem. Thanks to GDPR and DMA, using Windows in EU is significantly better experience (try setting a Windows desktop with an EU image). You can remove almost all of the apps including Edge and Copilot. There are no ads in the UI. Neither in Explorer nor in Start menu.
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.
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.
> is it better to run Linux in Windows now? Genuinely asking.
definitely is. Servicing takes ~ 1 minute per month to click on "yeah, let's apply those updates and reboot". Peace of mind with no worrying on external hardware won't work or monitor will have issues or laptop won't sleep or during the call battery will discharge faster due to lack of hardware acceleration or noise cancellation not working or ...
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?
LAMP stack worked for me perfectly on Linux out of the box, whether Ubuntu Server or any RHEL-based distro (even with SELinux enabled!).
I spent some solid 8+ hours on that, saw it uneconomical and went the VM way.
Is it still broken?
That being said, there is a performance impact.
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].
[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.
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)
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?
I can't find a definitive source with an open ticket but if you Google around for "WSL 2 systemd delay startup" you'll find assorted folks talking it about with a number of different reasons.
I just went by my end results of there is a delay with systemd enabled and no delay with it disabled.
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
Maybe it's specific to Windows 10 Pro, who knows. I'm using the latest WSL 2 from the MS app store.
I just know when I installed Docker directly into WSL 2, when I launched a terminal I could not run `docker info` and connect to the Docker daemon for 2 minutes. The culprit was the Docker service was not available. I was able to reproduce this on Arch and Ubuntu distros.
Separate to that systemd also delayed a terminal from opening for ~15 seconds (unrelated to Docker).
After ~10 minutes of the terminal being closed, both issues happened. They went away as soon as I disabled systemd.
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.
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.
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.
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.
That said, the kernel they distribute is open source and you're not limited to just the distros they're working with directly. There are a number of third party (e.g. there's no Arch from Arch or Microsoft, but there's a completely compatible third party package that gives you Arch in WSL2)
I'm pretty sure that with the opensourcing, we'll see freebsd or more exotic systems popping up quite quickly. Heck, macOS would be fun!
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.
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.
Is VMWare more powerful than Linux?
wsl works good enough.
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.