1. Using Cygwin, Cygwin's X12 server and ssh X forwarding to run Linux apps on Windows that were actually running in VirtualBox.
2. Same thing with Cygwin X server but running everything in WSL1.
3. Trying to natively compile things for Cygwin.
4. Using Docker for Windows to run specific apps, although this is fairly similar to #1.
5. Straight Hyper V Debian... Networking was such a pain I went back to VirtualBox.
I haven't messed with WSL2 yet but I imagine it'll be some cross of #1 and #2.
Compiling stuff in Cygwin was a pain somewhat, still took hours to compile seemingly every dependency if the thing you wanted wasn't in the Cygwin package managers. The X server is rock solid though.
The WSL1 sure is a neat idea but I can understand that being a dead end street so they hopped to virtualization.
Another commenter mentioned ChromeOS and I really dig how they made that work. Even better than OSX. Recently I got a Pinebook Pro and running arch it seems I have to run a Debian container and forward X for so much stuff I'm thinking about just going to Debian straight away, but I may lose some support for some things I'm not sure.
Edit: I forgot there is I think a closed source X server for Windows that is still free that supports some of OpenGL. I managed to get Kitty (terminal) running on that.