Advanced Configuration - mdeguzis/RetroRig GitHub Wiki

Table of Contents


Intro

Many configuration files and pre-sets are setup within RetroRig. Each component below has a page for configuration details that were performed. Advanced configurations, such as overclocking, BIOS files, can be found in those pages as well. Tweaks to RetroRig's installer itself, and other settings/objects will be found here. For those seeking that more in-depth information, click on any one of the sub-pages in the following list.

Individual components

<a name="howitworks"


How it all works

RetroRig application launcher
  • Path: /usr/share/applications/RetroRig.desktop
  • RetroRig is either launched from the Desktop Shortcut or Unity shortcuts
  • The desktop file is a standard launcher file that launchers /usr/share/applications/startXBMC.sh
startXBMC.sh
  • Path: /usr/share/applications/startXBMC.sh
  • startXBMC.sh is referenced from the application launcher
  • It's main job is to handle the environment paths and status of RetroRig
  • The $HOME path is set for RetroRig
  • The main xbmc-retrorig excutable is run
  • xbmc-retrorig is continually monitored for it's application state (running/not running)
xbmc-retrorig
  • Path: /usr/bin/xbmc-retrorig
  • This file takes care of launching our modified versions of xbmc.bin, as well as the typical logging XBMC provides.
gp_autodetect_xbmc
  • Path: /usr/share/applications/gp_autodetect_xbmc.sh
  • This monitoring script detects if there is a disconnection in the controller
  • If a connection is severed, XBMC is notified of the change and triggers a small piece of code to reinitialize the joysticks.
rescan
  • Path: /etc/init.d/rescan
  • This service starts, stops or restarts gp_autodetect_xbmc.sh based on the running state of XBMC
  • The service also is responsible for determining if the correct patched version of XBMC is present
Controller init services
  • Path: dependent on distro
  • Most commonly, xboxdrv is used for most controller types, sixad for PS3 Bluetooth services
  • xboxdrv uses /etc/default/xboxdrv to maintain it's service configuration file


Backend Files

For all affected files and backend configurations, the code is commented in that spot. Most, if not all notation about this, is contained in the scriptmodules/ folder on GitHub.

How RetroRig functions

For historical purposes, and to remind even myself what I'm doing half the time, I thought that it would be pertinent to sketch just how RetroRig launches and interacts with files. This area is subject to change and may not always be 100% up to date.

A general summary of affected file/folder locations are as follows:

Application files
  • $HOME/.retrorig/.xbmc
  • /usr/share/applications/startXBMC.sh
  • /usr/share/applications/RetroRig.desktop
  • /usr/share/applications/gp_autodetect.sh
Utilities / Tools
  • $HOME/.retrorig/.config/antimicro
Emulators
  • $HOME/.retrorig/.config/mupen64plus
  • $HOME/.retrorig/.config/ppsspp
  • $HOME/.retrorig/.config/pcsx2
  • $HOME/.retrorig/.dolphin-emu
  • $HOME/.retrorig/.stella
  • $HOME/.retrorig/.mednafen
  • $HOME/.retrorig/.mess
  • $HOME/.retrorig/.mame
System Files (dependent on distro type)
  • /etc/default/xboxdrv
  • /etc/init.d/xboxdrv
  • /etc/init.d/sixad
  • /etc/init.d/rescan
  • /usr/bin/xbmc-retrorig


Language support for local folders

RetroRig makes some changes and additions to local folders, such as the users' desktop icons. In other languages, these are obviously different. To combat this, RetroRig uses the XDG variables that allow this to be possible:

Here's what folders are specific (example German set):

cat ~/.config/user-dirs.dirs:

XDG_DESKTOP_DIR="$HOME/Schreibtisch"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Vorlagen"
XDG_PUBLICSHARE_DIR="$HOME/Öffentlich"
XDG_DOCUMENTS_DIR="$HOME/Dokumente"
XDG_MUSIC_DIR="$HOME/Musik"
XDG_PICTURES_DIR="$HOME/Bilder"
XDG_VIDEOS_DIR="$HOME/Videos"


Controller configurations

A list of support and unsupport controllers can be found on the Gamepads wiki page, as well as documenation for configuring them.


Suggested Emulators

Each one of the sections of RetroRig's default Rom Collection Browser Listings have default emulators setup. Refer to the below list for more information. Please also see the Emulator Resource Page for alternative emulators and more information.

Atari 2600

Suggested emulator: Stella
Alternative emulators: Unknown

Tips and Tricks:
Gamepad is enabled for navigation of menu system

Please see the Stella wiki entry for more.


Atari Lynx

Suggested emulator: Mednafen Alternative emulators: Unknown

Tips and Tricks:
Requires BIOS file for operation. Please see the Mednafen wiki entry for more.


Gameboy

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks:
Please see the Mednafen wiki entry for more.


Gameboy Color

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks:
Please see the Mednafen wiki entry for more.


Game boy Advance

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks
Please see the Mednafen wiki entry for more.


MAME

Suggested emulator: mame
Alternative emulators: unknown

Tips and Tricks:
Gamepad is enabled for navigation of menu system. There is no quick save/load feature that I saw. Doing a save/load prompts for a slot number. You could work around this if you wish to give up a button on your gamepad to map to a number 0-9 with the qjoypad program

Please see the MAME wiki entry for more.


Neo-Geo CDZ

Suggested emulator: MESS
Alternative emulators: Unknown

Tips and Tricks:
You must load BIOS files for most systems. Please see the MESS wiki entry for more.


Nintendo 64

Suggested emulator: Mupen64Plus
Alternative emulators: Project64

Tips and Tricks:
The Mupen64Plus Google code site has superb documentation. Be sure to check it out for all intensive purposes. There is a front end for Mupen64Plus called M64py If you install the front-end GUI, be aware changes when opening up either Mupen64Plus via the CLI, or M64py will overwrite each other The video plugin uses was Glide, due to video issues on Ubuntu 14.04 and my hardware. Your mileage may vary.

Please see the Mupen64Plus wiki entry for more.


Nintendo Entertainment System

Suggested emulator: Mednafen
Alternative emulators: FCE Ultra, FakeNES, Mednafen

Tips and Tricks:
The main buttons were reversed to reflect the original gamepad Gamepad is enabled for navigation of menu system

Please see the Mednafen wiki entry for more.


Super Nintendo

Suggested emulator: Mednafen
Alternative emulators: SNES9X, ZSNES

Tips and Tricks:
Please see the Mednafen wiki entry for more.


Sega Game Gear

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks:
Please see the Mednafen wiki entry for more.


Sega Master System

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks:
Please see the Mednafen wiki entry for more.


Sega Genesis

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks:
Please see the Mednafen wiki entry for more.


Sony Playstation Portable (PSP)

Suggested emulator: ppsspp Alternative emulators: Unknown

Tips and Tricks:
Please see the PPSSPP wiki entry for more.


Sony Playstation 1

Suggested emulator: mednafen Alternative emulators: Unknown

Tips and Tricks:
Requires BIOS files. Please see the PCSX2 wiki entry for more.


Sony Playstation 2

Suggested emulator: pcsx2 Alternative emulators: Unknown

Tips and Tricks:
When the game exits, please expect a 2 second pause for PCSX2 to quit, and another second or so for antimicro to quit as well. Please see the PCSX2 wiki entry for more.


TurboGraphx 16

Suggested emulator: Mednafen
Alternative emulators: Unknown

Tips and Tricks:
Please see the Mednafen wiki entry for more.