Release EmulationStation 2.7.1


sm0kew0n

Very Active Member
Joined
Apr 13, 2016
Messages
372
Location
Hiigara
This is EmulationStation, a front end/launcher for emulators. It supports keyboardless navigation, custom themes, detailed game metadata and (in this packages) launching Retroarch cores. Included is a flexible game scraper written by Steven Selph and Retroarch 1.7.3 (courtesy of canseco and ptitSeb).

EmulationStation pnd - https://repo.openpandora.org/?page=detail&app=sm0kew0n004

Sources -
https://github.com/RetroPie/EmulationStation
https://github.com/sselph/scraper
https://github.com/libretro/RetroArch

##########
Run once to create appdata folders
Place ROMs in EmulationStation/roms (or point es_systems.cfg elsewhere)
Place BIOSs in EmulationStation/retroarch/bios
Themes into EmulationStation/.emulationstation/themes
Edit "es_systems.cfg" in .emulationstation to add systems/paths/commands etc
Make your own "run_{system}.sh" in .emulationstation
Scrape game folders using EmulationStation scraper app in pandora menu (turn on wifi! go make a coffee;)
##########

ES 2.7.1 RA 1.7.3 Video

Cheers.

########## To update new versions only delete .emulationstation and/or retroarch folders in appdata, if you want to keep your rom folder ##########

##########

Updates changelog:

V 2.7.1
Build 1
Built from retropie/emulationstation sources
Updated to RetroArch 1.7.3
Added powervr.ini
Added Carbon theme
Added --debug flag for ES

V 2.0.1
Build 2:
Added new core runscripts that let user choose core.
Included es_systems.cgf with working links for runscripts
 
Last edited:
Nice. Can we configure alternate locations for out BIOSes and ROMs? I have mine all nicely laid out under their own folders, and would prefer not to have them in two places, or the faff of creating and maintaining symlinks or anything.
 
@levi ROMs for sure, just tried it pointing to my /media/32/zx folder. Not sure about BIOSs, probably if you change the path in retroarch. For the ROMs you just need to change path in es_systems.cfg, oh and edit the scraper script as that points to the ES roms folder.
 
What systems should be configured to work straight away on loading this? I've copied across roms from a RetroPie image but am only having limited success so far running them. No arcade or Atari consoles currently appear at all, and Gameboy classic games appear in the menu, but don't run. Great work on this so far, it's a bit of software I wasn't expecting to see before the Pyra arrived!

Sent from my F5121 using Tapatalk
 
Configured OOB should be -

Mame using fbalpha_libretro.so
GBA using mgba_libretro.so
NES using nestopia_libretro.so

configured to work straight away
Um, well, configured enough to do testing, sorry. As levi pointed out, everyone has different requirements and there are multiple cores for single systems and I don't use all systems etc.

The Game Boy is a good example, retroarch segfaults using gambatte or tgbdual and I haven't looked into it, but there are other cores to try.

^^ those cores are referenced in the run_{core}.sh files in /.emulationstation, if you copy a script, edit and rename it to another core from this list -
Code:
2048_libretro.so
3dengine_libretro.so
4do_libretro.so
81_libretro.so
atari800_libretro.so
bsnes_mercury_performance_libretro.so
bsnes_performance_libretro.so
cap32_libretro.so
cores.txt
desmume_libretro.so
dinothawr_libretro.so
dosbox_libretro.so
fbalpha_libretro.so
fceumm_libretro.so
fmsx_libretro.so
fuse_libretro.so
gambatte_libretro.so
genesis_plus_gx_libretro.so
gme_libretro.so
gpsp_libretro.so
gw_libretro.so
handy_libretro.so
lutro_libretro.so
mame2003_libretro.so
mednafen_lynx_libretro.so
mednafen_ngp_libretro.so
mednafen_pce_fast_libretro.so
mednafen_pcfx_libretro.so
mednafen_psx_libretro.so
mednafen_snes_libretro.so
mednafen_supergrafx_libretro.so
mednafen_vb_libretro.so
mednafen_wswan_libretro.so
mgba_libretro.so
mrboom_libretro.so
mupen64plus_libretro.so
nestopia_libretro.so
nxengine_libretro.so
o2em_libretro.so
pcsx_rearmed_libretro.so
picodrive_libretro.so
ppsspp_libretro.so
prboom_libretro.so
prosystem_libretro.so
px68k_libretro.so
quicknes_libretro.so
scummvm_libretro.so
snes9x2010_libretro.so
stella_libretro.so
stonesoup_libretro.so
tgbdual_libretro.so
tyrquake_libretro.so
vecx_libretro.so
vice_x64_libretro.so
virtualjaguar_libretro.so
xrick_libretro.so
yabause_libretro.so

