Retropie: Add Artwork to Apps Section

If you followed my previous guide on Dualbooting Raspbmc and Retropie you probably found that the apps section you added was out of place as it was not themed.

This guide assumes that you have already edited your es-systems.cfg file(/etc/emulationstation/es_systems.cfg) and added this:

<system>
    <fullname>Apps</fullname>
    <name>apps</name>
    <path>~/RetroPie/roms/apps</path>
    <extension>.sh .SH</extension>
    <command>%ROM%</command>
    <platform>pc</platform>
    <theme>apps</theme>
</system>

Now you will want to copy the /etc/emulationstation/themes/simple/apps/ports folder to your computer.

Now rename the ports folder to whatever is inside these tags(case-sensitive)

<theme>apps</theme>

From here on out its actually a simple process if you have the images you want to use ready you will need to move these images to the apps/art folder
You will need at least 2 files, a background image and a logo image.
The background image will be high resolution .jpg file I used the second background found in the ports folder as ports_art_blur.jpg
The logo image will be the image shown in the middle system selection bar.

I have provided a quick template you can use, it does not have an icon, you will need to add it and make the background transparent and save it as png.

apps template

NOTE:As far as I’ve tested you can use .png .svg and .jpg files I recommend PNG as they are a lot easier to work with than .SVG(even though they scale better) and because .jpg doesn’t support transparency.

Now we need to edit the theme.xml file (I recommend you use Notepad++ as it makes it easier to edit xml files):

You will need to edit the following lines with the paths of your own images and what you want written in the top left corner of the rom selection screen

line 8

<path>./art/ports2_art_blur.jpg</path>

line 12

<path>./art/ports.svg</path>

line 25

<text>Game Ports</text>

line 36

<path>./art/ports.svg</path>

Save this file and copy the apps folder to /etc/emulationstation/themes/simple/ on your pi. When you restart emulationstation you should see your images.

If you want to theme each app you can proceed if not you are done.

First thing you’ll want to do is run the scrapper and skip each time it fails to find this will create a skeleton gamelist.xml at /home/pi/.emulationstation/gamelists/apps which you will edit.

Second you will want to move the icons you will use to /home/pi/.emulationstation/downloaded_images/apps (mine are all .jpg files but I believe other file types are supported.)

Now just edit the contents of your gamelist.xml as needed here is my example for StartX you can do this either in Notepad++ or by pressing select within emulationstation.

<game>
<path>./StartX.sh</path>
<name>StartX</name>
<desc> Start a Desktop Environment</desc>
<image>~/.emulationstation/downloaded_images/apps/Raspbian.jpg</image>
<rating>1.000000</rating>
<releasedate>20140905T000000</releasedate>
<developer>Raspberry Pi</developer>
<publisher>Linux</publisher>
<genre>OS</genre>
</game>

And the results are this:
photo 3

Advertisements

Raspberry Pi: Raspbmc+Retropie Dualboot

This slideshow requires JavaScript.


The Raspberry Pi is a great little device with which you can easily use to create a Media Center with (Raspbmc, Openelec or Xbian) or an Retro Console with (Retropie). Unfortunately I couldn’t find a good write up on how to have both of these functions using the same SD card. So I decided to write one.

Necessary Tools:

16gb+ SD Card (I will be using an 8gb SD card for this tutorial but this leaves you with very little space for roms)
USB Keyboard/SSH to run commands(Recommended)
Raspberry Pi

Lets get started:

1.)Download and Extract NOOBS or NOOBS-lite(at the time of writing the latest version is 1.3.9), i will be using NOOBS lite due to the fact that I’m using an 8gb SD card and don’t want to waste space on Operating Systems i’m never going to use. Copy the extracted files to the root of  your SD Card.

NOTE: In the current release the autoboot.txt feature which is what we will use to dual boot is broken, there is a fix that will be included in future releases but if a new version has not been released you will need to manually replace the bootcode.bin in the root of your SD Card with the one here. (Solution comes from https://github.com/raspberrypi/noobs/issues/195)

2.)  Now we’re ready to install our operating systems. When you boot you should see the NOOBS OS install menu. We will want to select Raspbian and Raspbmc. Once selected you can go ahead and install. This process can take a while.Once the OS’s are installed a dialog box will come up and when you hit OK your Raspberry Pi will reboot into a selection screen.  We will first setup Raspbmc side of things.

3.) Upon first boot allow Raspbmc to finish its setup and update then go through the Raspbmc on screen Configuration.

We now need Advanced Launcher so we run

wget http://www.gwenael.org/Repository/repository.angelscry.xbmc-plugins/repository.angelscry.xbmc-plugins-1.2.2.zip

When its done install the repository by going to System>>Add-ons>Install from zip file>>Home Folder then go to Add-ons>>Get Addons>>Angelscry Repository>>Program Add-ons and install Advanced Launcher

