The Linux Experiment

Where’s the fun in life if you don’t step outside your comfort zone a bit?

For the longest time, I’ve been down on Linux mostly out of spite. I don’t hate the OS as a concept, and have actually run Ubuntu a few times on old hardware just to play with it for a bit. The spite comes from the toxic Linux evangelists, who will use damn near any inconvenience macOS/Windows throws at you to justify being a smug asshole about things and saying “well, this wouldn’t be a problem…if you used Linux.”

That sentiment has only grown louder in recent years, what with the release of Windows 10 and 11 and Microsoft treating Windows as an Operating-System-as-a-Service, and many people disagreeing with this. Frankly, I’d count myself among them. I don’t like the direction Windows is going in, but at the same time it hasn’t regressed such that I’m ready to throw away decades of knowledge in how to work it to switch cold turkey to Linux. I could do this with things like web browsers (and have) because for the most part Firefox works with all the same things Chrome does and enough of the UI paradigms are the same that the switch isn’t a super big deal. But OSes? That’s a whole other magnitude of change to make.

(It’s also doubtful that–barring Microsoft doing something seriously heinous–that Windows will ever approach that point of forcing me to alternatives. So long as I can smack Windows back in line with utilities such as ShutUp10, and the Group Policy Editor continues to exist, Windows will exist in this space of being Just Fine, I Guess.)

That said I could see some situations where it might be worth it: If you’ve got older hardware that you’re not willing to let go of just yet but want to give it a second life whereas everyone else has moved on? Linux can be great for that. Linux is also arguably great if you set it up for someone who strictly just wants to do the basics and lives in a web browser and that’s it. Modern Linux has plenty of guardrails constructed around that kind of use case. My biggest gripe with Linux is and always has been 1. The evangelists, but more importantly, 2. The minute you need to deviate from the distro’s vision and go off the rails a little bit, the difficulty increases exponentially.

For example, I remember in Ubuntu one of my monitors wasn’t being picked up correctly and the only way to fix it if it wasn’t “just working”…was to have to jump into the terminal and dig deep down into some stuff that made my head spin. Not a good look. But that was also many, many years ago.

Hence, The Linux Experiment: I want to stick a 2nd SSD into my main machine and install a flavor of Linux and use it exactly as I would if one of those evangelists told me to do so. This means:

  • I want to use it as a regular user.
  • I want to use it on my main machine, because most regular users don’t have multiple machines.
  • I want to use it on bare metal, because most regular users aren’t going to know how to spin up VMs.
  • I want to use it without relying on having to Google stuff as much as possible, just to see how intuitive it is.

Pick-a-distro

This process really brings to mind the whole Twitter exodus of 2022, when Mastodon was being held up as the alternative and a good number of FOSS evangelists were parading in the streets telling everyone they should go over to Mastodon. Except back then, Mastodon wasn’t used to average users trying to join it. When people ran to join Mastodon, a good number of them hit this wall: What’s an instance? Which one should I pick? What do I do here?

That’s how I felt when asking around to see what distro is the agreed-upon distro to throw at new users. Except, to Mastodon’s credit, they did sort out that wall and the onboarding process is much smoother. Picking a Linux distro is…yeah. If you ask your tech-minded friends, chances are they’re going to just recommend what they use rather than what you should use when just getting your feet wet. I made it clear I wanted to approach this from the eyes of a regular, non-savvy user, and got a bunch of “you should try x distro” “no, you should try y distro!” “run it in a VM!” “but z distro is best!”

For better or worse, I think if we’re going to get anywhere remotely close to the fantasy that is the year of the Linux desktop, there needs to be an agreement on which distro is the one true distro to recommend to someone just starting out with Linux. Throwing a handful out there is more likely to make the average user just turn and run rather than give Linux an honest shake. Recommending a VM is also untenable, as the average user is going to have no idea how to set that up in their BIOS much less download the software and configure it to run. Expecting that of an average user is completely unreasonable.

That said, for my experiment, I eventually settled on Linux Mint, Cinnamon Edition.