and change the corresponding <command> tag in es_systems.cfg to point to your new script it might work, trial and error, sorry. If consoles don't appear then they are not in the es_systems.cfg, have a look here to a generate a config, but you will have to edit paths, commands etc after. I'm doing the same here with my retropie roms and systems.
 
I'm going to have to throw out a few stupid questions then (as my emulation station experience on RetroPie didn't really go much further than loading some premade images), so as the Pandora version is configured by default means I should be putting my arcade roms into the FBA directory instead of the mame one? Failing that I should try to use the same romset as used in the Pandora Mame port, but set it up for the Mame2003 core?

Sent from my F5121 using Tapatalk
 
Mame is working for me with these configs -

System entry -

Code:
    <system>
          <name>mame</name>
          <fullname>MAME</fullname>
          <path>~/roms/mame</path>
          <extension>.zip .ZIP .sh</extension>
          <command>~/.emulationstation/run_mame.sh %ROM%</command>
          <platform>mame</platform>
          <theme>mame</theme>
    </system>

and this
Code:
exec retroarch --verbose -L RA/cores/fbalpha_libretro.so "$@"
in run_mame.sh

I really like Retropie too but this requires a little trail and error to configure.
 
Blimey, the last time I used FBA it only supported CPS-1 and -2 and Neo Geo as far as I knew. Looking at it now, it supports a lot more weird and wonderful systems, plus a few earlier dedicated boards. I'd try filling it with whatever you have handy, probably your old MAME set, and if that doesn't work try a newer set (old MAME sets like the one we used for various pandora MAME ports were often missing certain roms and may have been tweaked to make them work better - later MAME uses more complete original sets).
 
I've copied across my set of mame roms I have been using on my Rs-97 (the 37beta set), and altered the relevant config files to point the Mame2003 core at them (as I thought that was the same version), and I now have games up and running. I'll have to check against the mame4all Pandora version, as I still think that is much faster in my recollection at least). I also updated the Gameboy colour system so emulation station is now seeing them, but isn't running them (I don't know why gambette doesn't seem to be working yet). I'll keep on tinkering anyway (at least I'm making some progress at least)

Sent from my F5121 using Tapatalk
 
Updated the pnd with core chooser option.

IMG_20180527_152743.jpg

I now have snes/nes/gb/gba/gbc/c64/mame/megadrive/mastersystem/zxspectrum/gamegear working.

Working on fba and neogeo.

You need to delete the .emulationstation folder in appdata, be sure to back any configs you want to keep.
 
Pretty neat. I've been trying this and found I couldn't get anything working...

It turned out that it was the powervr.ini that I had copied in the appdata to fix tearing. It fixed the tearing in ES but causes problems when launching roms. Sometimes it kicks you back to ES and sometimes it freezes on a blackscreen.

If it blackscreen I finally discovered that you can work around it by holding the Pandora button for 6 seconds, and then you see the core selection and can continue as normal with vsync fixed!

I think that the launch of the core should kill ES first and the relaunch as you exit retroarch otherwise the tearing is quite bad with our yucky PowerVR.
 
Eeek! That's a new one on me, never heard the powervr.ini hack before. I don't seem to have that libpvr that it references anywhere on my system either.

The only screen tearing I get is if I press the pandora button by mistake, other than that it's fine. I'm using latest SZ and sgx driver....
 
@sm0kew0n : from a quick search...
One more thing to try is to use SGX in framebuffer mode (see above link) and put a file named powervr.ini in root of .pnd with this content:

Code:
[default]
WindowSystem=libpvrPVR2D_FLIPWSEGL.so
This should allow SGX to draw directly to fb, which might make it faster.

New build on the repo.

I make the EGL context compatible with latest SGX Video drivers, and while at it, I also used the "powervr.ini" trick to use flip instead of blit, making the game proabably a little bit faster and with less (none) tearing. And because the game is designed to run à 50fps, I switch the LCD to 50Hz at start :)

