Raspberry Pi Game Center

It’s done! I’ve been messing with this project on and off for a little while, but the other day I realized I finally had all the pieces I needed to complete it. I’m very happy with how it turned out.

TL;DR: Raspberry Pi 3 plays emulators up to N64 and PS1, uses Nvidia Gamestream via Moonlight to stream Steam and modern emulators with no lag.

Concept:

I’ve been trying to consolidate our media and games for a while now. Media is all handled by the server now and streamed to our Chromecast, which works great. However, all of my games are on PC which presents a problem when playing couch co-op games in the other room. I have a Steam Link that I’ve used for a while now, and started with a Raspberry Pi 2 with RetroPie to play some NES games.

I wanted to (ideally) merge everything into one device for gaming that looked nice and blended in with the other electronics in our entertainment center. Because I upgraded my GPU a few months ago and received a Raspberry Pi 3 from an online promotion, I now had all the parts needed to make this happen.

The cornerstone of this project is the much more powerful Raspberry Pi 3 along with Nvidia’s Gamestream technology.

Setup & Construction:

This was actually a super easy project–there’s tons of documentation and support for every step in this process online.

Basically, the RPi3 is the core system running RetroPie. RetroPie is a fantastic interface for playing all of your old emulators. Setup is dead simple, and with the upgraded processor and RAM in the RPi3, the tiny computer can easily play N64 and PS1 games on its own. Most controllers are recognized automatically, and can be remapped if needed. If you have a Raspberry Pi sitting around, it’s definitely worth checking out: https://retropie.org.uk/

The next big component is streaming a desktop to the RPi. This can easily be accomplished via Moonlight –an open source Nvidia Gamestream client. Note: this only works with Nvidia GPUs, and only GTX 600+ series. I couldn’t do this in the past because I previously only had a GTX 560, which is not supported. Even with my budget GTX 1050, Moonlight works amazingly.

Shortcuts to Moonlight can be added to RetroPie which allows you access Steam (or any other client) directly from RetroPie.

Onward to the build!

001
Outside of the enclosure.
002
Inside.

I know there are tons of really cool cases for the Raspberry Pi, but I wanted something that blended in and wasn’t obviously a game console. I had this old EQ sitting around that I bought at Goodwill years ago. It stopped working a while back, so I didn’t feel too bad gutting it. It’s a bit messy inside, but no one sees that part.

I was able to reuse the original power button and power cable, and I added USB ports to the buttons on the right. I was using the tiny fan inside earlier, but I didn’t actually need it because the interior never gets hot enough to be an issue. I’ll probably use it in another project later. The Xbox 360 wireless adapter can support up to four controllers, but I only have one wireless controller at the moment.

003
The RetroPie interface. Multiple systems can be selected.

A “Steam” emulator option can be added to the RetroPie menu that just opens a script that launches Moonlight. By letting RetroPie handle everything, you can easily stop streaming and open a different emulator at any time.

004
Launching Steam Big Picture from inside RetroPie.
005
Loading CEMU to play Mario Kart 8.
IMG_20170912_103335
Mario Kart 8 running with no problems.

Any game on your PC can be played this way, and even other emulators like CEMU. Although I had to lower the resolution a bit (the GTX 1050 isn’t that powerful) most games run surprisingly well. I haven’t had any issues with MK8 yet. I’m sure the performance will only increase over time as well, as the emulator improves.

Conclusion:

That’s it! Pretty easy. I’m content with how it turned out, and the RetroPie interface makes keeping everything organized trivial. It is worth noting that Moonlight can also stream to Android and iOS devices, even outside of your local network (with the correct ports forwarded).

If you have a Raspberry Pi, give it a shot! I’ve included a few sources I used when getting started. Best of luck!

RetroPie setup: https://github.com/retropie/retropie-setup/wiki/First-Installation

Moonlight setup: http://www.instructables.com/id/How-to-Setup-RetroPie-With-Moonlight-Steam-Streami/ 

New Moonlight setup: https://github.com/TechWizTime/moonlight-retropie

In the previous Moonlight guide, be aware that mapping controllers the way they instruct is now deprecated. All controller mappings are now included in /usr/share/moonlight/gamecontrollerdb.txt. It may be worth running the script in the new guide, although I haven’t tested it personally.

 

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *