
WSL 2 is now available in Windows Insiders - ingve
https://devblogs.microsoft.com/commandline/wsl-2-is-now-available-in-windows-insiders/
======
molticrystal
The source code Microsoft's fork of the kernel can be downloaded here:

[https://thirdpartysource.microsoft.com/download/Windows%20Su...](https://thirdpartysource.microsoft.com/download/Windows%20Subsystem%20for%20Linux%20v2/May%202019/WSLv2-Linux-
Kernel-master.zip)

------
kyriakos
Does this mean that other virtualization software like virtual box will no
longer work?

~~~
joecool1029
Correct, as WSL 2 requires Hyper-V.

~~~
moondev
It looks like virtualbox 6 supports using hyper-v as the virtualization
engine: [https://docs.oracle.com/cd/E97728_01/F12470/html/hyperv-
inte...](https://docs.oracle.com/cd/E97728_01/F12470/html/hyperv-integ.html)

------
pstuart
Yes! I hope this lights a fire under Apple's butt.

~~~
wahern
Why? WSL 2 is a regression from WSL 1.

WSL 2 is just a Linux kernel inside a VM with some VMWare-like drivers for
filesystem and network access.

WSL 1 made Windows an alternative implementation of the Linux kernel. Every
process was a native Windows process, syscalls trapped into the Windows
kernel, etc. Operations like open, read, and write ultimately operated on the
NTFS volume directly, without being serialized across an IPC channel.

But this no doubt scared the bejebus out of some Microsoft executives as it
would have put the final nail in the coffin of Windows as a target for back-
end server development--you'd just use POSIX and Linux-specific interfaces
because they'd be available everywhere, and in fact you wouldn't even need to
recompile your applications.

~~~
whereistimbo
More like they don't want to spend resources anymore after reports of bugs,
slow filesystem performance, missing syscall, etc. Piggybacking Linux kernel
developement is cheaper and less hassle.

~~~
wahern
1) If WSL is a proper product they'll be supporting it no matter what.

2) Filesystem performance is even slower with WSL 2. I'm sure this will
improve, but they could have expended that energy on WSL 1, where it would
have been categorically easier and more efficient. On the other hand, a virtio
filesystem device was recently finalized so if they wanted to go the VM route
they really didn't have to do _anything_ but wait another couple months, at
most.

3) They're maintaining a fork of the Linux kernel, which is significant work
by itself. The syscall surface of Linux is quite small relative to the whole
kernel. Most syscalls can be trivially implemented (and were, in WSL!) as thin
wrappers around native NT capabilities. Many of the rest are comparatively
easy to reimplement, especially once you have a fixed target to emulate. In
terms of pace of development, they don't really need to do any better than
RHEL, where enterprises are happy with Linux kernels and features years behind
the tip of Linus' branch. And, frankly, if WSL 1 saw wide uptake it could have
actually competed with mainline Linux in terms of the features and behaviors
people depended on. If, for example, Microsoft refused to implement something
like JIT'd BPF, it may have blunted and even stopped BPF momentum.

WSL 1 was interesting and potentially a game changer. WSL 2 is destined to
disappear because there's very little value Microsoft can add which would
require them to invest in WSL 2. The existing VM ecosystem, including their
own generic VM framework, is more than adequate and will continue to only get
better, regardless of WSL. All the problems are solved or are currently being
solved by platform-independent, Linux-independent virtio specifications.
Microsoft just needs to implement them in their hypervisor framework and
they'll work with Linux, OpenBSD, and other OSs.

I think it's clear as day what happened: WSL 1 was a threat to the Windows API
so it got axed. It was too radical even for Satya Nadella's Microsoft.

