Raspberry Pi - RetroPie and Attract Mode Pixelcade Install Guides

Pixelcade for RetroPie Features

  • High scores will scroll for select MAME games. If the MAME game has a high score, Pixelcade will cycle between high scores and the game marquee upon game launch. By default, Pixelcade will scroll the top 3 high scores but this can be customized per the scripts below.
  • Now Playing < Game Name > will scroll when a new game is launched and then the marquee will be displayed.
  • Game marquees will now display correctly from EmulationStation collections and no longer require re-mapping using the console.csv file
  • Power users can customize Pixelcade behavior on game launch, and other events, see user customizable scripts below.
  • You can now re-run the installer to get the latest Pixelcade artwork while preserving any custom artwork you’ve done.

Step 1: Burn the RetroPie image using a tool like Balena Etcher.

Step 2: Insert the microSD card in your Pi and power on. After EmulationStation loads, hit < F4 > to exit to a command line and type:

sudo raspi-config

Follow prompts to enable Wi-Fi. You can also enable SSH to remote shell to your Pi (optional).

Step 3:

  • If using Pixelcade LED, power on your Pixelcade LED Marquee and remove the Bluetooth dongle if it’s plugged in. Using the included USB A-A cable, plug one end into Pixelcade’s PCB board and the other end to your Raspberry Pi. Ensure the toggle switch on the Pixelcade PCB board is pointing towards “USB”, it will not work if it’s pointing towards “BT”.
  • If using Pixelcade LCD, ensure it was previously setup and configured to your WiFi or Ethernet. Pixelcade LCD must be on the same WiFi or Ethernet network as your Raspberry Pi. 

Step 4: From a command line, type the command below and follow the prompts. If you are in EmulationStation, you can exit to a command line by hitting < F4 > on your keyboard. You may also copy and paste this command via a remote SSH session (easier).

Pixelcade LED (use this also if you have Pixelcade LED + Pixelcade LCD)

curl -kLO -H "Cache-Control: no-cache" https://raw.githubusercontent.com/alinke/pixelcade-linux/main/installer-scripts/setup-retropie.sh && chmod +x setup-retropie.sh && ./setup-retropie.sh

Pixelcade LCD (use if you only have Pixelcade LCD)

curl -kLO -H "Cache-Control: no-cache" https://raw.githubusercontent.com/alinke/pixelcade-linux/main/installer-scripts/setup-retropie-lcd.sh && chmod +x setup-retropie-lcd.sh && ./setup-retropie-lcd.sh

Pixelcade LCD Artwork Updater

curl -kLO -H "Cache-Control: no-cache" https://raw.githubusercontent.com/alinke/pixelcade-linux-builds/main/lcdupdater/lcdupdater.sh && chmod +x lcdupdater.sh && ./lcdupdater.sh

Note if installing on a pre-made RetroPie image, you may get a “permission denied” message when running the above command. If this happens, then  use this command instead:

If you are having a conflict with another USB device (such as Sinden Light Guns, AdaFruit volume control board, etc.), then manually modify this file /opt/retropie/configs/all/autostart.sh and replace the Pixelcade line with this

At the end of the setup script, Pixelcade should be displaying “1941”

When prompted, choose yes to reboot. Your Pi should then boot directly into EmulationStation and Pixelcade should be changing as you browse through emulators and games.

You can customize the Pixelcade behavior by modifying the scripts located in 

/home/pi/.emulationstation/scripts

Here are the scripts for reference which you can customize

https://github.com/alinke/pixelcade-linux/tree/main/retropie/scripts

ScriptDescription
Game Start

Launches each time a game is launched. This script will check if the game has high scores and display high scores in cycle mode if yes. Cycle mode means cycling between the game marquee and the high score scrolling. If the game does not have or does not support high scores, then the text “Now Playing will scroll and then the game marquee will be displayed. 

You can customize these settings in this script:

DISPLAYHIGHSCORES=yes

If set to no, high scores will not scroll and the “Now Playing will scroll and then the game marquee will be displayed.

NUMBERHIGHSCORES=3

The number of high scores to scroll, choose 1 for example to only show the top score.

CYCLEMODE=yes

Cycle mode continually cycles between the game marquee and scrolling high scores while a game is active. If set to no, then high scores will scroll only once on game launch and then display the game marquee.

NUMBER_MARQUEE_LOOPS=1

For cycle mode, the number of times the animated marquee will loop before scrolling the high score text, this has no effect if it’s a still image game marquee.

Front End Restart or Shutdown

 Launches when the EmulationStation front end is restarted or shutdown. This script will display the text “Bye” using this API call:

