Now what I don't get, and I'm not trolling here, is why would you want this? Isn't a VM a better option?
I assume people using Windows want to because of the UI, not the kernel. Whereas people generally choose Linux/Gnu/Unix for the kernel and OS environment, not the UI. With Ubuntu on Windows you get part of what people have wanted, and arguable the most important part people want.
Will people really want a Windows kernel, with Ubuntu/GNU OS tools, and Unity? I suspect most would still want the Windows UI.
If this is indeed close to native performance, you wouldn't get anywhere close to that with a VM. I could be oblivious to some optimization techniques but Linux VM's on Windows have always performed drastically worse than native.
Now this does not render WSL useless; launch time for any random small tool is better with WSL than booting a complete VM, the memory is not partitioned, integration with the Windows Drive FS is slightly better, etc. But tons of use cases are better covered by a VM -- and with a huge margin.
Mate, the thing isn't even released yet and you're bashing it (excuse the pun) for taking too long to open up a man page? Give me a break.
After it's actually released and the performance gets better then it is of course going to trump running a whole VM and to suggest otherwise is just FUD, IMO.
I think Win10 is quite good, and that WSL is quite good given its age, and will be extremely useful for a lot of things.
Still, if you try some workloads, WSL is way slower than a Linux VM. I don't expect it to change for the release. I don't even expect it to change for the 2 years to come. Sill, of course, I could be wrong.
But even so; I insist: WSL is actually quite impressive.
Suppose you're developing a cross-platform GUI application (hypothetically, its name could be "Visual Studio Code" or something like that...), and your main development environment is Windows. Now you can build and test it on Linux as part of your regular workflow, without having to sync code etc.
Heck, you could even make it so that launching the project (from a Windows IDE) would do a Linux build, and launch the resulting binary.
Please explain how it is better.
They've implemented the ABI/syscalls in the kernel allowing for direct execution of unmodified ELF64 binaries.
Which is why I asked about where people thought Unity on Windows would make sense. Because a VM will most likely generally give a better experience.
If you restrict yourself to bash and standard Unix tools, you'll end up with a similar experience to macOS and terminal (or my preference iTerm2)
Why does the implementation have to be identical? How would that even be possible, unless they violate the GPL. I don't get your point.
> Because a VM will most likely generally give a better experience.
Again, please explain WHY it would give a better experience. What do you see lacking?
VMware has basically abandoned Workstation, and the gfx performance is terrible. A native X server on Windows talking to the Linux subsystem seems like it might be decent.
And if this means somehow I can end up using more XMonad...
Also considering the state of graphics drivers on GNU/Linux and on Windows, it wouldn't surprise me if for some specific hardware configurations, the “perceived interactive performance“ (responsiveness) of the UI was actually higher on Ubuntu for Windows than on it running on top of the Linux kernel.
I'm hoping we can kill our current windows build, and require people install bash for windows.
When I asked how you tested, I was looking for a more detailed answer: what were the environments, the hardwares, what does the cli app you used do (CPU, IO, allocation etc.) (this you answered), etc.
---
I normally run a KDE session, which takes up some memory and the KDE ecosystem aren't the lightest users of syscalls (I'm looking at you Konsole), but when I need sheer perf (even for benchmarks), I kill all KDE sessions and switch to an openbox session running st.
I compared a standard Ubuntu install to a standard windows 10 install on a T420 Think pad.