Trouble Ahead

I downloaded Linux Mint Cinnamon Edge (that’s a mouthful) because I do have newer hardware (RTX 3070ti, Ryzen 7 5700X). Writing it to USB and getting it to boot was easy, but I just got stuck at a black screen. Booting in compatibility mode got the live OS to boot, and I was able to finish installing (before realizing it installed GRUB to the same SSD Windows Boot Manager was sitting on, which at the time made me freak out but thankfully Mint’s installer is fairly respectful of WBM and doesn’t overwrite it) but I couldn’t actually boot into Mint. It just froze up at my motherboard’s logo.

Just to check I did select WBM from GRUB’s boot menu, and it gracefully handed off to Windows and let it boot, so thankfully I hadn’t mistakenly killed my Windows install by doing this. Going to say that’s big ups for Mint, here. There have been times in the past where I mistakenly installed GRUB to my Windows partition and completely killed my Windows install, so the fact that I didn’t, here? That’s awesome. Really happy.

That said, I still didn’t have a bootable Mint install. I went back, grabbed regular Cinnamon, wrote it to the USB drive, and tried to boot and this time it booted just fine, no compatibility mode required. However, this highlighted another issue: Mint was now trying to cram four monitors’ worth of real estate into three monitors of space. Why? Because I have a fairly…eccentric audio setup.

Maybe it’s overkill, but I have a surround system, and the best way to pipe audio into it is via HDMI. This means–since PCs don’t support HDMI ARC–I have to have a phantom display so that any given OS can pass audio to my AV receiver. In Windows, I get around this by having the AV receiver output just mirror one of my monitors and that usually works well enough. In Mint, though, since it is completely unaware of this, it thinks there’s an actual display at the other end of that cable. But it also seems aware that there isn’t, because it’s trying to also render that display…on one of my three actual monitors. As you might expect, this causes…a few issues.

Most notably, this caused a huge discrepancy between where my mouse cursor was being displayed and where it actually was. My cursor would be displayed on monitor 3 but is actually active on monitor 1.

This sucked, but I also get that the average user doesn’t have such a complicated setup.

I managed to pop open the display options with some difficulty, and by using the drag to select feature that is so commonplace on pretty much every OS that exists today, was able to pinpoint where my mouse actually was, and was able to kill the extra displays and–finally–things were normal again. I could proceed with the install.

However, my heart sank when I rebooted into Mint (and it booted this time!) and the very same issue happened. Thankfully, the fix was easy. Going to Driver Manager and telling nouveau (which are open source Nvidia drivers) to sod off and to give me the proprietary drivers. Once those installed (and one reboot later)…everything was perfect, as it should be. Kind of. We still had the issue of the phantom display being part of the arrangement and needing to be dealt with.

Windows makes this simple, just drop into the display settings and tell it “Duplicate desktop on displays 2 and 4”. In Mint, at first, it seemed like I’d have to get real cozy with the command line (and, in most instances for this experiment, I consider needing to break out to the command line for basic functionality an instant fail)  and messing with xrandr, but this was not actually the case. Turns out with the Nvidia drivers they give you a control panel that allows you somewhat more intuitive control over your display arrangements and mirroring. With this, I was able to set my AV receiver’s position to “same as” one of my 1080p monitors. Hit Apply, and it’s done.

Now, upon leaving the Nvidia settings panel, it warned about pending changes not being saved. I laughed this off at first, because hey, things looked good! But I quickly found out what happened when I went to reboot. Nothing had saved. My AV receiver was once again a 4th display sitting on the edge of the array, and worse yet, Mint itself had forgotten which audio device was my actual output.

Turns out, the Nvidia settings panel was reminding me that I needed to have it save my settings to xorg.conf. Oh lovely. I dipped back in, did everything, and this time clicked the button to have it save and it threw an error. Oh, right, probably have to launch it with sudo privileges. Sigh. Drop into terminal, launch it with sudo privileges. Still didn’t work. A quick Google suggests that oh, xorg.conf is deprecated in Ubuntu/Mint, now! So, wait, how is the Nvidia settings panel supposed to save its changes if xorg.conf is gone/not used?

