Stuffing Proton where it doesn’t belong: Linux Steam on the OG 2016 GPD Win

I mentioned on the recent video about installing Bazzite on the GPD Win 3 that I wanted to subject the OG GPD Win to the same treatment, but their website says it’s not compatible. Well, their website is not the boss of me, so let’s try it anyway, and then see if there’s any better alternatives.

Welcome to Esk Computers, I’m Scott and today on the desk of Esk, let’s do unnatural things to a ten year old handheld that just wants to rest. Same, little buddy. Same.

I’ll point you to the previous video for the full low down on this low powered handheld, but in short it has an Intel Atom x7-Z 8750, a four core, non-hyperthreaded part that draws just two Watts. It has a base frequency of 1.6GHz, and can burst up to 2.56GHz. It comes with just 4GB of LP DDR3-1600 RAM, and 64GB of slow eMMC storage.

We’re saddled with the Intel HD405 integrated graphics, at least, until I find a way to hook an external GPU up to this. The integrated graphics will clock between just 200 and 600 MHz so this is obviously not a performance powerhouse, now or back in 2016.

Physically, it’s a clamshell design, with a 5.5″ 720p screen, a diminutive keyboard and the usual complement of joypad controls and buttons.

It shipped with Windows 10, but it’s currently running a stripped back Windows 11 installation. Even so, at idle it’s using a good chunk of that 4GB of RAM, and there’s still a load of background processes running. To be fair, I think Window’s memory manager does a better job of shutting down a lot of that speculatively consumed memory when under load than most people give it credit for, and memory sat unused isn’t helping anyone. Still, 4 gigs is a big restriction and there’s only so much it can do to work around that.

I suppose we need to get some performance baselines. Even with something this low powered, 2D games generally run fine and are probably what you should be playing, but I suppose we can stretch it with a few older 3D games.

This is the original 2004 release of Doom 3, here at Low Settings and a non-widescreen resolution of 1024×768, giving away its age a bit. It seems widescreen support wasn’t added until the BFG edition 8 years later. It’s been a long time since I saw something default to OpenGL. We’re seeing an average of 37 fps in this early section, with 0.1% lows of 10 fps.

More from 2004 with Half-Life 2, which defaults to High Settings back at the 720p resolution this and the rest of the games were tested at. It’s getting 51 average fps on Route Kanal, where the water seems to give it a few problems, and there was one big weird stutter when loading an effect, I think, causing a 0.1% low of 0.1 fps. That’s a bit deceptive, as in general this feels absolutely fine to play.

2007’s Bioshock defaulted to high settings. At this point I bemoan the absence of cloud saves, but going through the intro and start again gave 25 average fps but very obviously is not rendering correctly. Dropping to medium setting fixed this, and I’m getting an average of 30 fps, albeit with 0.1% lows of 3.2 fps.

More from 2007 with Can It Play Crysis, which thinks its optimal settings are Medium. I’m not convinced that’s right, as we’re getting an average of 15 fps, with 0.1% lows at 1 fps. Dropping to low settings, there’s an improvement, somewhat, to averages of 20 fps, and 4 fps on 0.1% lows.

2009 brought us Batman: Arkham Asylum, and lo, there was much rejoicing for enjoyers of punching cosplay goons in the face. At medium settings, it’s giving us 25 average fps, and also has 0.1% lows of 4 fps.

Futuristic Space Year 2010 brought us Fallout: New Vegas, and lo, there was much rejoicing from fans of shooting cosplay Romans in the face. It thinks it should be running at medium settings, where it’s getting 24 average fps, and is the third game in a row to get 0.1% lows of 4 fps. Dropping to low settings gave basically the same results in this short test, actually 1fps lower so let’s chalk that up to variance and move on.

Okay, that’s a baseline established. Old geezers like me are probably more used to these sorts of low and variable framerates, scarred by the N64 experience, so personally I’d say all bar Crysis were playable. I’ll understand if your standards differ, but that doesn’t really affect the point of the video. I still think it’s remarkable that back in 2016 it could get somewhere in the ballpark of Xbox 360 performance in this compact and low powered a package.

But Windows is boring, so let’s change that. Feeding the same desktop installation of Bazzite we used for the Win 3 into this actually went a little bit better than I expected. It surprised me by booting into the live environment, but it does insist of having 8GB of memory to install. Boo. Hiss.

You win again Bazzite website. I figured as much, so let’s try the backup plan.

CachyOS is doing a similar thing to Bazzite, but with Arch Linux as a base, rather than Fedora. However it’s also optimised for modern CPUs, which this Intel Atom is not, so this is more of a fingers crossed and see experiment rather than anything reasoned.

I see it has a legacy hardware mode, but let’s see where we get to with the full fat version. I’m going to lightly skip over an evening of weird errors caused I think ultimately by a dodgy USB stick.

Once again, I am surprised, with this just booting up fine, and it’s not so much of a stickler for RAM. It installs to the eMMC drive without complaint, and soon we have a working desktop install.

Working, but not fully. I’ve had some WIFI issues, with it seeming to be recognised, trying to connect then failing, so I suppose that’s a configuration issue but let’s forge on with the wired connection in the short term.

