Amlogic Android TV box for Retro Gaming with Emuelec – better than a Pi 4
22nd June 2022How to win at retro games – play the higher levels the easy way!
23rd September 2022LaunchBox Retro Gaming on a £35 Android TV Box – Setup, RetroArch and standalone emulators
If you’ve been watching my channel you’ll know that I’m a big fan of LaunchBox for setting up my retro gaming systems on PCs. It’s a great front-end that makes it easy and fun to browse your game collection and play all the systems with a simple point-and-click interface.
Recently I’ve been playing with and Android TV box. In my last video I used Emuelec to completely replace the Android operating system to turn my Amlogic S905X3 powered device into a retro gaming console that could play everything up to and including the Nintendo 64.
But LaunchBox also has a version for Android devices. So in this video I’m going to show you how to install the application, set up your emulators and import your games so that we can see how the two systems compare. The Emuelec solution works great but it’s a bit of a hassle swapping between the two operating systems. If it could all happen inside Android it would make a much neater solution, especially as my TV box will end up connected to our main family TV.
So let’s jump straight in and get LaunchBox set up.
Installing LaunchBox
LaunchBox have moved their application outside of the normal Google Play Store. This lets them develop and improve their software much faster without the need to have every version vetted and authorised by Google. This does mean that we have a slightly different method to install the app onto your Android box.
You first need to visit the LaunchBox website at
Once there simply click on the Android download button and this will take you to a page where you simply need to enter your email address so that they can send you a link to download the application .apk installation file.
Once you receive the email and download the file put onto a USB stick and plug it into your Android box. Then use your file manager app to navigate onto your USB drive and select the apk file. This will start the installation process.
You’ll probably find that a security alert pops up asking you to authorise file manager to install unauthorised apps. You should see a link to go to the settings screen. Click this and you should be taken straight to the unauthorised apps page. Make sure that file manager is given this permission. If you then click the back button on your remote or keyboard you should get back to either the installation screen or the file manager screen. Restart the installation and it should run through without any issues.
LaunchBox is now installed!
Installing Emulators
LaunchBox is a front end for your retro gaming system. It manages your game collection but it doesn’t include any of the emulators needed to actually run the games. We need to install these separately.
If you use the game import function, LaunchBox will help you install RetroArch. But I find it easier to do this manually as we still need to do a little bit of tinkering to get it to work correctly for all gaming systems.
Installing RetroArch Plus is very simple. It’s listed on the Google Play Store. So just search for it and install it as normal.
If we then open up the app will get to the main control menu where we can start to configure each of our systems. At this point you need to plug in a game controller to navigate the menus.
Our first task is to make sure that we’ve got everything up to date. Use the D pad on your controller to highlight the Online Updater option, and then click the South button on your controller. This will either be the A or B button depending on your gamepad.
I like to update the core info files, assets, controller profiles and databases just to make sure that we’ve got all the latest settings downloaded.
We then need to make sure that we have a way of controlling RetroArch so that we can get to the settings menu and exit games when we’re playing them. If we don’t set these controls now you can find yourself stuck in a game with the only way to exit being to go through the home page and then force stopping the RetroArch application.
Use your back button to get to the Main Menu and then press the right button on your D pad to change the menu section denoted by the icons down the right hand side of the screen. We need to get to the cog icon which is the settings page. As you can see there are a number of options you can use to adjust the way RetroArch works, but the one we are interested in at the moment is the Input section.
Inside the Input section and select the Hotkeys option. This lets you set a number of control buttons to give you access to the RetroArch menu and shortcut commands. There are a lot of different hotkeys we can set but the most important ones are the Menu Toggle and the Quit functions. Without these we won’t be able to get out of the game and back to LaunchBox.
Select the Menu Toggle Controller Combo option and a number of button combinations will pop up. It’s really up to you which one you choose and you’ll find some controllers already use the buttons for other functions. For instance, on my Xbox controller I would usually use the back button as the Select button. But Android seems to use it as a true back button so it doesn’t actually work as a select key in RetroArch. For my Menu Toggle I like to use holding down the Start button for two seconds. So when I want to call up the RetroArch menu I’ll simply hold down the Start button until the menu appears.
Similarly, for the Quit game combo I use the Down + Y + L1 + R1. Again because the button I would normally use for Select always seems to be seen as a Back button. Note that on some controllers, especially my Xbox controller, the A/B and X/Y buttons are reversed from the RetroArch defaults so the Y button is actually labelled X on my handset.
The next bit of housekeeping we need to do is for the game display. As this app will normally run on a touchscreen device it puts controller buttons onto the screen on top of our game. As will be using a game controller we want to turn this off. So use your back button to get the settings menu and then scroll down to the On Screen Display section. Inside this section open the On Screen Overlay option and turn off the Display Overlay setting.
Now use the back and right buttons to get back to the main menu.
That gets RetroArch ready to play games, exit games, change options and hide the on screen controls so all we need now are some cores.
RetroArch uses the idea of cores. These are software modules that allow RetroArch to emulate a particular system. If you go back to the Main Menu and then select the Online Updater option you’ll see a section called Core Downloader. If you select that you’ll see a list of all the cores that we can use in RetroArch. Some systems only have one core others allow you to use multiple cores depending on your preference. To be able to emulate the system we need to install the correct cores. To make sure we get the right cores we’ll do this in conjunction with LaunchBox.
Other Emulators
RetroArch allows you to emulate a wide range of consoles and computers. For the Android Box I’m using this will probably be the only app I’ll need. But if you’ve got a more powerful processor, or if you find some of the cores aren’t working very well, you can install any of the stand-alone Android emulators and have LaunchBox use those instead. The basic process we’ll be going through to set up RetroArch with LaunchBox is the same for any emulator.
Installing Games and Cores
So now we’ve got LaunchBox and an emulator installed we need to install some games and then connect everything together.
To get the games onto the TV box I’m ging to use a micro SD card that will simply plug into the TV box as an extra drive. You can easily use a USB stick, or download the files directly onto the internal storage of the unit. So on my SD card I’m creating a Games folder, inside which I’m creating a folder per system containing the actual game files.
Some consoles will also need BIOS files to be able to run. My S905X3 powered device will be able to play PlayStation 1 games so will need the BIOS files for that console. It might also be able to play Sega Dreamcast so those are possibly needed and some of the Commodore and Atari home computers need firmware files as well. I find that the easiest way to make sure I have all the files I need is to use a ready made BIOS package. Again you’ll need to search around on the web but RetroArch BIOS packs, Batocera BIOS packs and so on will give you full sets. As always do make sure you have permission to use these files as many are still under copyright.
So with all the required files loaded onto our SD card we can insert it into the TV box and start up LaunchBox.
You can use your game controller to navigate LaunchBox or use a keyboard and mouse.
From the main screen we need to access the main menu from the hamburger icon in the top left corner. With the games controller you’ll find the D pad will let you navigate around and A and B will be for selecting options or going back one screen. Usually the South button is for selecting which on my X Box controller is the A button with the East button, B, as the back button.
To open the menu click your back button or use your mouse. Select the Import games option and we can now start to import our games one system at a time.
First you need to select the folder where your games are stored.
If you’ve unzipped your files LaunchBox should be able to identify the platform, otherwise you’ll need to tell it the correct platform from the menu. Next you can get LaunchBox to prioritise a particular region version depending on your preference. For the rest of the options I tend to leave the Combined ROMs turned on and the rest turned off, but please use them as you need.
After that we can just select the Proceed with Import menu option to have LaunchBox scan for the game files and then finish by importing them along with the game meta data.
LaunchBox will restart and you should see your games console listed on the main system select screen. If you select it you’ll probably see a list of game genres. Simply select the all games option and you should see your imported games with the automatically downloaded logos and box images.
We are still not quite there yet. If you select a game and try to play it LaunchBox will complain about the emulator not being fully set up for this particular system. RetroArch uses individual cores to provide the emulation for each console. If you look at the screen you’ll see that LaunchBox will default to a particular emulator core, in this case the Prosystem core for the Atari 7800. We need to go to the RetroArch setup menu to download this core.
LaunchBox provides a handy menu option to open RetroArch for you. Once on the main menu screen select the Online Updater option and then Core Downloader. Scroll down the list of available cores until you find the Atari 7800 Prosystem core. Select that and RetroArch will download and install it for you.
Click the back button to get to the main RetroArch menu and quit the application. This should drop you back into LaunchBox. We can use the verify option to check if everything is connected okay, and then use the back button to return to our game select screen.
Now when we select the game it will boot up the emulator and were ready to enjoy some Atari gameplay. Once finished I can press the Quit combo (Down + Y(X) + L1 + R1) to get back to LaunchBox.
Choosing the Right Core
The Atari 7800 only offers a single emulation core so set up was very easy. If I now try to import some Super Nintendo Entertainment System ROMs I can go through the same import process, identifying the games folder, telling LaunchBox that these are SNES games, importing them into my library, selecting the system and finally selecting a game.
Again LaunchBox warns me that I haven’t yet installed a core for this particular system. But if I select the Default Core you’ll see that there are a whole range of cores that I could use. Sometimes there are particular reasons why you would use one core rather than another for better performance or better accuracy. If you search on the Internet you’ll find lots of advice on which core is best, but in most instances the one suggested by LaunchBox is your best starting point.
So, LaunchBox is suggesting the snes9x_libretro_android.so core. If we use the menu option at the bottom to open RetroArch we can use the online updater to download the core. If you scroll down the core selections you’ll come to a whole range of SNES cores and we can install the Snes9x – Current version.
If we then quit out of RetroArch and drop back into LaunchBox, we can re-select our game and this time when we click play we should have a working Super Nintendo Entertainment System console.
Systems That Need BIOS ROMs
The majority of consoles are easy to install, just the same as the ones we’ve already covered. But some need some extra BIOS software that is not supplied as part of RetroArch. For these we need to install the BIOS ROMs that we downloaded earlier. Again, I tend to just install the complete package in one go but as this takes up around 1 GB of your flash storage you may want to just install individual ROMs for the system you want to use. Either way the installation process is the same.
If we try to import some PlayStation 1 games we go through the same process as before and we end up with a PlayStation section with our games inside. Again when we first try to play a game LaunchBox will prompt us to set up our emulator. For this system LaunchBox is suggesting the mednafen_psx_hw core. From here I can now go into RetroArch and go through the online updater to download and install the correct core. This one is actually listed as the Beetle core.
After I’ve done that I can quit RetroArch and drop back into LaunchBox and I can try playing the game. But as the game tries to load I get an error screen saying that the BIOS file is missing. RetroArch is prompting me to install the scph5501.bin BIOS.
To do this we need to copy our BIOS file into our RetroArch installation folder. If we quit out of LaunchBox and drop back into Android we can use the Files application to copy files around.
When you first open the Files app you might not be able to see the internal storage in your TV box. Simply go to the three dots in the top right corner and select the show internal storage option. A new section should now appear in the left-hand column. If we select this internal storage we’ll see a list of folders one of which is our RetroArch installation folder. Inside that you’ll find the system folder and this is where we need to put our BIOS files. As you can see at the moment that’s empty.
My BIOS files are on my SD card so if I go to that drive and then navigate to where my BIOS files are stored I can use the search bar to find my PlayStation BIOS files starting with scph. If I select the file I can then drag it onto my internal storage folder, then to the RetroArch folder and then to the system folder. If I drop it in there the files app will copy the file across to where it’s needed.
I can now go back to my LaunchBox application and restart the game. This time it starts up without any error screen.
Improving Performance
Although the game starts its running incredibly slowly and the sound is terrible. It’s also giving some error messages about missing hardware drivers and so on. We obviously can’t play the game in this state.
There are a range of options we can play with to improve performance and this is where you will have to use a bit of trial and error. In this sort of situation where we’re getting loads of issues my first advice is to try a different emulator core.
If we quit back to LaunchBox and reselect our game we can choose the emulator settings option to alter the way this game is played. By default LaunchBox will use the core we set up when we first installed the PlayStation system. We now want to override that that setting. Once we do that you see we have a number of options for which core to use. The best one I found for my box is the DuckStation core. So I can select this option for this game. I’ll then need to go back into RetroArch and install that core but once that all set up I can retry the game and this time it plays flawlessly.
Changing the Default Core for a System
So now that I know which core works best for my TV box I can change the default core for all PlayStation games by going to the menu in the top right corner and selecting emulator settings. This takes me back to my emulator setup screen where I can select the DuckStation core as my default setting.
If I go back into my game settings I can turn off the override option and now when I go back and play the game it should start with the right core by default.
Stand Alone Emulators
I’ve gone ahead and installed some Nintendo 64 games to see what sort of performance we can get from this system. Using all the default settings you can see that our little S905X3 powered Android TV box is struggling to run at the full frame rate and you can especially hear this in the sound quality. Mario Kart isn’t one of the hardest games to emulate but it looks like we’ve just about reached the limits of what this device can cope with.
Playing around with the emulator settings made a bit of a difference but not enough for me to say that the Nintendo 64 was playable. So we’ll need to try another approach.
If you go to the play store you’ll find a number of dedicated Nintendo 64 emulators. One of the best rated is the M64Plus FZ Emulator. So let’s install that one to see what performance we can get.
Instead of running the game directly through the app we’ll set up Launchbox to manage the games for us. We do this by getting Mario Kart to override the default settings and use our new stand alone emulator. We can then boot up the game and you can see it’s now running inside the M64 app. I’ve turned ion the frame rate display so we can see what’s happening. This game originally ran at 30 fps so we’re actually getting pretty much full speed emulation. This difference in performance really shows up on the start grid where all of that stuttering has gone. In the actual game we also get very smooth full speed gameplay.
To put a bit more load on the system we can try some of the harder to run games.
GoldenEye is particularly taxing but we’re still getting a very usable framerate and the gameplay is more than adequate to enjoy the game. Not quite full speed all the time but more than playable.
Moving over to StarFox which is another real test for the emulator we’re still getting a fully playable game.
So, with this emulator we’ve finally got our full Nintendo 64 console.
Conclusion
So that gives us a full retro gaming system covering everything up to the Nintendo 64 but playing directly within Android so we don’t have to worry about rebooting into a separate operating system. Overall, I think the system works really well and the presentation and ease-of-use makes it a great addition to your Android TV box.
As usual it’s going to boil down to personal taste whether you prefer to use LaunchBox or something like Emuelec. The free Android version of LaunchBox also has the added restriction of only allowing you to load 100 games. If you want more than that you need to buy a licence which costs around £25.
There are other Android alternatives such as Dig which don’t have this game limit restriction. If you’d like me to make a video using that front-end system please do let me know in the comments below.