Comment by c7b

10 hours ago

My memory is a bit foggy, but the original WSL promised a much more ambitious integration with Windows, sort of container-like. It had a lot of rough edges when I first tried it, but they promised they'd work on it. That, together with their promise that W10 would be the 'last' Windows and they'd switch to a more OSX-style rolling release model was what pushed me to adopt Windows in ~2016. In the first years of Nadella it really felt like MS would listen to developers. Within less than two years iirc they'd given up on the WSL ambition, with WSL2 being a mere VM with noticeably worse performance for some of my workloads, and completely reneged on their W10 promise, even vowing to make my newly purchased hardware obsolete.

In summary, I really couldn't care less what improvements they make to WSL, and neither should anyone else, imho. If you want Linux, for the love of god just use Linux. Emulation works great the other way round by now.

I'll agree WSL1 was more of a commitment to Windows Kernel. but I've found WSL2 performance to be great unless the plan9 filesystem is used.

and I am using linux. When I execute code, it's executing via the Linux kernel, on the cpu . This is not an emulator . Intel has had hardware virtualization for ~ 25 years or more.

Do you run your workloads on Windows partitions/filesystem but using WSL2 as the runner? That's how you end up with abysmal performance.

We tested this in the office with equal laptops. CPU workloads have almost no VM overhead and the C++ / Rust compilation workloads on purely WSL2 virtual disk image is only 2% slower.

Yes WSL1 was more ambitious but the fundamental differences in the NT and POSIX makes it quite hard and CPU workloads suffered.

  • Yes, I don't remember what it was, probably something with file sync, but I remember I kept a WSL1 instance for some stuff for a long time. Rust tooling worked great in WSL2, as long as you stay inside the VM, can confirm.

MS Office is notoriously resistant to running in Wine (haven't tried it myself) and, with all love to LubreOffuce, it's clearly the poor relation.

I've usually been able to get windows software running, but it's not always easy. I borrow my wife's laptop to reprogram my gaming mouse, for example. Couldn't be bothered any longer to dick about with wine.

But this is slightly beside the point: many have to use the allotted machines at work, which will tend to be windows (or maybe mac). That's the audience for WSL. It is an escape hatch for wage slaves.

The original WSL translated syscalls. It was a very tight integration. It was not perfect, and i should think it was a massive ongoing effort. I think it's an elegant approach bit i can see why wsl2 is essentially a vm. I never did any benchmarking, but i suspect that what wsl2 loses in disk performance, it gains in kernel performance. I never found either variant slow, and my corporate laptop was shit. My vagrant stack was diabolically slow, though.

  • Try WinBoat, it's different technology and works really well. Haven't tested with Office specifically though.

I have no problem with WSL2 being a VM of sorts if thet at least had VirtualBox of 2010 vintage features like properly integrating USB devices, not whatever this usbipd crap is, or a window manager that doesn’t inexplicably die and require a full machine restart.