[HOW-TO / TESTING] RetroPie on Vero4k


#1

I’ve been busy… now the Vero4k is natively supported by RetroPie.
I’d like to set the ball rolling with some testing if that’s ok.

Install is by the traditional method:

cd
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setup
sudo ./retropie_setup.sh

NOTE - as of 22/08/2018 we are just waiting for the necessary changes to EmulationStation to be cherry picked to the stable branch. So for now when installing use emulationstation-dev from the “Manage Experimental packages” page.

Launch is by:

sudo systemctl stop mediacenter
emulationstation

And get back to OSMC from EmulationStation with:

sudo pkill emulation
sudo systemctl start mediacenter

Currently tested:

EmulationStation-dev

Amiberry
Mupen64Plus
PPSSPP
Reicast
ScummVM

Retroarch and the following cores:
lr-fuse
lr-gambatte
lr-genesis-plux-gx
lr-mgba
lr-nestopia
lr-pcsx-rearmed
lr-snes9x2010
lr-mame-2003-plus

ADVISORY:
For now please do not bulk install emulators using options like “basic install”.
Not all emulators are tested as yet. Some may not work or building them may break others. Adding one at a time and checking how things are is the way to go!

Please report back with your findings! Good or bad, then we can amend the “approved list”!


Is the vero 4k is quite powefull to retro gaming?
#2

If a 360 wireless controller is supported, I might give it a go on the weekend.


#3

I’ll give this a go shortly

Excellent work.

Sam


#4

I also want to say thank you for the work that you’ve put into this. Im waiting on a Vero4k+ and im excited at the prospect of adding this to the list of things it can do.

4k HDR AND retro gaming? Awesome :+1:


#5

I used the 360 controller extensively with a wireless USB dongle (the cheap Chinese variety) on the RPi. This was underwritten by xboxdrv. I assume you have similar experience? This will be helpful.

“Out of the box” this controller/dongle works, likely via the xpad module.
Things you will notice:

  1. The triggers being detected as axes when you go through the ES setup;
  2. There is a 60 second delay between starting a ROM and the controller beginning to respond.

Both can be solved by using xboxdrv as I hope you did before.
The first just needs the --trigger-as-button option on the config.
The second still occurs on the Vero4k when I built xboxdrv myself from the upstream repo. There is a fix for it and thankfully the repo that RetroPie-Setup uses includes that fix, so just install it from there.
(upstream doesn’t and GitHub development has been locked - I think they’ve moved to another platform).


#6

Trying to build the es-dev as you advised and it fails each time.

https://paste.osmc.tv/qufigazofa


#7

Thanks for testing.

At configuration you’re getting:

bcm_host.h found

So it thinks it’s building on an RPi and you get the linker errors because it then can’t find libbcm_host or libbrcmEGL.

On a clean install that shouldn’t be there. Any idea where that’s come from?


#8

Probably something out of the testing branch. I’ll investigate soon.


#9

So, Sam advises that nothing in OSMC would cause this behavior. I’m unsure of where to look next but if you have any suggestions, I’m happy to help find the cause of the issue.

EDIT: Ok, I installed OSMC fresh on my Vero4k. This time, during the setup, instead of selecting Basic Install, which I assumed I would do first before moving on to emst-dev, I went immediately to install emulationstation-dev. SUCCESS!!

So my next question, is there a provided method to exit Kodi and start RetroPie?


#10

Delighted to hear it!

I have used scripts launched via an SSH app for the launch and return to kodi.
Presently though I’m using the launcher and watchdog scripts from RetrOSMC as the swishest method.

I didn’t want to reinvent the wheel as ideally this would be integrated into RetrOSMC as mentioned in another thread, but mcobit hasn’t been around for a while to respond. All quiet on the github repo too. Not sure how to approach that.


#11

Ok, I’m somewhat running. Now a failure to start any games.

lvl2:    req sound [basic.launch]
lvl2:      (missing)
lvl2:   Attempting to launch game...
lvl2:           retroarch -L ~/cores/libretro-fceumm.so /home/osmc/RetroPie/roms/nes/Super\ Jeopardy\!\ \(USA\).nes
lvl1:   ...launch terminated with nonzero exit code 32512!
lvl2:   Creating surface...
lvl2:   Created window successfully.

EDIT: So it seems, I guess this is a manual install since the Basic install failed to work and might have created the issues that caused me to start back fresh. I’m now manually installing retroarch because I’m not sure that it’s installed. Just flying in the dark here so far :wink: , but I’ll let you know what I get into next.


#12

I’ll check in with him and see how he’s doing.
I think he took a step back because Kodi v18 is getting RetroPlayer.

Sam


#13

That’s interesting. Not an error I’ve seen before. I’ve always done the install manually because we are having to use ES-dev.
Aside from having to uninstall ES and then installing ES-dev I’d have thought you’d be ok. So perhaps the “basic install” option is doing something more?


#14

Well after installing retroarch, nothing has changed. Didn’t spend much time after that, but Google search wasn’t initially helpful. May look again with fresh eyes this afternoon.


#15

Earlier I thought you meant the “install all core packages from source” option. Aside from the wrong version of ES that really should be harmless.

The “basic install” adds loads of emulators that I wouldn’t use, so no I definitely haven’t tried that. No binaries are available for download so they all have to be built, which might mean some naughty dependencies have been installed which are causing you grief (maybe for a core you don’t even use!).