This also didn’t solve the fact that none of my audio settings were saving, either. I went to Google, but nothing I could find was much help. There were suggestions to just hit the terminal and make the xorg.conf file yourself, but I did decide to try that and it still didn’t work, even when manually adding the contents Nvidia’s settings panel wanted to add to it.

This was the point where I decided to slam the brakes on this experiment, because we had hit that point, the point at which I needed to jump over the guardrails just to configure something basic with my setup that Windows does with relative ease. And as expected, once you jump those guardrails, the difficulty curve is an upward facing cliff. I know some may claim I didn’t try hard enough, but this was the point at which–given the current state of Windows–my brain determined it was not worth it to leave decades of knowledge behind to try learning a new OS. Furthermore, having to break out to the command line for basic functionality, as mentioned earlier, is an instant fail. You cannot expect this of a regular user. Full stop.

That all said, I still feel Linux has come a long way. It used to be that to change basic things that Windows did with ease (more eccentric display arrangements, etc) you’d have to jump into the terminal. In this case, my main issue was that I was able to change things just fine in a GUI, but those changes weren’t saving and needed to be redone on every reboot. That sucked. And the fix for that is when I was told “yeah, you’re going to have to get into the weeds to have a hope at fixing this.” If that had never happened, this experiment would likely have lasted way longer than it did.

But it took a lot longer to hit that point of needing to go off into the weeds. I was able to install the basic set of software I use with zero issues: Discord comes in a package you can just double click to install. Telegram and Steam are available on Synaptic. I’m sure things get more complicated with more eccentric software, but just getting started on Linux felt way easier than it used to, and arguably for someone who can just live in a web browser and maybe a few other commonplace apps, Linux wouldn’t be half bad.

That all said, as much as I didn’t stick with Linux, I’m still glad I embarked on this small expedition because it did open my eyes a bit and I got to see how far Linux has come since I last gave it a serious try. I still wouldn’t blindly recommend it to Windows users for every little minor inconvenience they have, though. (Sit down, Linux evangelists. Seriously.)

But for someone who has very basic needs and has someone who can do all the nitty gritty setup for them? I could see Linux working pretty damn alright for those people.

Bonus: Games!

Since I said I installed Steam, I wanted to give some gaming a shot, to see just how well it all worked on Linux. I tried four games: Stardew Valley (which looks to be Linux-native), Metro Exodus (which is also Linux native, it looks, which shocked me), Warframe (needs Proton) and Unreal Tournament ’99 (also needs Proton).

Something to keep in mind if you’re following along with me here and wanting to do this for yourself: For most games you’ll need to right click them in the library list and go to their properties to force them into using Proton. They won’t “just” use Proton out of the box.

Warframe (Proton Experimental)

Updated and played just fine, was able to sign into my account and actually play a mission with graphics turned way up. It does seem to be compiling shaders on the fly though, because the first time I run through areas performance is kinda…not good. But subsequent visits? Smooth as butter. No complaints. Even did well wandering out into the open world maps.

Unreal Tournament ’99 (Proton Experimental)

Ran perfectly, couldn’t even tell I was running this on a Linux machine. Played a round of CTF on Facing Worlds. Everything exactly as it should be.

Stardew Valley (Native)

Fully expected this to run perfect, and it absolutely did.

Metro Exodus (Native)

This was the only one that had an issue. It kept trying to display on the wrong monitor, and worse, it was halfway outside of the display area. I tried to see if I could at least get into a menu to configure it, but unfortunately that seemed to be impossible, as the game would crash if I skipped the intro cinematic. going to hazard a guess that this is primarily the fault of my eccentric video setup.

That all said, I didn’t get to test it as much as I should have, but my brief experiment with Proton was nothing but good. Valve put in some work on Proton. I can see why Linux users are starting to say they don’t need Windows anymore. Proton just works extremely well for what it is.


Posted

in

by

Tags: