UPDATE, June 27th, 2023: I’ve decided to make the switch. I wrote about it on Mastodon (no embed? Click here!)
ORIGINAL POST: For the longest time, I’ve wanted to transition my secondary Windows workstation — I normally operate off an M2 MacBook Pro docked to a monitor — to Pop!_OS Linux from System76 permanently, instead of occasionally throwing it on there to test out. I’ve found Windows 11 to be a bug-ridden, data harvesting mess. However, this obviously presents itself some roadblocks.
Let’s talk about why I really want to move first, then the problems I’ve found myself thinking about.
Why move to Linux *from* Windows? Isn’t Linux less compatible over all?
I’ll tackle the compatibility question first: In a way, yes, it is “less compatible” overall. Some software requires a compatibility layer like Wine, some requires knowledge of the command line, some may outright call for a virtual machine. There are downsides and upsides to each operating system out there, and there’s no perfect answer to what’s going to be the best fit for anyone, really. It all depends on what you need from it.
So then, what’s your problem with Windows?
The issue for me is the way Windows has gotten progressively worse since the introduction of Windows 10 (I never had issues with 8.1, sue me.) I got used to it, then Windows 11 was introduced for some reason. Each system I’ve ran on Windows 11 has had some sort of bad corruption issue caused by one of Microsoft’s “phone home” services that are deeply embedded into the system. Disabling as much data collection as possible and rolling back to the latest System Restore point fixes the problem.
Nowadays, it seems like every time I look away, there’s some sort of new thing. Microsoft kneecapping and drowning out their competing browsers, forcing people to look at and/or otherwise push their god awful Edge browser down people’s throats, or breaking a really basic feature of their OS. (P.S. Please for the love of God, don’t use Edge.)
The worst offender is the Microsoft account sign-in “feature” — I’ve avoided signing in with an online account on any of my Windows devices since 2018 due to a hack I experienced the year prior that was caused by using one. You can easily bypass this, and you absolutely should.
The way Microsoft is acting is unacceptable, but this is not entirely unheard of. No, they still haven’t done what they were supposed to do re: that settlement. Microsoft simply paid the money and walked away, “cost of doing business” style. The fact that the world’s governments let them get away with this sort of behaviour is unacceptable. But it is too late now.
Are you an “experienced Linux user” then? And why choose Pop!_OS?
Yeah, I’d consider myself in the “intermediate” category of Linux users, to be honest. I grew up using Linux because my grandfather uses Ubuntu. My “server” (old repurposed computer) runs Debian. My familiarity with the inner-workings of the kernel and the Debian-and-derivative environments I’ve grown up with would help my transition to Linux.
Pop!_OS comes with the NVIDIA drivers built-in to a dedicated “ISO” (disc image) file, support for hybrid graphics (which my secondary computer has) out-of-the-box with no need for a GNOME extension or separate packages, and has sane defaults that make it super simple to tinker and go. I considered NixOS on account of the fact that industry friend Mike Kelly uses and highly recommends it, but I decided it wouldn’t work for what I need this particular system to do. And, as I mentioned, I’m more familiar with the Debian-based side of Linux distros anyway.
All of that being said, a move like this would not be without potential or actual issues… so let’s talk about those.
The problems (potential or actual)
Alright, now let’s get into each problem area… and a potential workaround from poking around on Loopy’s forums, GitHub, and Reddit.
Discord’s abysmal Linux support
NOTICE: I do have some connections at Discord, but the opinions expressed are strictly my own.
I use Discord to communicate with my friends and my job as a developer at rverse, and I happen to use screen sharing all the time. Unfortunately, even despite PipeWire being an absolute beast of an audio server (something I’ve been jealous of for months now), Discord on Linux has lagged behind the Windows and macOS counterparts. No audio when you screen share, no Discord overlay support (as far as I know), etc.
Frankly, I do think this could be resolved with PipeWire, since PulseAudio was the standard when Discord for Linux was originally conceived, and I really hope it happens. I’m aware a third-party client exists for this exact purpose, but such clients are against Discord’s terms and using one can result in getting banned from the platform.
I should at least mention that a recent update did finally bring the Krisp noise suppression to Linux, according to some people I know who also daily drive a Linux system, but it came years after Windows and Mac got it.
A worry of mine is that drivers for some of my equipment may not necessarily be a thing on Linux yet. Linus from LTT ran into this with his GoXLR a while back — and given how much I’ve accumulated over the years since I previously daily drove a Linux system, I honestly have my doubts about this. As we’ll see in the next section, third party tools do exist with caveats and workarounds, so maybe it’s not an issue.
From a base level, at least, I’ve glanced through the mainline tree and everything I need appears to currently be in there, and in the latest stable releases from Greg Kroah-Hartman, so it’s probably fine? Definitely better than having to manually rebuild my Wi-Fi drivers every time I restarted my system a couple years ago… But I digress.
Game and software support (even with Proton)
Support for gaming is still in its infancy on Linux. Yes, it’s further than it was just a couple years ago thanks to tools like Valve’s Proton compatibility layer (a fork of Wine) and its fork Proton-GE from GloriousEggroll, but it’s not perfect and has a ways to go. Most notably with anti-cheat support. Even with the Steam Deck being well over a year old — things haven’t really improved on this front.
Since I use this computer to play games (because Mac gaming isn’t really a thing, especially on Apple silicon), this matters a lot to me. I can get around the hurdles with software support (things that won’t work under Wine) in general with my MacBook, but games are a drastically different beast. The developers of the games themselves need to handle the anti-cheat problem, but as for the others — Proton and Proton-GE could get fixes for them down the line. Both get regular releases which add support for various games (and patches them up, too.)
3DS Capture Software
I just acquired a Loopy capture board (which my dad installed and is working great) for my New Nintendo 3DS XL, and Loopy’s official software (which has audio support) only exists on Windows. That said: I’m pulling the audio into an interface over line-in anyways, in order to sync up commentary and video portions, so this doesn’t matter. In other words, I only really need a viewer, the recording portion of the software doesn’t matter to me because it’s getting pulled into OBS. It’s mainly the convenience of having it just in case that gets me hung up.
There does exist a free and open-source program from Chris Malnick that is apparently compatible and works on both macOS and Linux — although you have to build it from scratch. Not exactly a pain for someone like me, Terminals and I are really good friends, and I’m definitely no stranger to software development… but it might be a pain for a novice. And of course, executing any code from GitHub does come with an inherent risk that it may hurt your system in some way. You never really know these days, and you can never be too careful.
Conclusion: It’s complicated
There are definitely benefits to switching off from Windows — no unnecessary data collection, no Edge browser getting shoved down the throat, no performance overhead or memory leaks — but I’d be giving up the de facto application support for unofficial workarounds and would need to use virtual machines to access Windows-only software in the event that I need it. It just doesn’t sound very attractive. But then again, neither is Windows 11…
Don’t get me wrong: I want to leave Windows for literally anything else. But I feel trapped and might need some assistance getting free.