GPD Open Front

On a recent episode of our podcast

click here for a link to the show notes and a player

I mentioned that I would, finally, write up my thoughts on the GPD XD; and here they are.

I’ve actually mentioned the GPD XD in a previous blog post, it was the one from October of last year all about Rygar

click here for a link to that post


So what is a GPD XD? As I’ve said on the podcast, it’s a Nintendo DS form factor Android tablet with a controller, HDMI out, USB, SD Card, WiFi, and 3.5 mm headphone jack.

Here’s a carousel of some shots I’ve taken of my GPD; as you can see, it’s quite pretty:

The only thing this device is missing (in my opinion) is BlueTooth. I always have my Bludio UFO-8s with me, and have to remember to bring the 3.5mm patch cable, whenever I want to play a game on my commute

that is, if I want to hear it too.

How Long Have You Had It?

I ordered my GPD on December 29th, 2015, and I’ve been using it ever since.

But What Can It Play?

Essentially: if it’s available for Android, then it can probably play it.

I use it as a portable multi-system emulator, but it can quite happily play any Android game that I’ve thrown at it, with the addition of it having a built-in controller.

I have this thing set up with emulators for everything from the second generation (Atari 2600 et al.) all the way up to and including the sixth generation (Sega Dreamcast, PS2, GameCube) of consoles. You have to admit that that is pretty cool.

It’s able to do all of that due to it’s pretty strong hardware

for a handheld device, anyway

  • CPU: Rockchip RK3288 Quad-Core (A-17) running at around 1.8GHz

when doing nothing, but can overclock to around 2

  • GPU: ARM Mali-T764 600MHz
  • RAM: 2GB of DDR3-SDRAM
  • WiFi: 802.11b/g/n/ac
  • OS: Android 4.4.4
  • Internal storage: 32GB
  • External storage: up to 128 GB SD Card

Does It Have Down Sides?

A couple, but not many.

Aside from the above mentioned lack of BlueTooth

which is a bug bear of my own, because I used BlueTooth headphones for everything

the default build of Android that it ships with is pretty bad. It’s ok as starter Pokemon go, but it has a few pieces of spyware installed, and one application (called “Happy Chick”) which allows you to download ROMs and games at the mere press of a button.

Happy Chick is pretty quick at sourcing games and ROMS

I was to be clear: I tried Happy Chick out with games that I already own outright

but I wouldn’t trust the legality of it, and there’s a reason why it’s not included on the Google Play Store.

If (like me) you use RetroArch, then most of the emulators will have an ever present down arrow icon in the top of the screen (slightly off centre to the right)

see the screen shots later in this post for examples

This needs to be ever present, so that you can easily access RetroArch’s options.

What About The Positives?

They certainly outweigh the negatives.

For a start, this thing has a power to emulate everything from the first generation all the way up to the sixth generation of games consoles

we’re talking anything which was released between 1976 and 2001

with the exception of XBOX and the inclusion of the PSP and all Nintendo handhelds, that is.

It has HDMI output (via a mini-HDMI port), so I can use this tiny device

it has a 4(ish) inch screen

to play all of my favourite retro games on the massive (we’re talking 50 inch) TV.

It has a massive amount of built in storage space. Mine is the 32GB model and the build of Android that I’m using

I’ll get to that in a moment

is pretty tiny – at ~200MB. Couple that with the SD Card slot

something missing from a lot of the contemporary Android devices

which can support up to 128GB of space, and you have a device with a huge amount of storage space.

It has a USB 2.0 port and supports some third party USB controllers – although, I’ll admit that I haven’t tried this, it is listed as a feature on the official site.

The battery life seems to last forever. Comparing it to my phone, the battery in the GPD seems to last 400 times longer. This will mainly be because I’m running a whole bunch of stuff in the background on my phone

twitter, google play services, sms, WhatsApp!, etc.

which just aren’t there on the GPD, but also because of the 6000 mAh Lithium polymer battery itself.

Let’s not forget the form factor, too. It easily fits into my jacket pocket

or one of the side pockets of my long shorts

The Build Of Android?

The build of Android that the GPD XD ships with has a few spyware apps installed and is slightly underclocked – mainly for battery performance reasons. So, in early 2016 I went on a hunt for a custom ROM

I’m a big Android user, and have been rocking custom ROMs (usually CyanogenMod and LineageOS) for a long time

which removed all of the chaff and allowed me to improve performance.

Enter: LegacyROM

I cannot recommend this build of Android for the GPD XD enough. It’s super fast, super small, and really well tuned. It does away with Happy Chick and the spyware apps which ship with the default OS, and has things like:

  • SELinux
  • A hand tuned kernel
  • Fully rooted
  • Overclocked RAM (from 360 to 465 MHz)
  • Better CPU performance

One interesting addition to LegacyROM is that it is designed to spoof your device as a Nexus 5.

Nexus 5 Spoofing on the GPD XD
Showing that my GPD XD is pretending to be a Nexus 5

The developer of the ROM (“skelton”) explains the reasoning in this way:

[the] Stock Firmware registers your device as GPD XD on the Google PlayStore as it should BUT this may create incompatibility issues. This is not because the GPD XD is not capable of running the apps or games, but because the developers of these apps include all of the more common models and manufacturers in their compatibility list. As a result some of those apps/games will not install or may not even show up on the market. Legacy Rom will register on the market as a Nexus 5 – a device that is parallel in capabilities but is better known in the market

Which, as someone who has worked on Android apps in the past, makes perfect sense. For those who don’t know: when you create an Android app, you have to say which devices the app supports – this is usually by Android version, but you can drill down to specific devices

or at least, you could

Recommended Software?

The GPD XD has a number of launchers installed, most of which aren’t included in the LegacyROM build. I use the default launcher: Launcher3 (supplied with LegacyROM), but I have used SmartLauncher Blue Gamer alongside SmartLauncher in the past.

I’d definitely recommend installing RetroArch and getting to grips with using it to install “cores”

in RetroArch land, a “core” is an emulator

and I would use Arc Browser to launch ROMs with those cores. One of the bonuses of using Arc Browser is that it’s (essentially) a launcher, too – so you can boot directly into it, if you set it as your default launcher.

The two systems not covered by RetroArch

at the time of writing

are Sega Saturn and Dreamcast. You can get around this limitation by installing Yaba Sanshiro and Reicast (I’d recommend using trying a bunch of nightly builds of Reicast, as the Google App Store build is way out of date).

The emulators are pretty accurate (although purists will still prefer the actual hardware), and they can provide a pretty close to perfect recreation of the games of yesteryear for the mobile gamer. Here’s some screen shots of a few of the games in my collection:


All in all, I’d say that the GPD XD is totally worth buying – if you’re looking for a mobile retro gaming station. Just remember to install LegacyROM, RetroArch and Arc Browser.

Jamie is one of the Waffling Taylors. He spends a lot of time blogging about things sometimes related to programming and sometimes not.