Skip to content

Dynamic Marquee Setup

Eugene Shin edited this page May 16, 2022 · 2 revisions

This setup process is similar to the setup in Batocera or Retropie for dynamic marquees.

  • This is a guide to setup TWO computers (1x "Primary Display" and 1x "External Display" (ideally, an LCD Marquee)

Prerequisites

  • An EmuELEC v4.5 installation (i.e., EmuELEC - Odroid N2+ 4GB)
  • A Wi-Fi enabled Raspberry Pi
  • Marquee image file sets in .png format (tested resolutions include 1024x512)

Setting up the Primary Display

  1. Complete a successful installation of EmuELEC v4.5
  2. SSH into the Primary Display Computer (If you try to use a Samba File transfer over FTP, you'll get errors in the scripts and none will run. It's preferred to SSH into the Primary Display Computer and perform all setup from the command line.)
  3. Navigate to "/storage/.config/emulationstation/scripts"
  4. Create three new directories, and place a script in each directory (each script should be named "01-marquee.sh")
  • Folder Name: "game-start" | Script Name: "01-marquee.sh"
    #!/bin/bash
    Marqueeip=x.x.x.x #External Display Device IP Address
    case 1 in gameStart)
    romname={5##*/}
    gamename=${romname%.*}
    echo ./marquee.sh GameStart $2 "\"gamename\"" | nc $Marqueeip 5555 &
    ;;
    gameStop)
    echo sudo pkill ffmpeg | nc x.x.x.x & #External Display Device IP Address
    ;;
    esac

  • Folder Name: "game-selected" | Script Name: "01-marquee.sh"
    #!/bin/bash Marqueeip=x.x.x.x #External Display Device IP Address
    System=$1
    Romname=${2%.*}
    rom=${Romname##*/}
    echo ./marquee.sh Gameselected $System "\"$rom\"" | nc $Marqueeip 5555 &

  • Folder Name: "system-selected" | Script Name: "01-marquee.sh"
    #!/bin/bash
    Marqueeip=x.x.x.x #External Display Device IP Address
    System=$1
    echo ./marquee.sh Systemselected $System | nc $Marqueeip 5555 &

Setting up the External Display - Marquee Computer

  1. Download and install Raspberry Pi OS Lite on your device
  2. SSH into the External Display Computer (If you try to use a Samba File transfer over FTP, you'll get errors in the scripts and none will run. It's preferred to SSH into the External Display Computer and perform all setup from the command line.)
  3. Update the Raspberry Pi via the following commands
    sudo apt-get update
    sudo apt-get upgrade
  4. Install ffmpeg onto the Raspberry Pi
    sudo apt-get install ffmpeg git libjpeg9-dev libjpeg9 libpng16-16 libpng-dev
  5. Compile fbv onto the External Display Device by running the following commands:
    sudo git clone https://github.com/godspeed1989/fbv.git
    cd fbv
    sudo ./configure
    sudo make
    sudo make install
  6. Configure the External Display Device to automatically boot the marquee scripts on boot by editing this text file with root privileges:
    sudo nano /etc/rc.local
  7. Add this snippet one line before exit 0 line
    cd /home/pi
    nc -vklp 5555 | /bin/bash &
  8. Configure the External Display Device to assume the role as a secondary linked computer:
    sudo nano /boot/cmdline.txt
  9. Edit console=tty1 to console=tty3, and append logo.nologo vt.global_cursor_default=0 to the end of the line
  10. Navigate to "/home/pi", or "~/" and create the following script: Folder Name: "pi" | Script Name: "marquee.sh"
    #!/bin/bash

case in
GameStart)
Systemname="" #System Name
Romname="" #Rom Name

if [ -f "/home/pi/marquee/$Systemname/$Romname.mp4"]
then
ffmpeg -i "/home/pi/marquee/$Systemname/$Romname.mp4" -vf scale=1280:720 -sws_flags bilinear -pix_fmt rgb565le -f fbdev /dev/fb0
elif [ -f "/home/pi/marquee/$Systemname/$Romname.png"]
then
fbv "/home/pi/marquee/$Systemname/$Romname.png" -fel
else
fbv /home/pi/marquee/default.png -fel
fi
;;

Gameselected)
Systemname="" #System Name
Romname="" #Rom Name
if [ -f "/home/pi/marquee/$Systemname/$Romname.mp4"]
then
ffmpeg -i "/home/pi/marquee/$Systemname/$Romname.mp4" -vf scale=1280:720 -sws_flags bilinear -pix_fmt rgb565le -f fbdev /dev/fb0
elif [ -f "/home/pi/marquee/$Systemname/$Romname.png"]
then
fbv "/home/pi/marquee/$Systemname/$Romname.png" -fel
else
fbv /home/pi/marquee/default.png -fel
fi
;;

Systemselected)
imagepath="/home/pi/marquee/sysimages/"
if [ -f "$imagepath.png" ]
then
fbv "$imagepath.png" -fel
else
fbv /home/pi/marquee/default.png -fel
fi
;;
esac

**After the creation of the script, you need to set all the correct file permissions (i.e., "chmod 777 #filename").

Folder Structure

  • All images must be in .png format (Resolution should scale with 1024x512)
  • On the root of the External Display Computer (i.e., /home/pi/), create a folder named 'marquee'
  • Inside of the 'marquee' folder, add the systems per the naming structure in the "roms" folder
  • In the marquee folder, create a folder named 'Sysimages' to hold your default images for selected systems
  • In the marquee folder, place a 'default.png' to serve as your default image during system bootup or for games without designated marquee files
  • In each of the system folders, add the .png marquee files with the same names as the rom files (for example, mslug.zip would be mslug.png or mslug.mp4)

Folder Tree:

/home/
-|/pi/
--|/marquee/
---|default.png
---|/arcade/
----|mslug.png
----|mslug.mp4

Getting Started

Specific Emulators

Ports (and getting them to work)

Other

Other Languages / Otros Idiomas

Español

Emuladores:

Ports:

Comprobaciones:

Desarrollo:

Otros:


русский (Russian)


Chinese

Clone this wiki locally