First, I know Lakka works perfectly, but I wanted to run RetroArch on Raspbian (Raspberry Pi 3) to have two different setups: RA@Raspbian set to work with my current games and saves (stored in a NAS) Lakka as a standalone installation, with its own saves and games (on the SD card) So I decided to try compiling RA on Raspbian But i am a complete noob regarding git, and compiling software.
The Raspberry Pi is a relatively lightweight computer by today's standards. After all, what can you expect from a $35 device? But compared to the personal computers that some of us grew up with, the Raspberry Pi isn't that weak at all. A Raspberry Pi can run a lot of old computer programs without trouble – including those wonderful old Microsoft DOS games. Here's how to play retro games on the Raspberry Pi with DOSBox, a MS-DOS emulator.
Setting up RetroArch on a Raspberry Pi I just put the finishing touches on my Raspberry Pi 3 emulation machine running RetroArch. I was not a huge fan of RetroPie due to the reliance on Emulation Station - more moving parts meant that there were more things that could potentially break. Enable snaps on Raspberry Pi and install RetroArch Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully. Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions. – Clean Raspbian Buster OS – Clean Retropie 4.5.14 of time of release Future Retropie upgrades 100% supported. – 4.5.18 has been release and tested/approved by VMAN! – Clean Retroarch – Clean Kernel/Firmware – Clean Frontend (EmulationStation) – New unique scripts and enhanced scripts – New Custom Rpiemenu.
Installing DOSBox
In this article, I'll show you how to put games onto your DOSBox emulator and how to play retro games on the Raspberry Pi. But first things first: to play retro games on the Raspberry Pi, we're going to need an emulator. In this case, that's DOSBox, which acts like MS-DOS within your machine and makes old MS-DOS games playable. So before we do anything else, we need to install DOSBox on our Raspberry Pi. We'll do that within the Raspberry Pi operating system, and all it will take is a simple command in the terminal.
Retroarch Raspberry Pi 4 Installation
What you'll need to install DOSBox
To get started here, all you'll need is your Raspberry Pi, essential peripherals (a screen, mouse, and keyboard), and a microSD or SD card.
DOSBox is an emulator, not an operating system. We're going to run it on the Raspbian operating system. For a complete guide on how to install Raspbian, click here.
Install DOSBox
I told you I'd tell you how to play retro games on the Raspberry Pi, and here is the answer: DOSBox, a MS-DOS emulator. Thankfully, getting DOSBox is the easiest part of this process. Just open the terminal and type this command:
You'll have to hit 'y' to confirm your choice.
Make a folder for your games
Make a new folder within your home directory (home/pi) called dos-games. You can do this either through the GUI or in the command line with this command:
How to configure DOSBox
DOSBox works great out of the box, but there are a few things you can do to tweak and improve the experience.
Set up your controller
DOSBox automatically detects some controllers, but you can set your controller's button values through the terminal with the command:
Change the config file
You can open the config file in the GUI or with this command:
This is where you can tweak technical settings like the screen size.
Installing games on DOSBox
You can find ROMs for your DOSBox all over online. We'll leave that to you, with the gentle reminder that the current standard for emulator ethics is that you should own a physical copy of the game you're emulating.
To install a game, just download a ROM, unzip the file (ROMs always download as compressed files), and move the file into your /dos-games folder. Then run DOSBox (you can just type 'dosbox' in the terminal to do this) and type:
Where 'yourgame' is replaced by the folder name of the game you want to install. All of the games' files need to be in this folder, and it needs to be a folder, not an .exe file. Remember, you're typing this in the DOSBox window, not the terminal! Then, type:
Now you can just type the name of the game you want to play (the filename of the .exe file, but without the '.exe' part) and it will run in DOSBox!
I just put the finishing touches on my Raspberry Pi 2 emulation machine runningRetroArch. I was not a huge fan of RetroPie due to the reliance on Emulation Station - more moving parts meant that there were more things that could potentially break. I just wanted something that would run raw RetroArch, no frills.
This tutorial is mostly recreated from memory and was done with a Raspberry Pi 2 running Raspbian Jessie and RetroArch 1.3.4. If there is a mistake or a broken link, PLEASE message me and I will fix it.
Step 1: Install Raspbian
I used Raspbian Jessie Lite from this page. Write the image to your SD card using something like Win32 Disk Imager, or if you're using OSX/Linux follow a tutorial on how to write the image using dd
.
Step 2: Get Comfortable
First things first, you're going to need to get Wi-Fi set up. Follow this tutorial. After that, make sure your system is totally up to date:
Unless you live in Great Britain, you will probably not be happy with some of the defaults. Use this to fix your keyboard:
Use this to fix your locale (choose en_US.UTF-8
if you live in the US):
App apple. App Store - Apple The apps you love. From a place you can trust. For over a decade, the App Store has proved to be a safe and trusted place to discover and download apps. Download apps by Apple, including TestFlight, Beddit (for Model 3.5), Apple Developer, and many more.
Use this to fix your timezone:
It's probably a good idea to reboot
at this point.
3. Compile RetroArch
Retroarch Raspberry Pi 4 Installation
What you'll need to install DOSBox
To get started here, all you'll need is your Raspberry Pi, essential peripherals (a screen, mouse, and keyboard), and a microSD or SD card.
DOSBox is an emulator, not an operating system. We're going to run it on the Raspbian operating system. For a complete guide on how to install Raspbian, click here.
Install DOSBox
I told you I'd tell you how to play retro games on the Raspberry Pi, and here is the answer: DOSBox, a MS-DOS emulator. Thankfully, getting DOSBox is the easiest part of this process. Just open the terminal and type this command:
You'll have to hit 'y' to confirm your choice.
Make a folder for your games
Make a new folder within your home directory (home/pi) called dos-games. You can do this either through the GUI or in the command line with this command:
How to configure DOSBox
DOSBox works great out of the box, but there are a few things you can do to tweak and improve the experience.
Set up your controller
DOSBox automatically detects some controllers, but you can set your controller's button values through the terminal with the command:
Change the config file
You can open the config file in the GUI or with this command:
This is where you can tweak technical settings like the screen size.
Installing games on DOSBox
You can find ROMs for your DOSBox all over online. We'll leave that to you, with the gentle reminder that the current standard for emulator ethics is that you should own a physical copy of the game you're emulating.
To install a game, just download a ROM, unzip the file (ROMs always download as compressed files), and move the file into your /dos-games folder. Then run DOSBox (you can just type 'dosbox' in the terminal to do this) and type:
Where 'yourgame' is replaced by the folder name of the game you want to install. All of the games' files need to be in this folder, and it needs to be a folder, not an .exe file. Remember, you're typing this in the DOSBox window, not the terminal! Then, type:
Now you can just type the name of the game you want to play (the filename of the .exe file, but without the '.exe' part) and it will run in DOSBox!
I just put the finishing touches on my Raspberry Pi 2 emulation machine runningRetroArch. I was not a huge fan of RetroPie due to the reliance on Emulation Station - more moving parts meant that there were more things that could potentially break. I just wanted something that would run raw RetroArch, no frills.
This tutorial is mostly recreated from memory and was done with a Raspberry Pi 2 running Raspbian Jessie and RetroArch 1.3.4. If there is a mistake or a broken link, PLEASE message me and I will fix it.
Step 1: Install Raspbian
I used Raspbian Jessie Lite from this page. Write the image to your SD card using something like Win32 Disk Imager, or if you're using OSX/Linux follow a tutorial on how to write the image using dd
.
Step 2: Get Comfortable
First things first, you're going to need to get Wi-Fi set up. Follow this tutorial. After that, make sure your system is totally up to date:
Unless you live in Great Britain, you will probably not be happy with some of the defaults. Use this to fix your keyboard:
Use this to fix your locale (choose en_US.UTF-8
if you live in the US):
App apple. App Store - Apple The apps you love. From a place you can trust. For over a decade, the App Store has proved to be a safe and trusted place to discover and download apps. Download apps by Apple, including TestFlight, Beddit (for Model 3.5), Apple Developer, and many more.
Use this to fix your timezone:
It's probably a good idea to reboot
at this point.
3. Compile RetroArch
Unlike some other tutorials, I believe in keeping things simple, explaining what flags I'm enabling and why, and not going overboard on bells and whistles or disabling things. So let's get started:
Okay, time out - what are we installing and why?
libasound2-dev
is ALSA. This library ensures that RetroArch will have sound - kind of important.libudev-dev
is udev. This library is necessary to ensure compatibility with a wider range of input devices. Without this, my DualShock 3 could be detected, but didn't actually work.
Retroarch Raspbian Buster
Now that we have libraries, grab the source for the latest stable version of RetroArch:
Now to configure it:
Okay, time out again - why are we passing these parameters to configure
?
--enable-alsa
ensures that we're compiling with ALSA support. If the library isn't installed, the configure script will die screaming instead of disabling the feature.--enable-udev
ensures that we're compiling with udev support.--enable-floathard
ensures that RetroArch uses the Pi's built-in hardware Floating Point Unit. Without this, there is the possibility that floating point calculations might be emulated in software, which is much slower.--enable-neon
ensures that RetroArch can use the Pi's SIMD CPU instructions (called NEON) for extra speed. Some cores take advantage of this.--enable-dispmanx
ensures RetroArch can use the Pi's Dispmanx support for rendering graphics. Dispmanx is a low-level 2D graphics API unique to the Raspberry Pi's video core which you can use as an efficient alternative to OpenGL. The downside is that it is not as featureful as OpenGL (for one, the OSD text at the bottom of the screen won't render), and comes with ugly bilnear filtering enabled by default, though this can be turned off. So we compile with support for both GL and Dispmanx, and you can decide for yourself which one you prefer.
And that's it. Disabling 20 different options is pointless - all you're really saving is binary size. If the configure script completes without errors, you can then:
4. Configure RetroArch
Now that RetroArch is installed, run it:
You will be presented with the GUI front-end. You can use the arrow keys to navigate the UI, x to select an option, z to back out, and esc to quit RetroArch completely. We still have a little ways to go, however, until we're completely up and running.
Quit out of RetroArch and edit the ~/.config/retroarch/retroarch.cfg
file with your editor of choice - nano
is good if you don't have a preference. Look for the line that mentions core_updater_buildbot_url
and set it to http://buildbot.libretro.com/nightly/linux/armhf/latest/
.
Next, unless you are incredibly lucky your controller probably is not working. Navigate to Online Updater, then Update Autoconfig Profiles and wait for the OSD text to stop flashing. Quit and restart RetroArch to see if your controller was found. If your controller still isn't configured, you might need to go to Settings, then Input, then Input User 1 Binds. It should be self-explanatory from here.
Now, let's test our updated settings. From the main menu, navigate to Online Updater, then Core Updater, and select 2048. Once it's installed, from the main menu, select Load Core then 2048. Finally, select Start Core. If everything went smoothly, you should be able to play a simple game of 2048 to prove that everything is set up correctly. To exit the game, press escape or use the button on your controller that you bound to said functionality.
At this point, you are now ready to follow other RetroArch tutorials that concern importing and playing your games.
5. Other Stuff
If you remember from earlier, we compiled RetroArch with Dispmanx support. To give it a spin and see if you prefer it to the default GL implementation, first ensure that you are using the default rgui menu driver - if you haven't changed your menu driver, you're fine. Next, at the Main Menu select Settings, Driver, then Video Driver and select dispmanx. You must then quit and relaunch RetroArch. If you ever want to go back, go to the same place and select gl instead.
RetroArch gives you many different choices for cores. Sometimes it's a little confusing trying to figure out which core is the best. Here is my suggestions based both on personal experience and other people giving me advice:
- NES: FCEUmm.
- Genesis: Genesis Plus GX. If you get slowdown, try PicoDrive.
- 32X: PicoDrive.
- SNES: Snes9x. If you get slowdown, try Snes9x-Next.~