Git Product home page Git Product logo

retro-home's Introduction

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 [email protected]: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.

retro-home's People

Contributors

daphipz avatar flexiondotorg avatar lotharsm avatar lukewh avatar philclifford avatar popey avatar rudraswat avatar takov751 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retro-home's Issues

Ludo black screen

I have try to test the basic rpi4 image burned it started up ludo starts with smaller grey square in the left top corner nothing else. Desktop mode works fine

GPI case 2 information and ideas

Gamepad seems like a no issue it's somekind of usb HID device by the look of it as I couldn't find other than "it's just works"

  1. I look trough and if dpi24.dto has no custom patch made by retroflag it's out dated. The latest file can be found

https://github.com/raspberrypi/firmware/blob/master/boot/overlays/dpi24.dtbo

LCD specific config.txt available in patch zip from their repo. That can be easily copied.
2. case has only a power switch and that can be implemented with simple

from gpiozero import Buttons, LED


powerPin = 26
powerenPin = 27

def shut() :
    os.system("sudo shutdown -h now")

#Turn on power led
led_power = LED(powerenPin)
led_power.on()
#init shutdown feature
btn_power = Button(powerPin)
btn_power.when_pressed = shut

  1. The real issue is to switch from lcd to hdmi. This should be done by rebooting, and the gpicase2 has a weird check for it
    The pin has to be enable as input and this method seems to be working only with this case. same issue with audio
HDMI_HPD=18
HDMI_HPD_VALUE=$(cat /sys/class/gpio/gpio$HDMI_HPD/value)

if "1" = $HDMI_HPD_VALUE ; then

  1. internal audio is simply adding /etc/modprobe.d/alsa-base.conf (maybe to cmdline.txt instead)
options snd_usb_audio index=0

However switching to hdmi audio from internal can be tricky

Crashes to login during Genesis core load

I did a fresh install, and then told it to load the SNES core, the NES core, then the Genesis core, and as soon as I click it will crash directly to the login screen.

Missing package when upgrading firmware

I tried to run upgrade in desktop mode just to se if it's works and it was missing mkimage for creating firmware image.

Installing u-boot-tools solved the issue. I started this as an issue as I am not sure if upgrading firmware is in scope at the moment

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.