I was meaning to make this announcement after RetroArch v1.1 was released and this idea has been a bit long in the works. However, due to some sudden unexpected Kickstarters that have taken similar concepts and tried to create some kind of questionable monetization scheme around it, I felt compelled to make a pre-announcement about what we’re going to do post-RetroArch v1.1
RetroBox and why it’s needed
So the concept of RetroBox is based on a couple of problems:
- There’s no real game console that is ‘open’ and which allows RetroArch to be on there without a jailbreak or a hack of some kind.
- The ‘consoles’ that are open have an OS (Android) that is absolutely unsuitable for real-time performance oriented apps, such as (I don’t know) games. I’ve talked about this incessantly since 2012, but finally even the commercial games press seems to be becoming aware that there are definite performance bottlenecks associated to Android that prevents games from running at a stable deterministic framerate (read about all the problems here for instance – hardware that should be more than powerful enough with any other OS that do the job properly – http://www.eurogamer.net/articles/digitalfoundry-2014-nvidia-shield-tablet-review)
- SteamBox/SteamOS seemed like the perfect vehicle at first for a true ‘open source’ gaming console that gives us a little bit more freedom than the typical Sony/Nintendo/Microsoft offerings. However, plenty of problems there as well. First of all, the fact that it’s limited to Intel. Second, the high prices these SteamBoxes are going for. Third, the unconventional gamepad which seems just totally ill-suited for the kind of ‘retro games’ that are commonly played in RetroArch. Fourth, the fact that it’s still by a commercial company like Valve, which operates its own DRM app store, and therefore at any time (no matter how well-intentioned) can change what is allowed and what isn’t on the platform to suit its business model. Fifth, SteamOS is a bit less ambitious than I initially thought it would. Still being dependent on X11 means we still don’t escape the X11 performance tax when ideally they should have just made their Steam launcher run on top of DRM/KMS inside a console for optimal latency. A bloated Debian distribution might make for a ‘safe’ OS but not sure if Debian is the right way to go for a gaming OS and it’s going to cause a lot of maintenance issues in the future.
- All of these ‘alternatives’ that exist so far, either fall into the Android camp and are therefore no good (Ouya and the usual suspects), and/or they are being run by entrepreneurs who put their bottom line first before any passion for the project in general. Trying to base your operations around such a thing is like trading one evil (the big silo’ed off console platform holders) for another one, and in the end I’m not sure if the newer evil is going to be all that better to begin with.
RetroBox
So what is the RetroBox project going to amount to?
- Figure out a way to turn ARM/x86 small form factor boxes (from Intel NUCs all the way into XBMC boxes) into plug-and-play game consoles powered by RetroArch.
- Have a free open source distribution that is very lightweight.
- Strive for the most optimal conditions possible – ie. DRM/KMS mode, no X11, minimal packages installed in this distro other than what libretro ports/RA actually needs.
- Make this a ‘Proof of Concept’ for what a game console centred around the libretro API can be.
- Plug-and-play – can be operated with a gamepad entirely, keyboard and mouse are entirely optional.
RetroBox will be an open-spec game console. It’s not owned by any particular company, and it will operate much like the 3DO/VCR model where any manufacturer could make his own box. Because RetroArch is so impressively multi-platform and portable, you don’t even have to limit yourself to a specific processor architecture like ARM – most libretro ports are available for most microarchitectures available, so you can pick and choose your own hardware.
The aim here is to create an ecosystem that is more open, more optimal and definitely more interesting than what is provided so far by the Androids, iOSes, and Steams of this world. And to have a POC game console platform of our own that illustrates this best.
Why is RetroArch a good fit for this?
- From its inception, RetroArch has featured a gamepad-controlled UI that has thrown many PC users for a loop that were used to traditional WIMP point-and-click UIs. We have sticked to our guns for a long time and maintained this was the right road to travel, because we always envisioned RetroArch as this ‘game console platform’ all unto itself. RetroBox will see that high-level concept come into reality and made even more convenient.
- Our API perfectly allows for the kind of plug-and-play portability we want and need through this game controller abstraction called the RetroPad.
- RetroArch is second to none when it comes to optimal audio/video. Despite the so-far pretty lacklustre eyecandy found in its UI, there is basically nothing out there it plays second fiddle to when it comes to this department. And it’s also one of the few projects that aims for certain best practices on Linux like ensuring that everything can be ran from DRM/KMS instead of just solely depending on X11. Latency, audio/video performance, and the impeccable shader subsystem all make for a great platform for a game console.
- People are already doing this right now anyway. There’s an obvious demand for this and there’s an obvious need among all those ARM boxes to introduce some sanity to them and to make sure that things run right out of the box. It’s a lot of work having to fiddle around with these boxes and to even get semi decent/passable performance out of them. Might as well focus on this and make it part of the overall plan
So what is this project NOT going to be?
Every effort will be undertaken to ensure this will not be your typical sleaze-ridden entrepreneurial ‘scam’ where the main incentive is ‘get-rich-quick’. There will be NO Kickstarters, no Indiegogos, no crap like that going on. I would find it morally unconscionable raking in thousands of bucks for an undertaking like this off something that is typically going to be used by most people as a way to play emulated videogames run on copyrighted trademarked video game consoles made by commercial companies. If other people want to sell out and try to make themselves a buck off this ‘retro game stuff’, they can go ahead and do it. We will try to maintain a clean nose and keep ourselves out of this potential legal quagmire. The ramifications will be huge in the long run and we refuse to have any part in it.
So, crowdfunding is not an option. So far we are going to run the RetroBox project with our own personal finances and with the hardware we already have. Which is why it’s essential that we have your support in this endeavor. Hardware gifts will be of the utmost importance in ensuring this project will become better. However, hardware gifts will only be necessary for stuff we necessarily need – so that this doesn’t become another way of profiteering altogether.
Not just about emulation
Also, RetroBox will NOT be only about emulation. I keep stressing that RetroArch is NOT a multi-system emulator frontend, and I mean it. I want to ultimately see this evolve into its own game platform, with indie games, emulators, games, virtual reality applications and rich multimedia applications all competing for the user’s same attention. So you will be also seeing a lot of additional stuff not related to emulators at all, but which will be just as exciting.
Of course, because this is an open-spec console, emulators don’t get relegated to the sidelines like they would on a traditional videogame console. This is what will make RetroBox different – the freedom is in the hands of the user, and the platform holder doesn’t dictate to the user what he/she can’t do with this box.
What about features that people want to see?
We will try to make sure that this has as many of the bells and whistles that these sleaze-ridden KIckstarter-founded projects have such as Ignition and Gamertopia. The whole NES Remix-idea for a kind of retro game console is a good idea, as is netplay, leaderboards and that kind of thing. We think we can do all of this better anyway because of RetroArch’s impeccable cross-platform nature. I think we can do this netplay in a way that every RetroArch port out so far on any platform can play together with the RetroBoxes all the same.
What about standardization?
- There will be a Retro Performance Level (going from 0 to 15 and beyond) introduced that will range from very low-tier hardware to top-tier hardware (such as, say, SteamBox specs). Libretro cores will be able to look at this level at runtime, compare it to the performance level of the box in question and thereby evaluate whether or not the machine it’s running on will be able to run the core at fullspeed. If it can’t, it will display a warning.
- This console will be about libretro ports using the libretro API. Therefore, we can gut any part of the Linux distribution that we don’t need.
- I strongly believe in zero dependencies and keeping everything as lightweight as possible. Cores are also designed with this ‘zero-dependency’ ideal in mind. Everything that a libretro core should need should already be baked into the core from the start, so that it isn’t necessary for us to ship a truckload of packages (all of which can be potential dependencies and maintenance hazards) into the main distribution. So that means that if a core requires libusb, libusb gets baked in. If a core requires SDL, either the SDL specific code gets entirely removed or SDL gets baked in. Zero dependencies and making sure as much as possible is contained within the same dynamic library as the core itself will make this game console model sustainable.
- By keeping this limited to the libretro API, it will basically be no different from any other RetroArch port to any platform we have done before in the past, like the PS3, 360, and whatnot. It is the same concept, except this time we’re going to make it happen for all this commodity hardware that is around.
So what will all this take?
- Time
- Community support. More hands on decks for this project, the better – since we will need to cover a lot of hardware
- Dedication and the will to see this through to completion. Not going the obvious sleaze-ridden entrepreneur route obviously puts us at a large commercial disadvantage to play on an even playing field but then having risks is all part of the fun and we think users can see behind the promises of most of these other projects anyway. We have had a consistent track record so far and we are not going to compromise on our core values now either.
So when will all this start?
So yeah, this announcement is a bit of a ‘jumping the gun’ type of affair, but I felt I had to say something. I felt compelled to make this post because I see a lot of Johny-came-latelys trying to make a buck for themselves by filling an obvious gap in the market, and I just want them to know about our plans and that there’s something coming up that will put all their ‘accomplishments’ to crap. Hopefully people have gotten wise at this point and they don’t buy into another Ouya. Then again, given the obvious sleaze associated to these Kickstarter-led ‘game consoles’ and the empty hollow platitudes and ‘dumbspeak’ (and most importantly the amount of money they can accrue), you never know.
This project will start being kicked into high gear after RetroArch v1.1 is released. If you are interested in helping out in any way possible, drop us a mail at [email protected]. This project is being started because most importantly we feel like doing it and not out of any sleazy attempt to ‘get rich quick’ or whatever the incentive is by most of these entrepreneurs. Hopefully our attempt to keep this ‘real’ and not branch off into entrepreneurial la-la land will be appreciated by endusers, developers and platform holders alike.
Matías Ferrero
August 9, 2014 — 4:01 pm
I’m really happy about this project. Can’t see how I can help other than testing releases. Two thumbs up!
jmckutchin
August 9, 2014 — 6:50 pm
Definitely excited to see where this project leads. I love my Wii as an emulator, but I’d love to get use something with a little horse power that’s also completely controllable from a gamepad.
Charco
August 10, 2014 — 1:10 pm
I agree 100% I’ve been thinking of a htpc for RetroArch but would not be comfortable with setting it up. Something like this is exactly what I am looking for. So, it would be like a htpc that comes pre-configured with RetroArch? How do you plan on funding/selling these Squarepusher?
Dogway
August 9, 2014 — 10:00 pm
I sometimes wonder if you are shooting too high. There are many things “in paper” and I fear that focusing on to many things will make the whole poorer:
-RA port to new systems (PSP, Blackberry, etc )
-Lightguns and Sticks support
-New GUI
-Watch movies (soon)
-augmented reality, etc
-and now new OS.
I understand the excitement but I wonder if there really is the manpower to do all this in a feasible amount of time.
Kane
August 10, 2014 — 2:05 am
Time is on our side, that’s all what is needed everything will workout.
Dogway
September 19, 2014 — 8:12 pm
I guess time wasn’t on your side since it was delayed to end of September (although I predict early October) (link: http://www.libretro.com/index.php/retroarch-v1-1-what-to-expect/#comment-1576718236) and little bugs like this one (https://github.com/libretro/RetroArch/issues/857) aren’t even looked.
Daniel
August 10, 2014 — 12:16 am
Really happy this is moving along. I like the BB10 support and definitely looking forward to PSP emulator.
GeorgeP
August 10, 2014 — 10:35 am
Isn’t Lakka (the distro) what you are describing? If not, why?
I have an Openelec (Lakka’s base) ARM box with just 100mb root squashfs partition with XBMC and retroarch running on it. Slim in deps
nepeterson
October 8, 2014 — 7:38 pm
After running RetroArch (via EmulationStation) on my Ubuntu-powered laptop, I’m seriously considering building a new Ubuntu-based distro with libretro and EmulationStation from the ground up. I’ll start with Ubuntu minimal (SUPER stripped down and lightweight) and add just what is required. The hardest bit I’m trying to figure out is how I would go about detecting and auto-installing video drivers if the user has a discreet (ATi/nVidia) graphics chip.
Soul_Est
October 9, 2014 — 2:38 am
Check out Knoppix and Linux Mint.
Michael DeGuzis
February 4, 2015 — 11:36 am
I have an automated install script I made for precisely this. Though, I don’t have video driver detection. If you like it or want to work on it, just drop me a line there via an issues ticket. Search “RetroRig-ES” on github.
esteban
August 10, 2014 — 2:19 pm
were is the wii retroarch update 1.1 were can i donwloaded
Charco
August 10, 2014 — 5:56 pm
It’ll be released in September.
esteban
August 10, 2014 — 6:04 pm
thanks.
Night Arck
August 10, 2014 — 7:15 pm
I think you may be interested in projects like the OpenPandora and the DragonBox Pyra, those are pretty much portable ARM devices that were designed around gaming and open source software.
The OpenPandora was croudfunded back in 2008 by an independent teams based on worldwide memmbers and ideas pitched by an online community, while the DragonBox Pyra was designed as it’s succesor by one of one main memember of the original OpenPandora team (Michael Mrozek – aka EvilDragon).
Give the project’s website and community a visit:
http://boards.openpandora.org/page/homepage.html
http://www.pyra-handheld.com/
James McKigney
August 10, 2014 — 9:16 pm
Hey there guys. I am really estatic about this project and I have spread this gospel on the usual forum I go to: http://facepunch.com/showthread.php?t=1416607
Basically I am all for the Retrobox and I hope to be a major supporter in the project.
Radhi Fadlillah
August 12, 2014 — 1:12 pm
I want to ask several thing :
– Is it possible to use Libretro API for making commercial app like KIOSK or POS system ? One year ago, I’ve made a cross platform POS system using Qt library, and I’ve found it pretty annoying to use, because I have to package so many dependencies which make the app quite large. Thats why I’m very interested if I can use Libretro API with its zero-dependencies.
– Are there any documentation on how to use Libretro API, and if possible are there any tutorial for it ? Maybe something like ‘Getting Started on Using Libretro API’
Squarepusher
August 12, 2014 — 2:58 pm
Libretro API is licensed under MIT, so yes, it’s possible to use it for commercial use. Should be possible to use it in conjunction with whatever other license you want to put your core code under. RetroArch is licensed under GPLv3 for pragmatic reasons, so it doesn’t prevent commercial use either.
https://github.com/libretro/libretro.github.com/tree/master/documents
There are some guides/tutorials here (libretro.pdf is an introduction to the libretro API, libretro-shader.pdf is an introduction to the shader spec, etc.). Anyway, expect documentation to become a real priority after v1.1 is released. I recognize there is a lot of stuff left to improve in the documentation department and we should try make that a priority.
Also, the ‘best’ ‘tutorials’ to really see how a libretro core is implemented are probably the emulator cores. Perhaps we should do a ‘Step-by-step emulator port’ tutorial sometime to make the process a little clearer to most people.
C.Beery
August 14, 2014 — 8:51 am
Ooh you’re going to make a separate box for this? I was actually going to do something like this through XBMC with guide I saw on Lifehacker. Unfortunately, I still needed to have the processor-intensive windows 7 running in the back so this would be a nice improvement
Squarepusher
August 14, 2014 — 9:17 pm
To anyone pretending to be from ‘remotely similar’ projects – drop me an e-mail at [email protected] and let’s discuss our issues there.
I’m sorry but this blog will not be hijacked for the purpose of being used as a springboard for others’ commercial projects. And drama will be avoided so the posts in their entirety have been removed. Drop an e-mail at [email protected] and let’s handle this the professional way.
Soul_Est
August 18, 2014 — 6:26 pm
I agree with GeorgeP in that I believe Lakka has this covered to some extent. Especially given that they are using the OpenElec build system, you could go full Gentoo and optimize the compiled code to suit your hardware. Only thing you’d have to look into at that point are the video drivers (be it for ARM, Intel, AMD (ATI), Nvidia, etc.), user experience, and support for more controllers. I’m currently working on something along these lines for myself (built around the AM1 platform). Let me know how I can further the RetroBox initiative.
FSK
August 26, 2014 — 11:21 pm
It would be much better to promote and port RetroArch to the current open systems (Open Pandora, GCW Zero, etc.), than to try and develop your own hardware.
MAKING HARDWARE IS VERY HARD!
AndresSM
August 26, 2014 — 11:23 pm
this is more about a reference platform than dedicated hardware at this point
Libretro RetroArch
August 28, 2014 — 12:42 pm
Dedicated handheld game consoles fall totally outside the scope of the RetroBox project.
PS Vita and 3DS are faring pretty badly in the marketplace compared to previous handheld game consoles. I don’t think the demand is there anymore from the general public with tablets/phones and it’s a niche within a niche at this point. I’ll be surprised if there will be any followup handheld game consoles after 3DS/Vita. It’s pretty much a dead duck outside Japan.
Sebastián Rodrigo Aguilera Gál
August 28, 2014 — 7:25 pm
But with an android device you still have the OS bottleneck (as you said). It would be pretty good to actually run Lakka on your device, and open devices like the Open Pandora and the GCW-Zero would allow just that, and make open source/ free software gaming very powerful. If a Dingoo380, an Open Pandora or a GCW zero could run Lakka or fully support Retroarch, I would buy them ten times over a PS Vita
[At least in my country (Chile, South America) the Nintendo 3DS is selling pretty well.]
Libretro RetroArch
August 28, 2014 — 7:51 pm
I don’t think the GCW Zero’s 320×240 screen resolution is going to work out very well for Lakka. You’d need at least 640×480 or higher.
Sebastián Rodrigo Aguilera Gál
September 2, 2014 — 4:33 pm
I didn’t know that was an issue. Thanks for the information.
u-man
September 2, 2014 — 9:22 am
Sorry to bother, but I cant register at the forums. I am not receiving the activation e-mail and yes, i have looked even into the spam folder.
The news here sounds very good. I hope that the solid12345s analog tv shader will make it into this release too and will also have those new sliders for configuring, as this is the shader I like the most.
RetroArch is getting really awesome, my two thumbs up and a BIG thank you, for this and all previous releases. I am using it for nearly everything now.
javier
September 3, 2014 — 4:52 am
I cant play killer instinc arcade for iOS on retroarch v1.1?
ShadowOne333
September 19, 2014 — 7:55 pm
Is there a possibility of adding the Mupen64/PSX core to the Wii release?
We have the WiiSX/Wii64 emulators but I would love to see the cores for such emus in the Wii for RetroArch.
In case this helps:
WiiSX SVN:
https://code.google.com/p/pcsxgc/source/browse/trunk
Wii64 SVN:
https://code.google.com/p/mupen64gc/source/browse/#svn%2Ftrunk
esteban
September 20, 2014 — 2:47 pm
were its the retro arch 1.1 downloads, were can i get it. its been a long time searching to find it. someone said on september but we are on the 20, its almost october.
Soul_Est
September 20, 2014 — 3:51 pm
The v1.1 release has been delayed. It’ll be released when it’s ready.
superjamie
October 17, 2014 — 12:55 pm
Maybe you are familiar with OpenELEC, it is a minimal distro which aims provide just enough to run XBMC and become a media centre. It provides builds for various common HTPCs such as Raspberry Pi and AppleTV, as well as an x86 build for things like NUCs and nVidia ION and AMD Fusion.
It sounds like you want to make something like OpenELEC, but instead of running XBMC, it runs RetroArch. This is a fantastic idea. I would pay money for this.
Soul_Est
October 17, 2014 — 1:35 pm
Already being worked on: http://www.lakka.tv/
screamingtrees
March 13, 2015 — 2:47 am
Any chance for a 15khz out option?
Edit: and analog outputs?—NVM just realized it was an OS and not an actual box.
alko
March 15, 2015 — 9:29 am
I think there should be 2 prebuild distro.
1 is just emulation and libretro games suitable for low end pc (raspberry ecc)
2 is a general distro suitable for steam machines.
distro 1 is lightwight suitable for arcade boxes, or for micropc to plug behind tv
distro 2 instead is a full distro with steam client and also necessary tools
distro 1 has a simply interface with console categories, artwork and info for games, just select and play
distro 2 has a fully gui with steam client icon,wiki about games, info about consoles,and also a hub for software/games made upon libretro.
optionally the distro 2 has a fullset of programming tools preconfigured to work on libretro and a community hub to share development.
making them only a emulation suite is not good, because hardware producers could not sell such machines, but giving then a “skeleton” for emulation and a fully working asset for different apps will let them insert the distro without problems and giving them a nice selling point.
i see libretro box as a “better android”.