April 3, 2020

Adventures in Low-End PC Gaming

A geeky look at how to have fun on the cheap.

3:56 AM, July 24, 2035
Inland Malden, a fictional Mediterranean Island

Deep behind enemy lines, my Special Forces team of four has been tasked with eliminating an enemy mortar position. Before a larger invasion begins, this particularly pesky battery must be silenced. Its location seems to be constantly changing, however, necessitating a more precise strike.

Donning night vision goggles, we make our way down a tree-filled valley. Lights at a nearby farmhouse can be seen even without the goggles, where a few presumably bored guards on night watch mill around. Forewarned that it would be best to avoid getting too close to any enemy encampments, I lead my team to the fringes of the woods at the mouth of the valley, where crops of grapes or perhaps olives cover the open terrain around the farmhouse. Around shoulder height, the cultivated rows of vegetation provide convenient channels for us to creep along unnoticed in the dark.

The rows end near a gravel road. We spot an enemy patrol as well as a large flatbed truck. It would be best to remain invisible and avoid a firefight—but too late! Bullets start flying and we hit the deck. Firing off silenced shots at the enemies we can see, we score a few hits and diminish the frequency of the decidedly un-silenced assault-rifle fire coming our direction. My grenadier, poking out to get a better look, takes a bullet and drops. Nothing we can do for him now. After picking off a few additional enemies, things go quiet.

On the back of the nearby truck sits the mortar, abandoned during the firefight. No wonder Command could not get ahold of its location—the crafty buggers had been driving it around! Placing an explosive charge on it, we retreat back into cover before detonating it. A brief firework illuminates the now-lightening sky. Command radios in to say “Great work!” but that there has also been a report of heavy armour in the area—so would we be so kind as to go and investigate that location?

Naturally, the farmhouse is right between us and the suspected location of the armour. The vegetation gets especially thin nearer the house, while the far side is bounded by the hill adjacent to the valley we had originally exited. We work our way through what sparse cover we can find, grateful for the dwindling cover of darkness. A few more guards emerge from the house, and we exchange pot shots at each other while my team of three dashes into another clump of trees.

Putting some distance between us and the house now that we again have cover to move through, my rifleman falls behind, limping from a shot to the leg. I command the other remaining member of my team, a medic, to patch him up. The sun is now up, so we lose the night-vision goggles. Deeper into the woods, we approach the location of the armour. There are no signs of motion from a distance, and, inching closer, I see some large, dark objects on the forest floor. Rusted tanks from a bygone war! The rumoured armour was more than a few decades past being a threat to anyone.

Command, always sticking to business, issues yet another request: mortar fire has resumed from a nearby location, and would we deal with it now please? With the daylight it is easier to travel—but also easier to be seen. We work our way through some woods, then cross a road and head up a wooded hill. The mortar appears to be firing from a location beyond the crest of the hill.

Another urgent call from Command comes in: take the mortar out already! Double time!

Running full-tilt across the crest of the hill, we see a few small buildings in a clearing. In my haste I’ve exposed myself and my team to a couple of guards protecting the mortar crew. I dive behind a rock as the bullets start flying. With a mix of grenades and bullets, I manage to eliminate the guards and mortar crew and somehow remain unscathed. But in the chaos, both of my remaining teammates were not so fortunate and have been killed. To make matters worse, Command calls in to say that we were too slow in eliminating the mortar and that they are about to target it from afar with something very explosive—high time for us (now only me) to leave! Though the mortar crew is gone, the hardware is still a threat until it is neutralized.

But what’s this? A crate of explosives by the mortar. I snatch one, throw it near the mortar and high-tail it back toward the hill crest.

Boom! I detonate the battery. Command calls in, saying that I have cut it way too freaking close but would no longer have to worry about being blown to bits by friendly artillery.

I work my way through various clusters of trees toward the entrance valley—now my exit. Giving the farmhouse by the mouth of the valley a wide berth, I see an unsuspecting guard casually strolling its perimeter. Deploying my rifle’s bipod onto a nearby rock for additional stability, I look through my scope, dial in my shot, hold my breath, and—thinking of how easy this kill would be—fire off a single, silenced round. Down he goes! But suddenly an unseen rifle starts cracking shots off in my direction.

Running through trees, bullets kick up dirt and splinter wood as they miss me. I run further into the woods and up the valley to the extraction point as the distant gunner loses sight of me.


Thus went the first Arma 3 mission in quite some time that I completed without dying, and, importantly, without any previous attempts and thus knowledge of the mission. (Fait Accompli, Stepping Stone, Tac-Ops Mission Pack.) Talk about riveting! Also, AI-controlled teammates in Arma 3 are known to be notoriously dumb; therefore, trying to keep all of them alive in a single-player mission is often maddeningly infuriating and not worth the effort.

