Last week, I built this Linux gaming PC on a livestream.
I decided it was time to upgrade from my HP desktop with its integrated graphics and dumb
proprietary motherboard.
That desktop is rated W for the wrath of GamersNexus!
The HP couldn't play Halo 3 at 60 fps, so I figured this upgrade would be a success
if I could achieve that on Linux with Steam and Proton.
I was encouraged after I watched Linus' series on gaming on Linux, because last time I'd
tried was in 2020, on a Kubuntu Focus laptop, and my experience wasn't that great back then.
I decided to install Ubuntu Linux, and that resulted in over two hours tryin' to get graphics
card drivers installed, instead of playing games.
Of course that was disappointing, but I learned a lot from that experience, and from further
testing the rest of last week, and I wanted to share what I learned in this video.
And tl;dr before you start commenting mid-video about my decisions: the main problem was the
version of Ubuntu I installed was too old to have the right driver pre-installed, and
yes, the best answer would be to use a more bleeding-edge Linux distro, but that's not
the most important thing I learned.
First of all, a lotta people have already asked: why not just install Windows?
I mean, if you're gonna install Windows-only games, doesn't Windows make more sense?
Well, as I mentioned last week, I'm a Mac user for my workstation, and I run Linux on
all my servers.
I hate the idea of licensing for an operating system, and Windows just doesn't do it for
me.
Plus I really wanted to test gaming on Linux, especially after Valve started building the
Steam Deck and Steam OS.
So Linux it is.
But why Ubuntu?
Well, that's a more complicated decision.
Searching on the Internet, you'll find a thousand lists of 'top Linux distros for gaming', and
every one of them is different.
Everyone has their own opinion.
This is probably the main reason I don't know if there will ever be a 'year of the Linux
desktop'.
Because there are so many options, and because many of them are good, and because so many
people have their favorite distro and will die on a hill defending it, new users are
faced with analysis paralysis.
Heck, the best illustration of someone getting burned by that is in Linus' first video on
gaming on Linux.
He installed `Pop!OS` because so many users are nuts over it, but then when he encountered
a problem with the installation, he pasted in a random command and eventually nuked the
entire install.
I don't blame Linus—heck, on my livestream I ended up trying some random dumb things
people were commenting in live chat.
There are too many footguns in Linux, and the biggest problem in my mind is the fact
that half the Internet is full of bad information that might solve a problem in one use case,
but causes ten others for anyone else.
And those distros, I mean, all stream long, I had people telling me that Ubuntu was the
best option.
Or the worst.
Or I was smart for choosing the LTS release.
Or dumb.
Or that I should've chosen Fedora, Majaro, Pop OS, Mint, Arch, or one of another dozen
or so distros.
But I stuck with Ubuntu LTS, for three reasons.
First, I'm familiar with Debian-based distros, so Ubuntu is comfortable.
And I know from past experiences that Ubuntu's default desktop environment is pretty stable,
and is about as simple to use as macOS.
Second, almost all the most popular distros seem to be based on Ubuntu anyways, so why
not choose the 'parent' distro directly?
Third, I chose the LTS because it's listed first, it seems like it has better support
according to the Ubuntu download page, and AMD's own driver release notes mention Ubuntu
20.04, not 21.10.
So what could go wrong?
Well, a lot, apparently.
After assembling the computer, and figuring out I had to mash the F12 key to boot into
the USB installer, I installed Ubuntu 20.04 and then Phoronix Test Suite.
Phoronix is a great tool for running any kind of benchmark on Linux, and I chose to run
the Heaven benchmark to see how fast the RX 6700 XT would be.
And that's when I realized I'd need to do some more work.
The rendering was crawling at literally one frame per second.
So I googled "RX 6700 XT Ubuntu Driver", and clicked on the first result.
That was my first mistake.
I downloaded the 20.50 driver using the link on AMD's website, because that was the first
search result.
What I didn't realize at the time was the 20.50 driver was a couple years old, and I
should've downloaded the 21.50 driver instead.
But I plunged forward anyways, and ended up breaking that install.
I spent a bit of time running other benchmarks, and was happy to see my Ryzen 5 5600X beating
the average scores on Benchmarking.org for video encoding and kernel compiles, at least.
But I eventually tried to do an in-place upgrade from Ubuntu 20.04 to 21.10, using Ubuntu's
`do-release-upgrade` tool.
That kind of upgrade is always risky, and in this case it actually made things worse.
I was getting 1080p initially, but now the monitor was stuck on 1024x768!
So later in the stream, after people in chat were saying to mess around with Mesa and Wayland,
two things I know I'd just blow up even more during a live stream, I decided to wrap it
up and dig in without everyone watching over my shoulder.
I saw some commenters point out my mistake downloading the wrong driver version.
So I erased the drive completely, and installed a fresh copy of Ubuntu 20.04, then tried installing
the latest driver version from AMD's website.
This time, I took the time to do everything exactly like their website says, and I still
ran into an installation problem.
At this point, I had two choices: spend potentially hours futzing around with packages and desktop
environments, or just try the latest OS release.
So I went with the more bleeding-edge Ubuntu 21.10.
After I installed it, I opened up the screen settings and could tell the driver was working
right away, since I could set my monitor's refresh rate to 144 Hz.
And running Heaven was a much more 'Heavenly' experience, with an average of 242 frames
per second.
A few people I trust also recommended Fedora, so I installed Fedora 35.
Besides the background image being different, the desktop environment was nearly identical
to Ubuntu's, and it also worked with my graphics card right out of the box.
To finish my gaming tests on both Ubuntu and Fedora, I installed Steam, which was easy
enough to do either by downloading from Steam's website on Ubuntu, or installing from the
Software app on Fedora.
I signed in, enabled Proton in Steam's settings, then waited for Halo's MCC to download.
I launched it with easy anti-cheat enabled, hoping I could play multiplayer, and waited
for the Halo 3 campaign to download.
The campaign ran fine, and I uncapped the framerate limit and quality settings, and
it played great.
But if I tried online multiplayer, I got an 'Anti-cheat Incident' warning that said Easy
Anti-Cheat wasn't enabled.
So it looks like Microsoft still needs to update MCC to get multiplayer working with
Linux.
At least the campaign is as fun as ever.
So in the end, the problem was my fault.
But like many things in Linux, because I choose the wrong path starting out, it took me a
while to find the problem.
And for people new to Linux, especially if they don't come with years of experience running
Linux headless on servers, like I did, it's not easy to know the right path.
It's especially difficult because of the responses you get when you go ask for help.
Throughout the live stream, everyone would question my distro choice, and everyone seemed
to offer a different opinion about which one I should've installed.
Use Arch!
Use Mint!
Ubuntu's terrible!
Ubuntu's awesome!"
I'm used to that level of noise, and I have a pretty thick skin, so when people question
my intelligence, I read past that and still figure out the problem.
But for someone who might be getting into t
heir first Linux build, it's maddening, and can quickly turn someone off from Linux forever.
Over in the Windows world, the hardest OS decision is whether to install Windows 10
or suck it up and install Vista—er, I mean Windows 11.
And on macOS, nobody cares because nobody games on Macs.
Though I would like to see how far we could take Asahi Linux, once it gets more stable.
I did wanna mention a few encouraging things I learned:
First, when I did install the right distro, everything just worked.
You might not think that's much, but five or ten years ago, that wasn't the experience
you'd get with Linux.
Unlike my experience using random hardware on the Raspberry Pi, I don't have to compile
kernels or custom modules.
I just installed the OS. and things like the 10 Gigabit Ethernet card I installed just
worked.
RGB lighting was easy to control with OpenRGB, though I haven't figured out how to control
the RAM's lighting yet.
And PWM fan control, energy saving, all that stuff worked.
I was able to start using the computer right away.
The last time I seriously gave it a try was on Kubuntu a couple years ago.
And at that time, I still encountered a few growing pains.
It's gotten a lot better.
But if there's anything I hope you take away from this video, it's be kind.
If someone posts something that seems boneheaded and stupid, don't waste your breath pointing
that out.
We were all noobs at some point, and we all made the same mistakes.
Instead, give a gentle suggestion about how to do it the right way, or just don't say
anything at all.
The problem of first time users being barraged with borderline-toxic responses probably won't
ever go away completely.
But we can all do our part welcoming new members into the Linux community, especially as the
Steam Deck is gonna bring in a new generation.
Until next time, I'm Jeff Geerling.