Skip to content

wimpysworld/retro-home

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Retro Home Logo
Retro Home

Your Home for Retro Gaming ๐Ÿ•น

Retro Home Screenshot

Made with ๐Ÿ’ for

Introduction

Retro Home is retro-gaming operating system for Raspberry Pi and is made possible thanks to Ubuntu and Ludo.

Ludo is a minimalist frontend for emulators

This repository hosts downloadable images of Retro Home and the script that builds Retro Home images for Raspberry Pi devices along with the associated documentation to get you retro-gaming in style.

We have a Discord for this project: Discord

Features

Downloads

Alpha images of Retro Home are available for download from the GitHub releases.

The alpha images work for most emulators and are suitable for having retro-gaming ๐Ÿ•น fun and testing to provide your feedback to the project.

Putting Retro Home on a Raspberry Pi

Building Images

  • Clone the Retro Home project
    • git clone https://github.com/wimpysworld/retro-home.git

It is best to run the retro-home-image on an Ubuntu 22.04 x86 64-bit workstation, ideally running in a VM via Quickemu. If using a fresh Quickemu VM you will need to set the disk_size parameter large enough to complete the build (around 26G). This can be achieved by adding disk_size="32G" to ubuntu-mate-focal.conf before running quickemu to create the VM. Alternatively you could mount external storage into the container for the build area. You'll also need at least to sudo apt install git.

The following incantation will build a Retro Home armhf image for Raspberry Pi.

sudo ./retro-home-image --device raspi

You can tweak some variables towards the bottom of the retro-home-image script. However, Ludo currently only publishes pre-built binaries for armhf, so changing the target architecture is not recommended.

IMG_VER="22.04"
IMG_RELEASE="jammy"
IMG_ARCH="armhf"

You can also create a build without the desktop environment by setting INCLUDE_DESKTOP to false in the variables near the end of the retro-home-image script.

# Set to "false" to skip installing these components
INCLUDE_LUDO=true
INCLUDE_DESKTOP=true

Usage

We will be adding hardware support for various retro themed Raspberry Pi cases in the future.

Usage
  sudo ./retro-home-image --device <targetdevice>

Available supported devices are:
  raspi
  megapi
  nespi
  superpi

FAQ

How do I put ROMs on Retro Home?

ROMs are stored in /storage/Retro/roms on the Retro Home file system. Once you've copied some ROMs to Retro Home (see below) you can use Ludo to scan your games.

If Retro Home has an active Internet connection while scanning your games, game thumbnails will be automatically be downloaded. Thumbnails are stored persistently and are usable without an Internet connection.

Copying ROMs on to a Raspberry Pi via WiFi is extremely slow ๐Ÿข We highly recommend you use wired Ethernet for copying files over the network to Retro Home.

Windows File Sharing (Samba)

Connect to Retro Home via Windows File Sharing (Samba) and copy ROMs to the ROMs folder.

Secure Shell (SSH)

Example:

scp *.zip ludo@retro-home-raspi.local:Retro/roms/

File copy

If you have a Linux workstation, you can insert the Retro Home memory card / USB stick into an appropriate reader and copy ROMs to the partition labelled writable in the /storage/Retro/roms directory.

What is the default username and password:

This is the default username and password for logging into Retro Home via SSH or the desktop.

  • Username: ludo
  • Password: retro

Why is a desktop environment bundled?

Having a small desktop environment is helpful during the early stages of development and debugging.

We will continue to include the desktop environment in most of the Retro Home images we make available as it is useful for downloading and installing your ROMs if you don't have another computer available.

We won't be including the desktop on Retro Home images targeting handheld devices.

What is included in the desktop environment?

  • Archive Manager
  • BitTorrent Client
  • File Manager
  • Ludo
  • Network Manager
  • Terminal Emulator
  • Text Editor
  • Web Browser

How do I access the desktop?

You must have a keyboard and mouse connected to Retro Home to access the desktop.

  • Boot Retro Home and when Ludo has loaded pressed the Escape key.
  • Ludo will exit and you'll be presented with the display manager.
  • Select the GNOME FlashBack session by clicking the icon above the password entry.
  • Enter the password for the Ludo user (retro is the default password) and press Enter.

To shutdown or reboot Retro Home from the desktop environment, click the cog icon in the top right of the panel.

Capture Card Quicks

My capture cards sync at 1920x1200 @ 59.94Hz and this cause Ludo performance to really suffer. Once Ludo is running I reset the refresh rate as follows:

env DISPLAY=:0 xrandr --rate 60

Kernel headers

If you need to build kernel modules you can install the kernel header for the Raspberry Pi kernel like so:

sudo apt-get install linux-headers-raspi

Reference

GPIO

As of Linux kernel 5.11, the old methods of communicating with the header pins on the Raspberry Pi will no longer work. This means that packages such as RPi.GPIO will no longer function properly with newer kernels.