Unlike Bazzite which is pretty much game ready out of the box, installing the CachyOS gaming packages for Steam is an extra step, but a one click one, linked to on the welcome screen. And isn’t this progress bar pac man adorable?

Once installed, Steam is being a bit flaky. My best guess on a root cause is that it doesn’t seem like Steam on Linux likes having a library on the micro SD card. This ran well enough on Windows, albeit slowly, but Linux struggles and fails at installing some runtimes to it. It might be because it’s an ExFAT formatted card, I know Bazzite gave some strongly worded warnings about using these ungodly Windows formats on hallowed Linux ground. Relying on the eMMC storage alone seems a bit more stable, but there’s still the odd crash particularly when downloading and installing files.

Once it’s installed, at least Doom 3 just works. I can’t get for the life of me find the correct command line incantation to get both mangohud running and get the resolution the same as on the Windows test, with it always defaulting back to 640 x 480. However, from looking at the Steam overlay tools and general feel it’s performing much the same as in Windows at 1024×768, if maybe a smidgen jerkier.

Half-Life 2 takes quite some time to process vulcan shaders then crashes on its out of the box setup. Changing to the legacy runtime gets this working. I’m again not able to get mangohud working but it also seems to be much the same performance as Windows gives.

Unfortunately the success stories end here Batman: Arkham Asylum crashes, and never got into the game despite trying many Proton versions. The launcher is the furthest I’ve been abl;e to get it.

Fallout: New Vegas shows exactly the same behaviour as Batman. Bioshock goes through the motions of installing DirectX and then quits without launching, again with all the versions of Proton I could stomach trying.

Can it run Crysis? No, apparently not. It also doesn’t launch, bringing to a close a few frustrating evenings of testing.

So, why does CachyOS hate me so much? I’m not sure, to be honest. There are two obvious avenues to pursue. Although the minimum requirement for this OS is 3GB of RAM, it recommends 8GB, and there’s not much more free RAM at idle here than under Windows. That’s probably part of it, and as best as I can gather the Atom architecture of the CPU isn’t explicitly in the supported list, so that’s unlikely to help. There’s nothing I can do about either of these limitations, so I suppose we’ll have to draw a line under this section of the experiment and say it’s not recommended for this hardware. Oh, and I did try that aforementioned legacy hardware mode, to the exact same results.

I must admit when planning this I figured CachyOS would not install, and intended to try Linux Mint with the XFCE desktop environment as a near universally compatible alternative. I don’t think there’s much point in trying this now, as even as a distribution with one eye on resource conservation it’s not going to be as tuned for gaming requirements as CachyOS. In truth given the limited success seen with Proton on this architecture, I’m not sure there’s much point trying anything else at least for gaming, but let’s roll the dice again.

Something even more minimal like Lubuntu might be a slight improvement, but by installing a command line installation of Debian and manually adding a lightweight windows manager like Openbox, we should be able to reduce the idle RAM usage to around 300MB compared to the previous installs which were well more than double that. That’s important when we’re so RAM starved, and also makes the machine look like the Unix boxes I used at Uni around the turn of the Millenium so that’s a cool nostalgia hit. It’s exactly this sort of interface that gives people the fear about Linux. Not even a start menu. It’s repellent and I love it.

The actual install didn’t need to be done in the old school text interface, but I thought I’d get into the swing of it early. Aided by healthy doses of googling we get from the basic command line install to installing the Openbox windows manager, and another batch of it to get Steam and all of its dependencies to install.

Unfortunately, while I’m reasonably confident all of that is up and running, with as much in the way of resources as can be freed up without building my own kernel, we’re still getting the same results with Proton and Vulcan. I’m not saying that it can’t be made to work on the oddball screen setup of the GPD Win which I think is the issue, but it is beyond my ability to figure out. While OpenGL games and most 2D stuff works fine, anything else just doesn’t open. Womp, and indeed womp.

So, what’s the takeaway on this experiment? Well, this video was in part prompted by Windows 10’s impending unaliving, and this hardware isn’t officially supported by Windows 11. Various flavours of Linux have been used to keep many of the older laptops I’ve got knocking around relevant and supported with security patches, and I’d hoped the same could be done for the OG GPD Win.

I expect Linux Mint or ZorinOS would work fine for this as a general purpose computing device, but that’s not really what this made is for. As a gaming machine, this set of limited hardware really isn’t working properly under Proton, at least as far as I can wrangle it, so there’s not much point installing it.

The most practical solution is probably to keep this on the Windows 10 it shipped with, and just not use it for any security sensitive activities. I’ll probably go back to the stripped back Windows 11 IoT installation that Rufus enables, which works absolutely fine, at least until Microsoft inevitably shuts that route down.

Not a video overflowing with success I’m afraid, but that’s the way it goes sometimes. If you have any suggestions of distributions that might work better or tweaks to Proton settings I’m all ears, please leave a comment down below, and I’ll give them a look. If you enjoyed this videotronic missive then consider subscribing and until next time, take care of yourself, and each other.