Skip to content

Development and Features

mikeyd edited this page Aug 20, 2014 · 65 revisions

Table of Contents


Development Cycle

Generally speaking "unstable" release marks are odd numbers, "stable" release marks are well...stable. The master branch is considered the most stable, but beta versions that feel "comfortable" can have these version numbers too. Sometimes, an "rc", aka a "release candidate" may show up, where I feel things are fairly good, but still need some verification.

Version notation:
[0.0.0], denoting [milestone.subrelease.fixes]

For the time being, the RetroRig development phases fall into place as follows:

  • Release goal items and features are worked into the beta branch
  • Beta is tested on fresh hardware, with minimal attention to VM's (unsupported)
  • Future release goals are considered within reason
  • Feature Freeze
  • Pull requests and Issue tickets are addressed as best possible
  • Beta is merged into Master Branch on github, aka "release day"
  • Wiki is updated
  • Any user issues are addressed as a result of new version
  • New beta development resumes work
  • The amount of time from the first step to the last above is not fixed.


Current feature set

Main features
  • Hotplugging support in XBMC for supported wireless controllers
  • Patched XBMC version with improved logging when running RetroRig
  • Additional logging
  • Auto-install software, emulator configs, and required components
  • Many supported consoles (Please see the wiki under installation)
  • Preset Controller mappings for supported gamepads
  • Save state, load state, exit emulators with gamepad
  • A cobbled together "first run" state of RCB with a blank games database and pre-set configs
  • Functions to update git repo, emulator binaries, upgrade system and more
  • MAME offline scrapper system built in (artwork almost ready)
  • Automatically start XBMC, then with custom home screen
  • Logging options for install
  • Unity configuration set during config-setup to lengthen screen timeout + remove screen lock
  • samba share for remote ROMs folder access
  • Quick settings option to update XBMC and it's relevant configs, rather than make user do a full install.
  • RetroRig uses it's own dotfile (.retrorig) so folks can still use regular ol' XBMC without issue
  • XBMC version based on fernetMenta/xbmc
  • Dual-head support with new XBMC version
Settings features
  • Load ROMs
  • Change Gamepad type via menu
  • Enable SSH support with custom port selection
  • BIOS loader for emulators that require it
  • BIOS checker for existing emulators
  • Enable XBMC session to boot directly to XBMC without Unity (beta, unstable)
  • Backup/restore old configuration folders


Next Release Goals

Note: There are so many big changes coming to the next master branch release, that the version number will get a big bump up. Version numbers don't mean much to most, but I try to use them to denote the development stages (see "Version notation" above).

The current release is: 0.9.1
Next release is: 0.9.5

Goals for next release:

  • Brand new theme (Rom Collection Browser themed as well)
  • Initial crude support for pulling up emulator settings, system updater / settings, and applicable utilities for RetroRig (Requires mouse at the moment). In due time, I hope to create a native settings menu.
  • Support for Playstation 2 (PCSX2)
  • Support for Gamecube (Dolphin)
  • Support for the Atari Lynx (Mednafen)
  • Code cleanup in master branch
  • Remove uneeded branches
  • Major fixes to PS3 Bluetooth pairing to accurately set correct MAC Address/ID for external programs that require it
  • XBMC core code changes to allow RCB to act more console like
  • XBMC splash screen with RetroRig tag
  • Debian packaging control file for RetroRig
  • XBMC Display fixes
  • Add experimental SDL2 support for Mednafen
  • Updates to RCB code from SVN
  • Layout change for RCB
  • Hotpluggable qjoypad profiles for RCB to allow modular control designs for obscure emulators
  • Fullscreen/windowed fixes for ROM Collection Browser
  • Sound driver fixes for Mednafen (SDL drive support under SDL2)


Upcoming Planned Features

This section notes some features I would like to implement. No "release date" will be given. Some features will trickle into upcoming releases, others are merely "pipedreams" that I must look into. Please do not expect all items below to become part of RetroRig. Please request features on the issues page.

  • Reorganize emulation configuration files and move "general purpose" configurations to a general location in the repo
  • Add hotplugging for USB devices (Wired Xbox 360 and PS3 controllers)
  • Debian support
  • Establish Ubuntu PPA for all custom packages
  • Update RCB with Staging/Master (if ready) skin changes for Maximinimalism (You can see a preview of what that may look like here)
  • Add Steam launcher to RetorRig's home screen (Steam doesn't like my gamepad configs, needs testing)
  • Keyboard support if folks want it? Intended for gamepads, but why not? Would need demand
  • Gather more minions and awesome people :)
  • Now that XBMC will get the SteamOS treatment, add module to hook into SteamOS for ultimate awesome-sauce
  • Provide video driver switcher for emulators
  • Repackage Ubuntu 14.04 LTS into a new distribution???
  • Install option to send error logs libreek/developers?
  • Install option to copy down documentation for tools and emulators?
  • Allow control of RetroRig script in XBMC with gamepad? Possible?


Requesting Features

Please understand that workign in new features takes time. There are other branches that you can checkout with git to see what I am working on, but for the most part, please submit an issue for requested features you may want.

Clone this wiki locally