Linux Mint: a surprisingly good emulation station


Linux distros sure have made great strides in the past 10-15 years, haven't they? Linux Mint in particular is shaping up to be the best operating system I've ever used, right up there with Windows XP and 7. Back when I started my first emulator kick in 2013, the only decently-running emulators were for Windows only. You didn't even need to show up if you had any version of MacOS, and Linux support was pretty sparse. I guess this was because of the most popular emulators being reliant on Microsoft components, like DirectX and Visual C++, having been developed on Windows PCs in the first place. So, as the programs got better and better, they didn't really travel very far because of technical constraints. Some emulators, like zsnes and FCEUX, transcended the platform, but up until about 2016, you still needed a Windows PC to emulate Nintendo 64 and GameCube at more than 75% reliability. I even remember reading websites that said stuff like, "Sorry, but if you're serious about console emulation, you'll need a Windows computer."

I am pleased to report that this is no longer the case. As Microsoft makes further strides toward monopolistic tendencies, independent software developers started turning their attention away from Windows and onto other OSes, including Debian-based Linux distros, like Mint. Between open-source versions of Microsoft drivers and rebuilding code from scratch, now Linux is the system to play old games on. Outside of just emulation, Wine can be configured to play games for Windows 95 whose dependencies got axed as far back as Windows XP. Though, technically, you can also do this on Windows 10/11 by running Win95 in a virtual machine, the point is that, in the gaming department anyway, there's not much that Windows can do that Linux can't. M even says that her AAA ultra-modern computer games run better on Mint than they ever did on Windows, which says a lot to me about people's declining confidence in Microsoft. Good.

An aside: M uses a gaming computer, built in 2020, that used to run Windows 10. Despite how magical it may seem, Linux Mint will not make your computer able to play games that are beyond the abilities of your installed hardware. If it couldn't run Cyberpunk 2077 on Windows, it can't run it on Linux.

Last night, I discovered that M64Py, the Mupen64 frontend I was using on Windows 10 to replace Project64, has a Debian-compatible version available in Flatpak and I decided to give it a go. I'd been having good results emulating NES, SNES, and Mega Drive on Linux, but the first Linux N64 emulator I ever tried was a terrible, miserable experience. But, having a spare moment, I figured, why not? It's my time to waste, so let's try it. Certainly it couldn't be any worse than on Windows 10 (where it ran fine, I might add; the only problem there was I couldn't goad the emulator into running fullscreen). Imagine my surprise when I discovered that it not only runs better on Mint than it ever did on Windows, but it also runs better than Project64!

Heretofore, I had been playing N64 strictly on my studio computer, where I still have Windows 7 installed because I've sort of fossilised around that OS as a composer and audio producer. It works well enough to play all my favourite games, but it absolutely will not run Conker's Bad Fur Day, Rogue Squadron, or Battle for Naboo, mostly because those game's engines were purpose-built in RCP microcode to deliver a high-quality experience on the physical N64. There are also a couple of graphical glitches in GoldenEye 007 (where the metal bulletholes and the KF7's sights don't show up) and Banjo-Tooie (where Jiggywiggy's shrine is so horribly glitched that you can't tell what's going on), but not so bad that it made me not want to play those on there. Still, N64 is best played in the sitting room. THat's where I spent countless hours playing those games on the hardware. So, as you can imagine, one of the reasons I wanted to get my Wii repaired was so I could bring those games back to the television at last, without having to haul my studio computer out to the TV and put it... somewhere. I have my Windows 10 datahoarding computer and my Linux laptop out there, as well as books and my pesach kosher dishware, so I don't exactly have a lot of space to spare.

I tested M64Py with 4 games between last night and this morning. Super Mario 64, because it's pretty light on the tech. The whole game is only about 8 megabytes large, but the last time I tried to play this game on this computer, shadows would clip into the ground unless you looked at them from the correct angle. What surprised me about this was M64Py's ability to accurately render Mario's pixelised form as he warps in and out and puts on the vanish cap; Project64 skirted this issue altogether and just turned down Mario's opacity. Nintendo couldn't even be bovvered to make this work on their own official re-releases and did the same thing. But M64Py did it perfectly.

Banjo-Kazooie, because it's more tech-heavy. Rareware did some unique texture blending to make the environments look spiffier than with a simple tiled texture, which I wanted to make sure worked. The opening cutscene also has a series of scripted events that are set to synchronise with the music and I wanted to test it for timing issues. Project64 tends to do this game justice, but it also has a tendency to desynch the scripted events from the music, so bits of the score loop where they shouldn't. Also, I'm sorry to say that neither PJ64 nor M64Py seems to grasp how to keep a picture onscreen during the jigsaw puzzle screen wipe effect.

Banjo-Tooie, because I'd had a similar problem as Super Mario 64's amazing disappearing shadows with textures that were flush with the ground geometry; they tended to get subsumed by the ground, making paths, action pads, and certain shadows disappear. This time, no such problem; plus, something that right floored me about this emulator's abilities. While I was unlocking Mayahem Temple, I noticed that the Jiggywiggy Shrine rendered perfectly! On PJ64's best day, it can't render the right side of the puzzle board, and all the pieces have circular notches taken out of them. Not such a problem that I wouldn't want to play the game anymore, but M64Py rendered everything, like I said, perfectly.

GoldenEye is where we hit our first snag, in that certain surfaces seem to call the wrong texture for distant levels of detail. Others, like fences and windows, won't even correct themselves until the viewpoint camera is right up against it. So, either moving James so he's in physical contact with the hitbox or using a scoped weapon to see beyond it. It's possible that's an improperly configured plugin setting, which is the next thing I'm going to look at.

I still have Ocarina of Time, Majora's Mask and Paper Mario to give a go to yet. In Ocarina of Time, PJ64 would occasionally cull geometry before it was beyond the preservation zone, a problem which was actually endemic to all Super Mario 64-derivative game engines. Particle effects in Paper Mario wouldn't even pretend to render on PJ64, they'd just use billboarded textures. Also, out of sheer morbid curiosity, I'm interested to see if any of the Factor5 Star Wars games will run on this emulator; PJ64 would either return an error message or try to load something and get stuck on a black screen.

--10 July 2025--

HOME