Raspberry Pi Off-grid Gaming & Movies
Overview
A RPI-based gizmo for our T@B 320 camper to help entertain during inclement weather.
CamperPi's functionality currently includes video gaming, movies/videos and music.
Hardware/components associated with the project were acquired to install in a 2021 T@B 320 with 12v Jensen Audio/Video system.
*** 2023 Usage note: I seldom use CamperPi and NEVER when Boondocking - I'm rarely indoors and have learned to be frugal with power usage during overcast/low solar conditions ***
CamperPi: Gaming & Movies for rainy days in Camper
Last Update: August 2023 (Usage notes)
Original: Summer 2021
Background, Capabilities & ToDo's
CamperPi was originally tossed together to explore entertainment options when spending time off-the-grid where streaming apps and services are unavailable.
The initial CamperPi was a Kodi-based gizmo plugged into the camper audio/video system to serve up music and movies/videos.
The latest version uses RetroPie as a base with more focus on video gaming with a Kodi "Port" for Movies and Music.
Level of Difficulty & Prep Time
Will probably take a few sessions to get this thing setup ... lots of options!
1-2 hours to Install and test
MUCH More time to locate and populate music, movies and games.
Fun project, tho!
Intermediate Techies should be able to work thru RetroPie and Kodi interfaces. Menus and controller buttons will take time to get used to.
No need for Linux knowledge but SSH and command-line access certainly does help!
Hardware
Final Config (velcro'ed to back of T@B 320 TV as needed):
Raspberry Pi 0 * (original RPi0W)
SP 128gb Micro SD* ($14! in 2022)
*Note: Affiliate Links, I may get kickback from Amazon if you click/buy!
Software
Started with Kodi, but had many struggles with gaming. Settled on RetroPie as base w/ Kodi Addon/Port for music & movies.
Retropie v4.7.19 (after updates)
RaspiOS Buster underpinnings
Kodi add-on/optional package
// RetroPie downloaded/flashed via Rasp Pi Imager //
Step By Step
Install RetroPie and Friends (Ports)
Singing along with RetroPie Quick Start Guide. See also How to Install Kodi on RetroPie
Initially configure RPi with a network connection and the trackpad, keyboard or gizmo you plan to use with RetroPie.
Install Steps
Download and flash latest RetroPie. ~5 mins (depending on internet speed)
Raspberry Pi Imager is simplest - RetroPie is under "Emulation and Game OS"Boot da Pi, it will expand disk and start RetroPie
Initial "Welcome" is used to configure controller .... Tricky! Will probably be done multiple times!
Note: Controller config takes some getting used to! if you screw it up rerun via Start Button->Main Menu->Configure Input
Hints:
- Hold any button to start the configuration OR to skip a button during the config process
- Helpful to record/draw a keyboard layout map of config to remind of what buttons do what!
My Config:
- D-PAD UP/DOWN/LEFT/RIGHT == Direction Keys UP, DOWN, LEFT & RIGHT
- START == KEY AUDIOPLAY (Center play/pause button of Left Audio button set)
- SELECT == KEY RETURN (Also right center button between direction keys)
- BUTTON A/EAST == KEY AUDIO NEXT (Right button on Audio button set)
- BUTTON B/SOUTH == KEY VOLUMEDOWN (Bottom button on Audio button set)
- BUTTON X/NORTH == KEY VOLUMEUP (Top button on Audio button set)
- BUTTON Y/WEST == KEY AUDIOPREV (Left button on Audio button set)
- LEFT/RIGHT SHOULDER == NOT DEFINED (Skipped both for now)
- LEFT TRIGGER == KEY LEFT CTRL
- RIGHT TRIGGER == KEY RIGHT GUI (Windows Key on right bottom)
- LEFT/RIGHT THUMB == NOT DEFINED (Skipped both for now)
- LEFT ANALOG UP/DOWN/LEFT/RIGHT == NOT DEFINED (Skipped all for now)
- RIGHT ANALOG UP/DOWN/LEFT/RIGHT == NOT DEFINED (Skipped all for now)
- HOT KEY ENABLE == KEY ESCAPERetroPie Config (Center/only Icon at this point, use A Button to enter configuration, use ENTER button w/in Configuration Menus.
// I DON'T MESS WITH OTHER OPTIONS ON THIS SCREEN! //
- AUDIO: Set to HDMI 1
- RASPI-CONFIG ... Minimal changes
> System Options: Change Password & Hostname
> Localization Options: Timezone, Locale = en_US.UTF-8 and US Keyboard
> Interface Options: SSH Enabled (ssh is still handy)
- RetroPIe Setup ... update everything
> Update: Will take time to update RetroPie Packages and OS PackagesBefore exiting RetroPie Setup Script: Update & Install a couple of Optional Packages
(there are many many more). See also: https://thepi.io/how-to-install-kodi-on-retropie/Select Manage Packages->Manage Optional Packages->
- Update all installed optional packages (may take some time)
- Install Kodi for music and videos. See also https://retropie.org.uk/docs/KODI/
- Install dosbox for old dos games. See also https://retropie.org.uk/docs/PC/
Boot! Pretty sure you MUST! Use Menu->QUIT->Restart System
Post Install Cleanup
Couple of Cleanup Items ...
Via SSH ... (use default raspos uc/pw)
1) Install a couple of handy commandline tools
Favorite editor: sudo apt-get install joe
FTP is handy - sudo apt-get install ftp
2) Create a few directories for Game/Music/Videos - ssh in and create under /home/pi directory just to keep them apparent.
/home/pi/movies - We will also point Kodi to this for its movie library
/home/pi/music - Another for Kodi's music library
/home/pi/videos - for Kodi's videos
/home/pi/ftpshuttle - used as staging if we need to move something around or unzip
/Retropie/roms/pc/install - For DOSBOX, if we need to install
3) Teach RetroPie to turn off it's display (backlight too!) when screensaver kicks in (my own howto came in handy! See also: Putting Raspberry Pi Monitor to Sleep (DPMS)
added hdmi_blanking=1 to /boot/config.txt
added consoleblank=300 to /boot/cmdline.txt
Set Retropie Screensaver behavior to 'black' via <start> -> UI Settings -> Screensaver Settings: Set timer and SS Behavior==BLACK
4) Fire up Kodi and skinny down the main menu to simplify
Scroll to "Ports" and Launch Kodi (A Button)
Once in Kodi click on gear in upper bar and select Settings->Interface
- Click on Skin->Configure Skin
- Highlight Main Menu items and turn off everything except Movies, Videos and MusicRepeated <esc> to return to RetroPie via Power Icon on Main Kodi Screen ... Use EXIT (not power off or reboot)
Download & test Movie, Song & Game
*** Disclaimer ... The RetroPie File manager details below MAY work but it is cumbersome
Personally, I now use Samba on the CamperPi and simply drop games and media onto shared drive ...
I need to retrace my steps and document that setup some point ***
See Also: https://retropie.org.uk/docs/Transferring-Roms/ or Midnight Commander underpinning.
Copy in a few games, movies & music to test things out.
There are probably easier ways to load files to RetroPie but pulling files from an FTP server works best for our library of games, movies and music. The step by step below uses RetroPie File Manager to copy files from our server followed by some shuffling around to add things to Kodi Library or appropriate RetroPi ROM directories.
Downloading Test Media
Building a legal library of music, movies and games is a totally separate discussion ... We'll start with one free movie, song and game downloaded from the Internet Archives:
Movie: Reefer Madness is fun. MP4 from https://archive.org/details/reefer_madness1938
DOS Game: Bio Menace. DOSBOX zip from https://archive.org/details/BioMenace
Arcade Game: Super Tank from MameDev: https://www.mamedev.org/roms/supertnk/
Music: Glenn Miller (78rpm recording) from https://archive.org/details/78_in-the-mood_glenn-miller-and-his-orchestra-joe-garland_gbia0026102a
Transferring Files
Select RetroPie (Configuration), then File Manager ... it's a side-by-side (Source->Destination) interface
Step by Step to Copy file from A to B (You'll get the hang of it!)
Set Left pane (source)
- fcn-F9 (PullDn) the Left-FTP link ... Standard FTP Syntax: "ftp://<user>:<pw>@<ftpserverIP>"
- Navigate to source of music, movies or gamesTab to Right (local destination) pane
- Highlight directory and <return> to setTab back to left, Highlight file (or directory) and fcn-F5 to copy files
Unzip or Move?
Downloaded games will typically be zipped (archive of multiple files). In the case of DOS games, like Bio Menace, you'll need to unzip them into appropriate RetroPie directory (DOSBOX uses /RetroPie/roms/pc). Arcade games will often be moved and stored as zip files, they are unzipped when they are played. Super Tank is a Mame game, it's zip file simply needs to be moved to /RetroPie/roms/mame-libretro directory. Lots to learn here!
If you select a zip file in the Left (source) pane and copy (fcn-F5) the zip archive will be copied. If you select the zip file and hit <enter> you will open the zip and be able to copy/move individual files.
Lots of options here, it really depends on the game. Some DOS games will require you to run a DOS install under DOSBOX, arcade games seem to be copied as zip files.
Exiting out of this mess
fcn-F10 to exit File Manager
Hit gamepad B to exit RetroPi Configuration
BOOT! Gamepad START->QUIT->RESTART SYSTEM
Minimally have to restart EmulationStation to have new games show up on RetroPie GUI.
Notes
Odds N Ends
August 2023 - Couple of notes from experience
Hardware positioning: The Jensen HDMI interface was overly complex and a problem. CamperPi is now plugged directly into TV and Velcro'ed to the back of TV.
Usage: Really not used very often, I rarely sit inside the camper. Probably only useful when camper is on shore power. When boondocking it's a good idea to be fugal with power usage. Solar charging is very important and typically not available during inclimate weather.
May 2022
Razin-Frazin CamperPi failure on first solo/cold camping trip of the year!
Movie Froze after approx 5 mins ... all movies failed, retropie games seemed fine
Guessing that it was hdmi_blanking mode from March. Undid this and movies played fine (camper in driveway)
Reset hdmi_blanking=0 in /boot/config.txt
Removed consoleblank=300 in /boot/cmdline.txt
March 2022
Messed around with ScreenSavers and turning off monitor when not in use - the following seemed to do the trick!
Ended up in my own howto @ https://tech.tpedersen.net/raspberry-pi/pi-in-the-sky/putting-raspberry-pi-monitor-to-sleep-dpms
added hdmi_blanking=1 to /boot/config.txt
added consoleblank=300 to /boot/cmdline.txt
Set Retropie Screensaver behavior to 'black' (not sure if this really helped!)
Random Links, Notes, struggles, etc
Useful RetroPie chatter
Official Forum @ https://retropie.org.uk/forum/
On Reddit @ https://www.reddit.com/r/RetroPie/
Kodi multimedia formats @ https://kodi.wiki/view/Features_and_supported_formats#Format_support
-----------------
Notes on generations/attempts
Initial project used Kodi as a base and attempted to get Kodi gaming working - was truly a struggle. If you DO use Kodi as a base, https://libreelec.tv/ is probably the best path. Settled on this distro for our MoviePi's - it simplified life considerable
Can't recall where following came from, but looked to be handy/keeper!
The HOTKEY ENABLE button will allow you to easily perform actions while in a game:
Hotkey + Start
Exit
Hotkey + Right Shoulder
Save
Hotkey + Left Shoulder
Load
Hotkey + Right
Input State Slot Increase
Hotkey + Left
Input State Slot Decrease
Hotkey + X
RGUI Menu
Hotkey + Y"Emulation
Reset
Very random stuff follows!
had to enable ssh and update the system before getting dosbox or kodi installed
error: E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Fix:
turn on ssh via raspi-config (seems ok to change pi pw)
then
sudo apt update -y
then
sudo apt-get update
sudo apt-get -f install
sudo apt-get dist-upgrade
------------
Weird audio issues when working with 3.5mm audio jack
Finding legal games, music and movies
An Interesting Find ... Artifacts from good old Infocom. History, games and free zork! http://infocom-if.org/downloads/downloads.html
Here's an interesting link: Best Video Games by year (1971 - 2020) @ https://www.imdb.com/list/ls023816644/
Lots to think about in terms of legalities ... more random links below. I'll organize later
Internet Archive's DMCA Exemption @ https://archive.org/about/dmca.php
https://www.eff.org/deeplinks/2015/11/new-dmca-ss1201-exemption-video-games-closer-look
https://www.howtogeek.com/262758/is-downloading-retro-video-game-roms-ever-legal/
https://www.eff.org/issues/dmca
https://gamefaqs.gamespot.com/boards/204-classic-gaming/67020242
Free games @ https://www.mamedev.org/roms/
Best Internet Archive movies (circa 2010) - https://web.archive.org/web/20111125191000/http://tech.blorge.com/Structure:%20/2010/08/11/top-40-best-free-legal-movies-you-can-download-right-now/
Low-Power CamperPi!!
Winter attempt to create a smaller, lighter and lower power version ... notes to self at this point ...
*** I'm pretty excited about this one ... RPI 0w + 128g microsd running RetroPie w/ Kodi 'Port' connected via 5v, 550mA power supply is serving up Movies, Games and Music without breaking a sweat! NO THROTTLING, 25-30% CPU during Movie Playback! *** How can this be ?!?!
Deep Dive into Raspberry Pi Zero 2w Power Consumption ...
@ https://www.cnx-software.com/2021/12/09/raspberry-pi-zero-2-w-power-consumption/
Raspberry Pi Zero W power analysis @ http://robertthewombat.com/power-requirements-for-the-raspberry-pi-zero_w/
Script to monitor voltage @ https://jamesachambers.com/measure-raspberry-pi-undervoltage-true-clock-speeds/
Script to Check Power Supply @ https://bia.is/2019/02/02/raspberry-pi-check-your-power-supply/
Hardware
Rapsberry Pi Zero w w/ official case
Long usb cable, will try to use Built-in USB jacks in camper
128g MicroSD to replace portable ssd
Touch-ups in step-by-step
Turn-on/Set Wifi while in Rapsi-Config initially for SSH setup
WiFi will be off when Offgrid
edit /boot/config.txt, add hdml_blanking=1
edit /boot/cmdline.txt add consoleblank=300