Development and Features - mdeguzis/RetroRig GitHub Wiki

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. If you PS3 Controller turns off, turn it back on and you're back to gaming!
  • Patched XBMC version with improved logging when running RetroRig
  • Additional logging
  • Modular design to allow any functional emulator that is gamepad friendly
  • Auto-install software, emulator configs, and required components
  • Many supported consoles (Please see the wiki under installation)
  • Steam launcher integration on the main screen
  • 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
  • Unity configuration set during config-setup to lengthen screen timeout + remove screen lock
  • samba share and SSH access optoins 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.8
Next release is: 0.9.9

Goals for next release:

  • Improve RetroRig settings menu in XBMC
  • Fix settings menu in XBMC / Improve functionality
  • Log file fixes
  • Code cleanup / syntax fixes
  • Package updates for PPA builds
  • Support for Mayflash USB adapters (Gamecube/SNES)
  • Bug fixes


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.

  • Support for Xbox One and Playstation 4 controllers (This likely will require kernel 3.17, maybe a manual patch?).
  • Provide option to load fallback XBMC/Kodi if ours is not available for platform?
  • Method to load MAME artwork
  • Start with a core set of 8 or so emulators, allow users to enable new ones
  • System/Console support for: Atari Jaguar, Sega Model 3 (arcade cabinet), Sega Model 2 (arcade cabinet)
  • Reorganize emulation configuration files and move "general purpose" configurations to a general location in the repo
  • Fedora support
  • 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? (currently some work being done)


Requesting Features

Please understand that working 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.

⚠️ **GitHub.com Fallback** ⚠️