Hacker News new | ask | show | jobs
by qwerty456127 1914 days ago
Why? WSL1 was kind of interesting indeed, but WSL2 is just a VM, isn't it?
3 comments

I'm kinda curious if in some wild future WSL3 ends up being Windows completely ditching the NT kernel for linux kernel and building up wine to be a first class Windows API emulator.

It's just increasingly silly in the Azure and server space to be running Windows--you lose all the benefits of the container ecosystem and have all the baggage of decades of windows cruft (yes I know windows containers exist--no one uses them). Desktop usage has been in decline forever and I have to imagine they could get the 90% of windows API apps left that matter to work great on wine. It would give Microsoft a huge boost to get back in ARM by building on the linux kernel and its great support vs. windows ARM very limited set of qualcomm and a handful of other chips.

AFAIK Windows is still one of Microsoft’s golden geese. If they transitioned to Linux, they’d lose out on all that sweet, sweet licensing revenue. Which makes this seem unlikely to me.
Last I heard internally there hasn't even been an official Windows OS team for the last couple years after Myerson left. It's been divvied up and split apart into parts of Azure, etc.
The OP's point is Microsoft is still making billions of dollars selling millions of Windows annual licences to both personnel and corporate users.

If they were to discontinue Windows they would just be throwing away those billions of dollars in annual income.

Since Windows continues to make Microsoft such large amounts of 'easy money' they would be stupid to not keep pushing it out to customers.

I would recommend you to read this article by a former Canonical engineer - https://boxofcables.dev/no-microsoft-is-not-rebasing-windows...
Yes, technically it is, but it's the integration that makes it interesting.

Plus theres the simple reality that Microsoft's got native APIs in Windows that enable running a linux vm with a KDE window alongside the standard windows environment. Microsoft has really come a long way and that's what's really amazing and kind of disorienting.

You've been able to run Linux in Hyper-V for a decade now though, it's not really anything new beyond the client-side integration.
WSL2 uses it's own init system - only one kernel (plus a tiny initrd) is virtualized by hyper-v; each subsequent linux instance (distribution) is containerized. There's additional facilities that handle resource allocation dynamically vs the user specifying a static amount during VM creation.

These (and more) result in the end-user interacting with WSL2 the same way they would any normal application. To think of it as simply a VM isn't quite correct.

So I fired up Ubuntu first for my current WSL2... then I installed a Kali distribution.. are you saying that the Kali instance is really just a container inside the Ubuntu WSL2?
No. A minimal initrd + kernel is virtualized. Both Ubuntu and Kali are containers.
Ah gotcha. Neat stuff.
Sure but I could just run Ubuntu and containerd in a VM and it's the same thing. Or just run k8s instead...
Not quite. WSL2 dynamically uses resources as needed (`vmmem`), whereas a traditional VM requires allocating a fixed amount of RAM and CPU from the host machine.
on hyper-v windows is kind of a vm aswell.