RetroArch for OpenELEC?

I’ve noticed that support for emulators are often requested on OpenELEC’s forums, here’s a couple of threads for example:

http://openelec.tv/forum/13-miscellaneous/33340-openelec-and-rom-emulators http://openelec.tv/forum/128-addons/38614-openelec-game-console-emulators

Now, I don’t claim to know what it takes to make a project like this successful, but it does seem like the few attempts to make this a possibility end up becoming abandoned as people lose interest in keeping the various emulator builds updated for OpenELEC’s system. This is where I think RetroArch would be the perfect candidate since one of your end goals are to support as many systems as possible. I think if you guys could look into maintaining a build that targets the OpenELEC system then it would help to provide a solid foundation for others looking to create an official add-on that would install RetroArch across it’s various system builds.

Again, I’m not sure how much of an effort this would require on your part, but I feel that OpenELEC would be a great platform to target as it’s fast becoming a popular solution for building dedicated entertainment systems.

http://openelec.tv/

I’ve heard lots of good things about openELEC - it definitely sounds intriguing.

Not sure how one would go and target that though - what exactly is it? Just a small, lightweight Linux distro where we can always assume XBMC is around? Is it like targeting a console of sorts? If the latter, I would definitely be interested in supporting it - only problem would be that I don’t own one of the supported HTPCs (Ion, AppleTV, Fusion, whatever).

OpenELEC is basically an embedded linux distribution that they built from scratch for the sole purpose of running XBMC. The install base is very small and only essential packages and libraries are used. The end result is a box that’s more of a dedicated media console rather than a regular computer system.

They have Intel and generic builds as well so you can install the system on just about any PC. The reason for the different builds is that they like to target specific systems when possible so they can further optimize the media experience.

So, I believe the current challenge in bringing emulators to it’s system is in having an emulator that can be built using the available packages and resources of OpenELEC’s stripped down environment. There’s been attempts by others (even one that’s on-going), but to my knowledge they just end up being quick solutions for a specific emulator or two and they quickly become outdated as OpenELEC’s development progresses.

From reading their forums it does seem like there’s strong interest from some of the OpenELEC developers to make a real emulator add-on happen, so I would imagine if you got in touch with some of them they would be willing to work with you if there’s any required packages that need to be added to OpenELEC’s system to make this happen.

I really only brought this up because when I look at the situation over there and all the interest in getting some real emulator support, and the nature / design goals of the RetroArch project, it seems like a perfect fit. :stuck_out_tongue:

I put together a complete addon for 64-bit OpenELEC from the latest GIT including all the cores and shaders. As there is no frontend I didn’t bother making it a proper XBMC addon, so just unzip it into /storage/.xbmc/addons manually. Next time you log in with SSH you will have retroarch.sh in your path. You could also use it for Advanced Launcher or ROM Collection Browser.

Download:

64-bit

Cores:


bnes
bsnes-accuracy
bsnes-balanced
bsnes-performance
desmume
dosbox
fba
fceu
fceumm
gambatte
genplus
imame4all
mame078
mednafen-pce-fast
mednafen-psx
mednafen-wswan
meteor
nestopia
nx
prboom
quicknes
snes9x-next
snes9x
stella
vba

Features:


    SDL:
        SDL drivers: yes
    Threads:
        Threading support: yes
    OpenGL:
        OpenGL driver: yes
    ALSA:
        audio driver: yes
    OSS:
        audio driver: yes
    zlib:
        PNG encode/decode and .zip extraction: yes
    OpenAL:
        audio driver: yes
    External:
        External filter and plugin support: yes
    Cg:
        Cg pixel shaders: yes
    libxml2:
        libxml2 XML parsing: yes
    SDL_image:
        SDL_image image loading: yes
    FBO:
        OpenGL render-to-texture (multi-pass shaders): yes
    Dynamic:
        Dynamic run-time loading of libretro library: yes
    FFmpeg:
        On-the-fly recording of gameplay with libavcodec: yes
    FreeType:
        TTF font rendering with FreeType: yes
    Netplay:
        Peer-to-peer netplay: yes

Notes:

  • On first run, relevant files will be put in /storage/emulators/retroarch
  • If you don’t hear any audio, you might want to change audio_device in retroarch.cfg

@arokh That’s pretty awesome, man. Thanks for sharing it!

So what exactly does one need to do to get this to work? I’ve unzipped the files into the relevant folder but now I’m not sure what to do. Could you perhaps elaborate a little more on whats required?

Could you compile a version that works on the generic oss build (32-bit) with KMS mode enabled and working?