I recently bought a Bittboy Pocket Go on a lark. For roughly $35 (on sale) it was a pretty good buy. Gaming isn't really my bag, but goofing around for a few minutes here and there has been fun.
Again, for the price, it's been dynamite, but there are some issues. Screen tearing has been one of them.
The community around the Pocket Go has come together and compiled an updated firmware, which is supposed to relieve the issue (as much as software can fix a hardware issue... apparently the screen is locked to 30hz) but all of the instructions require Windows.
That's clearly wrong, so I spent an hour figuring out how to get it working on Linux. It wouldn't be very becoming of me to keep that information to myself, so here we are:
Don't blindly copy things into your terminal you've taken from the Internet. For all you know, I'm a DARKNET wizard and will use your nievity to install horrible viruses on to your computer, wreck your debt, yellow your teeth and woo your significant other. You've been warned!
-
Back up your files! Plug in your Pocket Go's microSD card and copy over your roms
folder (as well as anything else you might fancy a copy of before you wipe the card). Keep it on your computer, make a copy on an external drive, back up all of your data offsite, etc., etc.
-
Find and install fatresize
from your distribution's repository. That might be using a software center, or via the command line; it's your choice, you're a big-(girl|boy).
For example, on Ubuntu-esque distros, you might type:
sudo apt install fatresize
-
Download the latest firmware from the official(?) repository (a place where neckbeards like me, store code we're working on... if you weren't aware).
-
Extract or uncompress the resulting download. It will end in a .7z
extension, which is a strange choice... Perhaps it's more popular on Windows, I don't really know. (Mine was called PocketGo_CFW_v1.3_21-08-2019.img.7z
in case you're scared you didn't get the correct file). You can use your desktop environment's built in tools for doing this (like file-roller or Ark) or use the commandline.
-
"Restore" the uncompressed .img
file to your Pocket Go's microSD card. If you're unsure, best reach for an application called Etcher by Balena. Here's a guide to using installing Etcher from Linux Hint.
-
Here's the "hard" part: you can use the card as is, but you won't be getting the most out of your microSD card's available space. The partition named main
needs to be resized/expanded to fill the available space on the card. (E.g., restoring the firmware only used 4GB of the 32GB of space on the card, and ~28GB was left "unallocated" or otherwise unusable by the Pocket Go.)
Hold tight, we're almost there partner.
With the microSD card still plugged into the computer, we need to figure out where it's mounted. So fire up a terminal and enter:
man df
** That was a trick!** I just wanted you to know which program you'll be using before you copy things blindly into your terminal. (See the note above, fool.)
Type q
to exit the manual (hot tip: typing man
plus whatever command you're about to enter will provide a desription of what a command does and how you might use it).
df
you should see a little table that lists all of the partitions currently available to your computer. You're looking for one labelled main
. Write down the "Mounted on" address, something like /dev/sda4
, memorize it, keep it tattooed on your neck. Whatever you need, pal.
Here's the fun part:
man fatresize
sudo fatresize -s SIZE LOCATION
Replace SIZE
with how much space there is left over. (E.g., I have a 32GB card, so I had roughly 28GB of unused space, so I typed in 27G
to replace SIZE
. I'm a scaredy cat, so I went conservative. Apparently there's a max
to fill up all the remaining space... but I didn't realize that until now.)
Replace LOCATION
with your "Mounted on" address you copied earlier.
6. Copy your backed up files from step 0, eject that microSD card and plug it directly into your Pocket Go.
Now, enjoy the rest of your day you would have wasted figuring out where to get a usable copy of Windows :)