This is not the experience I wanted for you, but if you have the patience to persist do a manual install and test launch a ROM for each core/emulator as you go. I hope you will:
a) have some fun playing,
b) see which core has sabotaged things so I can look into it.

My first post already lists what I’m using, so if any of that overlaps your interests give those a go first. They all really do work for me out-of-the-box. If there is an issue it may mean a clean install in case things were contaminated by the “basic install” process.

There are emulators that haven’t been tried yet and won’t build at all for us, e.g. with SDL1.2 as a requirement or no GLES support. I haven’t disabled anything yet because if there is a demand on our platform for them I’m happy to then pursue a fix, as I’ve done for the ones I’d been keen on. We only know that if user can try them.

I need to edit the first post to advise the above and perhaps re-highlight the experimental/testing nature of this! But later as it’s a “major birthday” for me today and I’m being a bit unsociable now…

Again, thank you for testing.


#16

Sure, I completely understand the nature of software testing :wink: . Thanks for this response though, it gives me a better idea how to attempt to get to a working state. I’ll try to tinker some more later and let you know how I get on.
At this point nes titles are available on start but all attempts result in the previously mentioned error. I’ll move on to trying to install more emulators and report back.


#17

Ok, here’s what I’ve done and still having no joy…

These are my folders within ~/Retropie/roms/

    Nintendo.N64.ROMs.Full.Set.US
    Nintendo.NES.ROMs.Full.Set.US
    Nintendo.SNES.ROMs.Full.Set.US
    SNK.Neo.Geo.ROMs.Full.Set.US
    Sega.32X.ROMs.Full.Set.US
    Sega.Genesis.ROMs.Full.Set.US

I’ve installed Mupen64Plus, PPSSPP, lr-gambatte, lr-genesis-plux-gx, lr-mgba, lr-nestopia, lr-pcsx-rearmed, lr-snes9x2010 from the retropie-setup tool.

I can start emulation station and get this screen

I can press A and get the list of games but I’m still getting the previously stated error. I’m not sure what the hangup is at this point.


#18

I’ve been working through the emulators in the “main” section, trying to recreate your conditions, and shall continue to do so. I’m not sure what’s going on with your paths there though…

Observation 1:
In your excerpt above it looks like “romsets”? Something I’ve not used before.

The directory structure under ~/Retropie/roms/ is usually (shortened example):

lrwxrwxrwx 1 root root 9 Jun 29 09:02 genesis -> megadrive
drwxr-xr-x 2 osmc osmc 4.0K Aug 5 08:35 megadrive
drwxr-xr-x 2 osmc osmc 4.0K Jul 2 03:24 n64
drwxr-xr-x 2 osmc osmc 4.0K Jul 19 22:39 nes
drwxr-xr-x 2 osmc osmc 4.0K Jul 17 11:30 psp

And to go with your NES errors using lr-fceumm, my nes folder contains:

-rw-rw-r-- 1 osmc osmc 129K Jul 19 22:30 Ghosts’n Goblins (USA).nes
-rw-rw-r-- 1 osmc osmc 78K Jul 19 22:39 Mega Man (USA).zip
-rw-rw-r-- 1 osmc osmc 31K Jul 19 22:39 Super Mario Bros. (Japan, USA).zip

Your error messages with lr-fceumm implied a path of:
~/RetroPie/roms/nes/Super\ Jeopardy\!\ \(USA\).nes

But taking literally what you have above I imagine it would be:
~/Retropie/roms/Nintendo.NES.ROMs.Full.Set.US/Super\ Jeopardy\!\ \(USA\).nes

Is this a path issue then?
Have you used this folder structure before, e.g. RetroPie on an RPi?
Can you try moving an individual ROM into the appropriate folder and attempt launch that way?

Observation 2:
I was going to suggest you launch a ROM manually from the command line to prove the emulator itself is working (substitute the path to the ROM if it’s not right because of the romset thingy):

/opt/retropie/emulators/retroarch/bin/retroarch -v -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so /home/osmc/RetroPie/roms/nes/Super\ Jeopardy\!\ \(USA\).nes

But compare the path to the core in your error message:
-L ~/cores/libretro-fceumm.so
to what I’d have used above.

So the path to your core was wrong as well! I’m assuming the error message can be taken literally. I wonder if ES, runcommand.sh or retroarch is producing it. Is the error just output to the console or did you take it from a log?

EDIT:
Could you also check/post the content of:
/opt/retropie/configs/nes/emulators.cfg

This gives the launch instructions and paths for that platform, in my case:

lr-nestopia = “/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-nestopia/nestopia_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg %ROM%”
default = “lr-fceumm”
lr-fceumm = “/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg %ROM%”

If these are wrong then it would confirm a path issue.


#19
> [100%] Built target mupen64plus-video-GLideN64
> /home/osmc/RetroPie-Setup/tmp/build/mupen64plus /home/osmc/RetroPie-Setup
> Removing additional swap
> /home/osmc/RetroPie-Setup
> Could not successfully build mupen64plus - N64 emulator MUPEN64Plus (mupen64plus-ui-console/projects/unix/mupen64plus not found).

Since i’ve got no experience i cant understand what the problem is, help appriciated


#20

@joakim_s

RetroPie logs the details of build failures in timestamped archives e.g:
~/RetroPie-Setup/logs/rps_2018-10-26_062210.log.gz

You’ll need to gunzip the relevant archive and view the log.