Setting Up Arch Linux with KDE Plasma in Windows Subsystem for Linux 2
rashil2000.me
rashil2000.me
XDC 2020 talk here: https://www.youtube.com/watch?v=b2mnbyRgXkY&t=7975s
For Windows Insiders running preview builds, I believe some of the pieces are present but not preconfigured. The XDC 2020 conference talk discusses the advantages of the built-in support, including fewer memory copies and lower latency.
That's a bit disingenuous. WSL is generally irrelevant to a Linux user. I don't hear many discussions about pacman or yay amongst Windows users. OK, better analogy: I don't hear much about QEMU discussed by Windows users.
Good effort and nicely written up.
I happen to be a PHB that uses Arch and KDE (since I managed to get something like KDE 2.something to compile on my Slackware powered Pentium II back in the day.) I'm also a Windows sysadmin with 30 odd years under me belly errr belt.
Interesting that you chose QEMU and not, say, WINE, which definitely gets discussed even by Windows users. And, for that matter, is even more relevant since WSL also isn't an emulator.
As you said, a bit disingenuous.
Source: https://docs.microsoft.com/en-us/windows/wsl/compare-version...
I've no idea what WSL is as such (virty, para-virty, emulator or whatever) but I do know what WINE and QEMU are and I run quite a lot of VMware and Hyper-V clusters.
I have a fair few employees who insist that Windows is lovely (mad fools.) They really don't spend much time discussing Linux virty technologies.
It is possible I've been a Windows sysadmin longer than you have been on the planet. I'm 50 and 30 years in the saddle.
WSL is a taboo term in the Arch Linux community, for one reason or the other. If you search for it in the Wiki, you get redirected to the Code of Conduct.
It is less about being irrelevant and more of a "we do not want to deal with that in any official capacity because of unspecified reasons."
The whole structure of Arch, by contrast, makes having one-click installable images extraordinarily likely to be broken just for being out of date.
https://gitlab.archlinux.org/archlinux/service-agreements/-/...
It specifically redirects to the subheader "Arch Linux distribution support ONLY". I'd draw specific attention to "Posting issues with, and requesting support for, derivative distributions or operating systems other than Arch Linux are prohibited."
It sounds like they're taking a very hard stance against allowing discussion on anything but "arch linux as installed described by our documentation and using our repositories". I know Arch has a lot of spin off distros with custom repositories or configurations, and they probably get annoyed answering support questions for them.
It seems like a loss to me, since these WSL images are using "native" Arch repos/userlands except for the WSL2 kernel, but I guess they'd rather play it safe than sorry.
Is Microsoft comfortable with Wine, Proton, VKD3D, DXVK? Do they support or contribute to those projects?
Or even a better example, ReactOS. Should Microsoft support ReactOS?
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.
The main difference I encounter between WSL1 and WSL2 is that accessing files across the OS divide happens through a networked filesystem instead of a natively shared filesystem, so it's not as seamless/performant, but the upside is much better filesystem performance when it's Linux doing Linux things. Which I'm happy about when it comes to containers. (I run both WSL1 and WSL2 on different computers.)
Docker for Windows also now has WSL integration so that you can launch Linux containers directly into WSL. I don't think it's configured by default just because you have to choose to install WSL, but once you've flipped the requisite switches it's seamless.
This has been my biggest gripe with WSL and linux virtualization on windows. WSL1 wouldn't work with some weirdly mapped network drives we had and with WSL2 (and linux in general) I don't find the drivers (or samba or some other component) stable enough when you're doing large writes to NTFS drives, I've had the same issues with vmware too.
This is one of the big reasons I'm still on cygwin, it's worked for years (maybe decades), it interoperates with windows better and all the little bugs have been worked out. Ultimately it's then GNU tools I'm after, the kernel isn't particularly interesting for my use cases.
That’s an interesting take, and it makes sense that some people need properly hybrid setups. I personally used Cygwin mostly to have access to a Linux dev environment inside Windows, not so much to apply GNU tools to Windows development. As a result I’m pretty happy with WSL just for the sake of having a Linux dev environment within easy reach, and I typically don’t feel a need to do much with the shared file system.
Maybe someone will write the inverse of dxvk to allow Vulkan or GL apps to run on top of the DX12 driver.
Microsoft did. Mesa already has OpenGL to DX12 conversion, and they're working on Vulkan. https://docs.mesa3d.org/drivers/d3d12.html
Plus theres the simple reality that Microsoft's got native APIs in Windows that enable running a linux vm with a KDE window alongside the standard windows environment. Microsoft has really come a long way and that's what's really amazing and kind of disorienting.
These (and more) result in the end-user interacting with WSL2 the same way they would any normal application. To think of it as simply a VM isn't quite correct.
It's just increasingly silly in the Azure and server space to be running Windows--you lose all the benefits of the container ecosystem and have all the baggage of decades of windows cruft (yes I know windows containers exist--no one uses them). Desktop usage has been in decline forever and I have to imagine they could get the 90% of windows API apps left that matter to work great on wine. It would give Microsoft a huge boost to get back in ARM by building on the linux kernel and its great support vs. windows ARM very limited set of qualcomm and a handful of other chips.
If they were to discontinue Windows they would just be throwing away those billions of dollars in annual income.
Since Windows continues to make Microsoft such large amounts of 'easy money' they would be stupid to not keep pushing it out to customers.
One unique "feature" I like about the setup is how easy it is to just delete the container and start-over if I'm so inclined. I have an elaborate set of scripts to bootstrap a newly created Linux container on ChromeOS -- if anything goes wrong, I can just delete the container and re-run the bootstrap scripts.
I'm a big fan of where ChromeOS has headed and I like the containerized approach to the problem a lot. It's extremely close to getting to the point where I'd consider ChromeOS over MacOS for a work laptop, especially since they added Desk/workspaces support. I use ChromeOS exclusively at home and for personal dev now.
I assume IOMMU passthrough works pretty well, when available. Also, I’ve been pleasantly surprised by how well Steam’s proton works even with applications that aren’t officially supported.
Edit, responding to now-deleted reply:
> a good way to virtualize Windows that maintains decently high compatibility and performance with the games I want to play
Isn’t a normal VM with GPU passthrough that? I’m genuinely asking, because I’ve asked my original comment’s question several times before and never received answers except something about wanting to buy a computer with the OS installed from a brick-and-mortar retail store, which didn’t seem to apply to you given you’ve already installed GNU/Linux.
> I can lose out on a hobby I enjoy and pretend it's "growing up". Because as we all know games are for kids; adults who play them are manchildren.
I said personally because I personally have felt less addicted to games as I personally have grown older. Of course most people are different from me in many ways, but I don’t think everyone is in every one.
I'd legit rather kill myself than use Windows as my primary OS, so I dual-boot, but I'm frankly interested in that too. Not for games though, but for real-time audio. Does anyone have any experience with running a DAW on a Windows VM? Is it worth the effort?
Hardware passthrough does exist and I only expect it to improve, but we're still a ways from reaching "just works" level.
Of course it helps that RDP and freeRDP both work very well. Whenever I need Windows I just fired up and I'm there instantly. If I want to play a game I go over to my gaming machine. Personally I never mix games and business.
imo, windows primary with WSL is the new standard to beat as far as working environment. I cannot even imagine going back to osx or using linux as my primary OS anymore.
It's actually quite nice to have a "real" linux instance available on virtually any Windows machine. I believe Microsoft is targeting the "developer who uses a Mac" market share with WSL2 and I expect more and more to jump ship, as the experience is significantly better.