In the midst of the current COVID-19 pandemic, PC gaming has perhaps become more socially acceptable than before. Making some steps beyond the toxicity of online gaming that came to a head a few years ago during Gamergate, PC gaming can be a convenient way to pass the hours in lockdown.

While macOS is undeniably my preference for daily work, I have also maintained a desktop PC in various iterations for over a decade now. As this PC plays second fiddle to my specced-out daily driver MacBook Pro, it usually lags behind the Mac in performance. The “current” incarnation of said PC is a custom tower built in early 2013 with an Intel Core i5 3570K processor (the K suffix in Intel CPUs mean that the processor is unlocked and can be overclocked; mine is “turbo” overclocked to 4.2 GHz from its base 3.4 GHz and runs quiet with an Arctic Cooling aftermarket CPU cooler), 16 GB of RAM, a Crucial M4 256 GB SSD, and an Nvidia GeForce GTX 670 graphics card. All of these were mid- to high-end components in their time. PCs of a similar vintage can be found for about $400 CAD on the used market now—not exactly cutting-edge hardware.

Typically, my gaming involves binging an occasional last-generation, single-player game once it becomes heavily discounted on Steam, on a few occasions annually. With all the down-time lately, I’ve been dabbling a bit more in PC gaming.

Naturally, the urge to upgrade a machine increases the more you use it. And so, after seven years, the time has finally come to upgrade my PC.

With PC-component prices endlessly ballooning—seriously, why are so many gamers spending $1–2k+ on video cards?—the goal in upgrading my PC was to spend as few dollars as possible. As in, to be as arbitrarily and absurdly stingy as possible. For some peculiar reason, this tends to be more satisfying in the long run than spending top dollar on the latest hardware and watching it rapidly become obsolete.

With the upgrade paradigm established, it was time to address the two most aggravatingly inadequate areas of my PC’s performance: storage and graphics.

Storage

256 GB for a boot drive is painfully small in 2020 (I’m looking at you, Apple, for shipping the $7500 Mac Pro with a base 256 GB SSD), so the highest-priority upgrade to my PC was storage. With modern games taking anywhere from 30 to 100 or more gigs to install, my PC would only ever be able to store about two games on its boot drive. This generally suited my one-at-a-time gaming habit, but too much of my time lately was being spent scanning the hard drive wondering where all the space had gone.

When closing an American Express credit card a few months ago, I had some points that had to get used up and was able to burn them on a 500 GB SanDisk SSD (about $90 CAD). Upgrade cost: $0.

Trying to simplify the upgrade, I opted to clone the old M4 onto the new SanDisk. Booting on the new drive, Windows reported itself as only a 256 GB volume, not the 500 it should have been. Cloning Windows apparently clones all the partitions without allowing room for expansion onto a larger drive. Third-party partition-management software wanted about $40 to expand the boot partition to take advantage of all the available free space on the SanDisk drive. Given the spirit of the project—absurd stinginess—such an option was completely out of the question.

In addition to the boot SSD, my PC also contains some platter-based drives: a 1 TB RAID-1 array, one drive of which has been giving SMART errors for months now (it should have been replaced months ago, but again, dollars); and a 500 GB backup drive, a freebie when a family member got upgraded to an SSD. Old desktop drives can be useful if you have internal slots for them. 2.5-inch drives can be good laptop backup drives with a USB-SATA adapter too.

Trying a different approach, I downloaded Windows onto a USB drive, then attempted to install a vanilla copy onto the SanDisk drive. The plan was then to pull my data from the backup drive; however, the installer complained that the backup drive was formatted as Master Boot Record (MBR) while the SanDisk boot drive was formatted as GUID Partition Table (GPT) and could therefore not restore my data. Because Windows.

In over seven years and quite a few major OS upgrades, Windoze had managed to fill itself with plenty of excess cruft, including old drivers and remnants of other software packages or fiddling of mine. This, combined with the fact that my PC is not my daily driver, made the logical solution to continue using the vanilla Windows install without pulling any data from the previous installation: a fresh start.

The short version is that GPT is a modern replacement of MBR. The two partition styles are not compatible with each other, though, fortunately, my old hardware was not too old to support the newer style now that Windows has made the transition. With the SanDisk formatted as GPT, my PC actually boots much faster, which is especially noticeable with Windows’s all-too-frequent reboots. (While benchmarks put the SanDisk at anywhere from 20–100% faster than the older M4, most of the boot-time decrease can likely be attributed to the switch from MBR to GPT.) This performance boost likely would not have happened had I paid for the third-party partition-management software to simply expand the MBR partition—a delightful, unforeseen benefit of being so cheap.

Time to install drivers, and all my other software (Dropbox, Steam, Chrome, etc.). After years of running out of SSD space, it is ever so refreshing to be able to store multiple games on the boot SSD without worrying about space.