With this done we need to create the script that we will launch with Advanced Launcher

sudo nano RetroPie.sh

With the following contents:
RetroPie.sh

#!/bin/sh
sudo sed -i 's/5/7/g' /media/RECOVERY/autoboot.txt
sudo reboot

Make it executable

sudo chmod +x RetroPie.sh

Now we create out autoboot.txt

sudo nano /media/RECOVERY/autoboot.txt

Add the line:

boot_partition=5

Now open Advanced Launcher

Select Default>>Standalone Launcher >>Home folder >> RetroPie.sh

Leave Application Arguments Blank, set the title as you wish, platform doesn’t matter, i chose Linux, i did not provide a thumbnail or fan art (just select OK)

With that done I recommend you add the newly created launcher to your favorites to avoid having to dig for it every time you want to switch.

Now you can go ahead and run this from your favorites on xbmc(Star Icon on default skin near shutdown button) and your raspberry pi should reboot to Raspbian.

Now for the Raspbian(Retropie) Side.

4.)When done booting you will see raspi-config, there are a few settings we want to change here. First you will want to change the Overclock Settings, I chose medium but you can experiment and see what works best for you. Next you want to go to Advanced Settings and change the memory split I’m using a  Raspberry B with 512mb so I make it 256 but again it helps to experiment and find what works best.

(Optional) Enable autoboot to desktop, this makes it much easier to setup Wireless Settings

Finish and Reboot into Raspbian.

(Optional) Configure your Wireless settings

5.) We will now use the Retro-Pie-Setup Script from petrockblog to setup emulation station and our emulators I will be following the instructions at: https://github.com/petrockblog/RetroPie-Setup step by step so head there for the most up-to-date install instructions

In the terminal: Update Raspbian and install git

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y git dialog

Then use git to download the latest Retropie Script:

cd
git clone --depth=0 git://github.com/petrockblog/RetroPie-Setup.git

Once this is done we will make the script executable and run it:

cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh

Now select an installation method(binaries or source based) and wait for it to complete.

Once installation is finished we want EmulationStation to start on boot so go to Setup(only if you have run one of the installations above) and select Auto-Start EmulationStation  and select Option 2 Start Emulation Station at boot.

6.) Now that we have Emulationstation and our Emulators configured we will want to add the option to switch to Raspbmc. To do this I created a separate “system” for EmulationStation called apps by editing the es_systems.cfg file.

sudo nano /etc/emulationstation/es_systems.cfg

I added the following before </systemList>:

<system>
    <fullname>Apps</fullname>
    <name>apps</name>
    <path>~/RetroPie/roms/apps</path>
    <extension>.sh .SH</extension>
    <command>%ROM%</command>
    <platform>pc</platform>
    <theme>apps</theme>
</system>

We then make the apps directory, a directory our script uses to mount our Recovery partition, and add our script:

sudo mkdir ~/RetroPie/roms/apps
sudo mkdir /media/RECOVERY/
cd ~/RetroPie/roms/apps
sudo nano Raspbmc.sh


Raspbmc.sh

#!/bin/sh
sudo mount /dev/mmcblk0p1 /media/RECOVERY/
sudo sed -i 's/7/5/g' /media/RECOVERY/autoboot.txt
sudo reboot

We then make our script executable and allow it to run as root:

sudo chmod +x /home/pi/RetroPie/roms/apps/Raspbmc.sh 
sudo visudo 
add the following to the end of the file:
pi ALL=NOPASSWD: /home/pi/RetroPie/roms/apps/Raspbmc.sh

We are done with the Raspbian/Retropie Side of things after a reboot you should see emulationstation with an apps category with one entry called Raspbmc which when selected will reboot your pi and start Raspbmc. At this point you can add roms/edit the Raspbmc entries metadata and edit the theme of Emulation Station to make it look better. I won’t be going through that or sharing my theme files as i’m not very good at creating graphics and I don’t know what the usage terms for the images I used are(i just did a google image search and grabbed the files). I used the theme files for Ports as my base and edited from there.

In case anyone else wants them these are the other two scripts I have in my roms/apps folder:

StartX.sh

#!/bin/sh
startx

Pair PS3 Controller.sh(this only works after setting up PS3 controller driver using the retropie-setup script)

#!/bin/sh
sudo /opt/retropie/supplementary/sixpair/sixpair

We have finished this process, you are ready to make setup the rest of retropie (great guide is being written by Jessie at RetroPie ver 2.3. The Pictoral Primer.)
and customize xbmc as you see fit! Have Fun!

EDIT: Video as requested.

Special Thanks:

Aloshi for Emulation Station
Petrockblog for a great script which makes this so much easier
Sam Nazarko for Raspbmc
The Rasperry Pi Foundation for an awesome little computer
Any developers I might have missed.