http://localhost:8080/text?t=<Your%20Scrolling%20Text%20Here>

Here are features available from the Pixelcade API which you can use in the above scripts https://pixelcade.org/api

Pixelcade supports RetroPie with EmulationStation and Attract Mode.  See the Attract Mode section towards the bottom of this page. Many thanks to Russ, Kai and Tony for developing the integrations with EmulationStation and Attract Mode. 

Raspberry Pi 3 Series and Raspberry Pi 4 are supported. It’s highly recommended and supported to use the stock RetroPie image from http://retropie.org.uk

Other pre-made RetroPie images may or may not work and are not supported.

For Pi 3 and B+ and Pi 4

For reference, this automated installer script does the following:

  • Checks if the Pixelcade LED marquee is connected
  • Checks if OS is Stretch or Buster
  • Checks if RetroPie is installed
  • Checks if Attract Mode is installed and installs Pixelcade Attract mode plug-in
  • Installs Java 
  • Creates /home/pi/pixelcade which is the home folder for Pixelcade and copies files including artwork
  • Adds the Pixelcade listener (pixelweb.jar) to your startup via /opt/retropie/configs/all/autostart.sh
  • Installs updater which checks for upgrades upon reboot if that was selected
  • Modifies host name to pixelcade
  • Installs a few fonts that Pixelcade uses 
  • Installs a modded version of EmulationStation that integrates with Pixelcade
  • Displays a test image “1941”
  • Prompts for Reboot

Optional LED Art Pack

Attract Mode

If you have Attract Mode installed on your Pi, the existing setup script will also install the Attract Mode plug in. Also note that if switched from EmulationStation to Attract Mode, Pixelcade will no longer start at Pi startup so you’ll want to run the installer again.

The installer script will also automatically add and enable the Pixelcade plug-in but you can manually check too by bringing up the Attract Mode configuration menu (tab key on your keyboard).

Instructions

Step 1: Download a supported image. The images below or any of the RetroPie images above which have Attract Modes should work.

Raspberry Pi 3 and 3B+ Images

Raspberry Pi 4 Images

Step 2: Insert the microSD card in your Pi and power on. After Attract Mode loads, hit < F4 > to exit to a command line and type:

sudo raspi-config

Follow prompts to enable Wi-Fi. You can also enable SSH to remote shell to your Pi (optional). You should also choose expand filesystem if you have not already done to take

Step 3:

  • If using Pixelcade LED, power on your Pixelcade LED Marquee and remove the Bluetooth dongle if it’s plugged in. Using the included USB A-A cable, plug one end into Pixelcade’s PCB board and the other end to your Raspberry Pi. 
  • If using Pixelcade LCD, ensure it was previously setup and configured to your WiFi or Ethernet. Pixelcade LCD must be on the same WiFi or Ethernet network as your Raspberry Pi. 
  • Ensure the toggle switch on the Pixelcade PCB board is pointing towards “USB”, it will not work if it’s pointing towards “BT”.

Step 4: Exit to a command line by hitting < F4 > on your keyboard. You may also execute this command line via a remote SSH session.

Pixelcade LED (use this also if you have Pixelcade LED + Pixelcade LCD)

curl -kLO -v -H "Cache-Control: no-cache" https://raw.githubusercontent.com/alinke/pixelcade-linux/main/installer-scripts/setup.sh && chmod +x setup.sh && ./setup.sh

Pixelcade LCD (use if you only have Pixelcade LCD)

curl -kLO -v -H "Cache-Control: no-cache" https://raw.githubusercontent.com/alinke/pixelcade-linux/main/installer-scripts/setup-lcd.sh && chmod +x setup-lcd.sh && ./setup-lcd.sh

Note that Pixelcade will not update during the screen saver of Attract Mode. Big thanks to Tony for developing the Attract Mode integration. 

Pixelcade Art Browser for Pi Zero W

Follow these instructions to run the Pixelcade art browser on a $10 Raspberry Pi Zero W.

Release Notes

Browsing Artwork and Customizing the Default Image/Animation from a Web Browser

There is also a Web UI to browse artwork and customize the default image or animation on Pixelcade.

  • Saving will write the selected image or animation to Pixelcade’s onboard microSD card and the last written image or animation will loop and continue to play when your Pi starts up and when EmulationStation or Attract Mode has been closed.

IMPORTANT: After clicking save, Pixelcade will go blank do not click or do anything else until the image or animation re-appears on Pixelcade. Longer animations will take longer to save.

  • From your web browser, go to

http://retropie.local:8080 or <Your Pi IP Address>:8080

As long as you can reach your Pi on your network, you can reach this page from any computer on your network.