Before continuing with this part of the story, however, let’s first address the other major performance issue on my now-slightly-upgraded PC: graphics.

Graphics

Playing the remastered Halo: Reach would annoyingly cause my PC’s screen to turn a uniform shade of bright purple and completely seize up. No Blue Screen of Death, no warning, no keyboard or mouse response, nothing except a manual cycling of the power button. Admittedly, I had been running the game at 4K (3840x2160) resolution, clearly overtaxing my ancient GeForce 670. Purple Screens of Death were thus the next glaring pain point to address in my PC’s lackluster performance.

In keeping with the project’s budget (and my above gripe about obscene video-card costs), potential upgrade options excluded anything high end. Furthermore, high-end video cards would handily outperform my ancient quad-core CPU (no hyper-threading), so gaming performance would likely be CPU bottlenecked. My 4K display—an indulgence for my Mac—can punish even top-of-the-line video cards, though, making the case for something somewhat powerful. As PC components maintain their value notoriously poorly, the used market can be a great source of bargains. I bought a used Radeon RX 580, a mid- to high-end video card from 2017, appropriate for my old hardware, via Kijiji. Upgrade cost: $150.

Back to driver installation—and the next round of complications. With a vanilla Windows 10 Pro install, trying to install AMD drivers caused my PC to freeze completely. No Purple Screen of Death this time, only a frozen desktop when the driver installer made it a certain fraction of the way through its progress only to become totally unresponsive. This happened repeatedly, each time requiring a hard reset. Some Googling uncovered an old Reddit thread where somebody mentioned an issue with third-party Asmedia SATA ports. (SATA ports connect internal components such as hard drives and optical drives to the motherboard. Of the eight available SATA ports on my motherboard, the first six are controlled by an Intel controller, while the last two are controlled by an Asmedia controller.) My DVD burner was indeed plugged into an Asmedia-controlled SATA port. I unplugged it—and removed it completely as it had not been used in years. Perhaps changing the boot-drive partition scheme to GPT broke the DVD burner as GPT changes the system to use UEFI rather than BIOS to boot. Because Windows.

Optical drive excised, Windows allowed AMD display drivers to be installed without getting stuck. However, upon reboot, a “RadeonSoftware.exe - Bad Image” error came up:

C:\Windows\SYSTEM32\igdrcl64.dll is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0xc000012f.

Everything still apparently worked, but error messages usually happen for a reason. Some additional Googling pointed toward the integrated graphics chips on the processor. I had long since disabled it as the PC has always had a discrete GPU. Turning it back on in BIOS/UEFI quashed the error message. Because Windows.

Now that everything was running smoothly, it was time to test the upgrades out.

Gaming Performance

While this is not an article about benchmarks (for those, see GPU Check and UserBenchMark), here are some subjective guidelines on the capability of this hardware at achieving playable framerates (>60 FPS) in various games:

The GeForce 670 struggled to deliver 60 FPS in Black Mesa at 1080p, so the RX 580 is objectively a massive upgrade. It is immensely satisfying that such old, affordable hardware can run some new-ish titles at 4K with maxed-out settings. While newer cards can absolutely obliterate the 580, they come with two-to-ten times the cost.

Arma 3 is the game I keep going back to. When you first start out or resume playing after a long hiatus, it will ruthlessly destroy you. You will die again and again and want to complain that the game is unfair, then realize that it isn’t Call of Duty or another mainstream shooter and cannot be played as such. It is a military simulator and thus requires you to think like an actual soldier. In-game draw distances are often multiple kilometres, unlike the small, crowded maps of most shooters, and remaining alive is taken much more seriously. As far as escapism goes, Arma 3 is ridiculously thrilling, as hopefully the anecdote in the introduction has conveyed. For a more detailed look at the experiences possible in Arma 3, check out Dslyecxi on YouTube.

Conclusion

For a modest price, I breathed new life into an already-ancient PC, with tangible everyday performance gains. Such upgrades have proven to be uniquely satisfying—be they on older PCs, bikes, or even cars—beyond the fleeting rush of paying top-dollar for top-of-the-line equipment. They are usually highly educational too, requiring extensive research to predict and resolve the incompatibility issues that inevitably arise in mishmashing the current with the bygone. There is something unusually entertaining about the pairing of such old and new hardware—something in the juxtaposition of cutting edge and shiny versus outdated and used.

Total upgrade cost: $150. Affordably revitalizing a trusty-but-dated piece of equipment, not smashing said piece of equipment in frustration while troubleshooting multiple Windows Screens of Death, and subsequently fragging virtual enemies slightly faster than before: priceless. There are some things money can’t buy, for everything else there’s…leftover AMEX points?

Projects like this are fun diversions that do not need to cost much money—a great way to keep occupied until we can get outside again.