Build 03

----------

  • Compatible with latest SGX Video Drivers
  • Use Flip instead of Blit (more speed and less tearing)
  • Switch LCD to 50Hz at start (and restore original frequency at exit)

Enjoy that new build!

You put that file in the "current" folder, and the GLES driver read it to select another driver.

By default, the powervr.ini that is used is the one in /etc and use "libpvrPVR2D_FRONTWSEGL.so" driver: that the "only 1 buffer, Front only" driver that work for everything.

By changing that to libpvrPVR2D_FLIPWSEGL.so, you swith to FrameBuffer Flip method, with 2 Buffer, and the eglSwapBuffer just Swap Front & Back (no bliting involved). It's the prefered method, but not always working.


This trick has been discribed by Notaz (I think int the SGX beta driver thread).

In 2 words, the and fastest visual are obtain if you can do FrameBuffer acces (that is, create your EGL context with default display and NULL window) and use the FLIP method (by putting the right powervp.ini in the right place), and it's compatible with all drivers too.

(but some software don't like this, like Blender or TORCS).

I have try to use an update powervr.ini file, but with no changed result, still crashing as soon as game start. I'll try the glFlush with updated powervr.ini later...

My file contains

Code:
[default]
WindowSystem=libpvrPVR2D_FLIPWSEGL.so
DefaultVertexBufferSize=800000

Ok, built a third version, where long filenames don't mess the gui, and Left/Right can speed up the browsing of large catalog. Also, I have put the powervr.ini file to have flip instead of blit for SwapBuffers, that should help with tearing...

I have just tried Gemini Wings.. . Seriously, the arcade conversion on the plateform are just awesome!

Build 03

-----------

  • Cut too long file name to avoid messing the GUI
  • Added Left/Right in file browser for 10 lines movement
  • Added powervr.ini file to minimise tearing

But I'm pretty sure I have put a powervr.ini file in the PND this time. I'll double-check.

*EDIT* no, in fact, once again, I forgot :'(

I'll do an update soon...
[doublepost=1456870883,1456842871][/doublepost]So, I added the Anti-tearing hack in the PND.
Also, I have made the Nubs configurable, via the left_nub and right_nub files int appdata/rvgl. Change the content to absolute and the game will recognise them (unfortunatly, you cannot mix both Nubs, as they are seen as separates joysticks for now).

Build 03
-------------

  • Anti-tearing hack
  • Nub are configurable as joystick with config files

Just put the file in appdata/huricane folder. But be aware of line ending. Don't use a "Windows" file, but "Unix" one

For your convenience, I have zipped a file ready "to use".
 
Thank you @ptitSeb , I'll get it sorted.

@PokeParadox can you try putting a copy of that powervr.ini in /.emulationstation, see if that helps, that's where the core scripts are.
Yes I did try that, but the only place it appears to do anything is in the Base of the appdata folder for ES. Obviously with the previously mentioned blackscreen problems. In the .emulationstation folder, the tearing is there, although I'm not sure why.
 
Back
Top