Windows 10 2004

These version numbers are strange, especially since they don't contain the dot that makes it clear that this actually means 2020-04, like Ubuntu's versioning scheme helpfully does. And of course Windows releases come without cutesy animal nick names (at least not publicly?!?)

WSL 2 – The Kernel within

Window 2004 was of special interest to me as it comes with support for WSL2 – a much improved version of the (again, weird name) Windows Subsystem for Linux. This time, instead of trying to do a cleanroom implementation of the Linux Kernel APIs (a brilliant and equally stupid idea), WSL2 actually runs a real Linux Kernel within Microsofts VM platform. This has a couple of benefits, with the biggest one being massively improved performance, specifically in accessing disks, for both the virtualised Linux file system but also the Windows filesystem that gets mapped in. WSL1's performance when Disk i/o was involved was absymal. On WSL2 it's, well, adequate. Of course a modern Linux distro running on the same machine on bare metal runs circles around it, but it's good enough to not be super frustrating.

My experience so far

I've been running 2004 now for as long as it is out, so almost a month, and I must say, the benefit of not having to reboot every now and then when I need to access stuff in Windows is bigger than I expected, even with todays quick boot times.

Also: Windows Terminal. Not exactly at feature parity with my Linux favourite K KiTTY, it is a pretty damn good terminal, with Tabs, Panes, a good configuration system and adequate compatibility.

Here's how my development setup currently looks like: All projects are on the Linux file system and I run them in the WSL shell. The most surprising thing might be my choice of editor: I had a bunch of interop issues when pointing SublimeText directly at the Linux filesystem – It works but it gets line endings wrong and sometimes file changes are not picked up. Probably things that are specific to WSL2 and will get ironed out over time, but there is a sort of solution: I'm running an XServer (x410 in my case, which is probably a nicely packaged version of XMing and has good configurability) and then start SublimeText from within WSL. It was a bit tricky to get this working, since it needs a bit of Firewall config on stock Windows, but it now works fine and while I haven't yet figured out how to scale the UI in a way that doesn't look blurry, it's a workable solution. Performance in the editor seems fine for the most part. SublimeMerge also then runs from within WSL as I had even more interop problems with it.

Automation

This sounds like a super hacky solution but it feels much better than that. Apart from the initial setup that was a bit tricky (but is somewhat documented on the web) and some interesting things that need to go into your .zshrc to make things work, everything works pretty much as expected. Runlevels are currently not supported but systemd scripts work, so I also have to do sudo /etc/init.d/postgres start (which fits my brain better than the systemctl alternative. I'm old) every time I start a session. People built scripts to automate that, but I quite like the fact that I can decide myself if the database should run or not.

So far I have only seldom booted into my Ubuntu to look up stuff or push stuff I forgot to a git repo. I do miss Evolution a bit as an Email client (and somehow expect to have a lot of hoops to jump through to get that beast working in WSL) but Thunderbird isn't so bad.

Putting the ow in audio.

One thing I certainly don't miss is Linux audio trouble. It's still the main sore spot in my Linux experience and given that I do a lot of Audio, I ran into all the issues. Now, Audio and (even more so) MIDI aren't great on Windows, it's the one thing that I miss from macOS, but if I understand it correctly, things haven't exactly improved there either and in general, specifically with my current setup, I'm quite happy with the stability.

Reclaim the space

I'll definitely continue this experiment and if it turns out that I don't need Linux anymore, at least not in pure form, I'll happily delete the partitions and reclaim the disk space. Dual boot systems are never great, but especially my Laptop, that extra space will be well received.