Very confused about RetroPie.
-
Hi, as the title suggests, I'm really quite confused as to what RetroPie is.
It appears to bring with it: RetroArch and EmulationStation. Both of which are front-ends to certain emulators.
EmulationStation appears to look exactly like the install of RetroPie but with better display information about each game.
RetroArch seems to be the same but with a different look.In RetroPie (or is it EmulationStation?), you have to set up about 50 keys to map, when in reality, you need left/right and select. Each game in say, MAME has it's own set of key/button mappings, so am baffled as to why there needs to be so many in RetroPie - each time I go to select an option from a menu or list, it feels like the button I have to press to select it changes.
It seems and feels far too complicated. I've been a programmer for nearly 30 years and I'm struggling like hell with this to simply get a game playing in MAME with the keys that I want to play it with.
What am I missing here?
-
It appears to bring with it: RetroArch and EmulationStation. Both of which are front-ends to certain emulators.
RetroPie allows you to turn your Raspberry Pi or PC into a retro-gaming machine. It builds upon Raspbian, EmulationStation, RetroArch and many other projects to enable you to play your favourite Arcade, home-console, and classic PC games with the minimum set-up. For power users it also provides a large variety of configuration tools to customise the system as you want.
I think you're missing the bigger picture here. In RetroPie, all you need to do is configure your gamepad in Emulationstation, then the configuration will be automatically generated for RetroArch based emulators (and a few others that are not Libretro cores).
Where do you see '50 keys to map' ?It seems and feels far too complicated. I've been a programmer for nearly 30 years and I'm struggling like hell with this to simply get a game playing in MAME with the keys that I want to play it with.
If you want to configure from within RetroArch, yes, the interface can be challenging and the Input configuration is often reported as too complicated by RetroArch users.
It seems and feels far too complicated. I've been a programmer for nearly 30 years and I'm struggling like hell with this to simply get a game playing in MAME with the keys that I want to play it with.
Besides your other topic opened, what other problems have you encountered ? Have you looked in the Documentation - https://retropie.org.uk/docs/ ?
-
@dchurch24 Have to admit, I initially found it horribly confusing too.
Then someone said 'Read the documentation, we spent ages writing it!' and actually, unlike similar projects, the documentation IS actually very good!
My understanding is that EmulationStation is basically your eye-candy front-end, for selecting different systems etc. You map your controller to that, so you can navigate the front-end.
RetroArch sits under Emulationstation and should pick up the controller mappings, it's a front-end for a whole bunch of emulators whose names starts 'lr-'.
In theory all the control you set up are then available in all those emulators, but I have found that the mappings aren't ideal, and yes, I ended up remapping a lot in each emulator independently.
I think the confusion comes due to the huge number of possible controllers people might use, and the range of emulators (not all of which are retroarch versions).
As mentioned by @mitu, configuring RetroArch independently isn't very intuitive.
My advice is to set up the front end controls in EmulationStation, the way you like, largely ignore RetroArch, and press TAB (in most emulators) to fine-tune the controls for that emulator. The setup for each emulator is saved, you don't need to do it every time.
You still have to use different emulators for different roms (MAME) sometimes though - as some game roms just don't work in some MAME emulators. I use lr-mame2003 by default, and advmame-0.14 for problematic ones.
-
Hi. Thanks for the reply.
I feel sure that I am missing something...
So, RetroPie is a "wrapper" around all the other front-end systems for different emulators?
50 may have been a slight exageration (only slight, mind). I'm talking about the Control Config, where you press each button then move onto the next - the last of which is the "hotkey"- there's a sizable amount of keys to map, the vast majority of which that won't ever be used.
I'm failing to see what it's purpose is - if it detects your controller (in my case, the zero-delay - and in my other cab, an iPac), then why is it asking me about "left-shoulder-button" etc... when, in each emulator, say MAME, I then have to go and re-map the buttons again? It all seems so unnecessary, so I'm sure I must be missing something.I don't know how else to configure it. How do I know if I'm in RetroArch, EmulationStation, RetroPie, or some other front-end that I have yet to discover?
I have read the docs - but that just seemed to make things worse. For e.g., one link from the docs says "Retropie is the most popular emulator for Raspberry Pi" - it is?
It's as confusing as hell. Is it a front-end to a bunch of emulators, or a front-end to other front-ends, or is it an emulator in its own right?
I realise this could be read as trying to start an argument - I'm not, I promise. Just really very confused.
It's got me to the point where I feel it would easier for me to write my own front-end in Python (a language I don't use very often) or something, as it seems it would be the simpler option to write thousands of lines of code, than trying to configure RetroPie. -
@GtBFilms Cheers.
So...which part is RetroArch? Is that the config menu that pops up where you have to map all the keys?
I honestly don't know how I would tell them apart?Why wouldn't people just use, say, EmulationStation over RetroPie - as far as I can make out, it would do the same job, no?
-
@dchurch24 said in Very confused about RetroPie.:
I have read the docs - but that just seemed to make things worse. For e.g., one link from the docs says "Retropie is the most popular emulator for Raspberry Pi" - it is?
Where exactly is that ? It's obviously not correct, since RetroPie is not an emulator.
I don't know how else to configure it. How do I know if I'm in RetroArch, EmulationStation, RetroPie, or some other front-end that I have yet to discover?
Emulationstation is the front-end where you see the systems/ROMs.
RetroArch is the emulator.
RetroPie is the collection of scripts used to configure and install the emulators and the frontend - you see an interface to it when you launch 'RetroPie Setup' from Emulationstation. -
RetroPie is the whole thing. You can install new emulators etc, install new artwork, etc. RetroPie consists of all the emulators, Retroarch, EmulationStation etc. Like a Linux distro, I guess.
RetroPie configuration looks like this:
https://cloud.githubusercontent.com/assets/10035308/17758599/fb76e94a-64ad-11e6-8dc6-e8ca545e2630.pngEmulation Station controller configuration is this bit:
https://cloud.githubusercontent.com/assets/10035308/9140518/0263b9c8-3cef-11e5-922f-42f790f3be91.png"there's a sizable amount of keys to map, the vast majority of which that won't ever be used."
Yup, you don't have to map them all. Press any button and hold it down to skip the mapping. I don't map any of the analogue joystick controls as I don't have an analogue control.
EmulationStation controller setup maps your controller (whatever it may be) to a generic 'RetroPad' which the emulators can then map to. Otherwise you could end up with a specific emulator not recognising your specific controller. As all the emulators recognise the virtual 'RetroPad' which EmulationStation has created, it means you can use whatever controller you happen to have with all of the emulators, regardless if that particular emulator knows about your specific setup (but sometimes you need to remap a bit, because the buttons are a bit jumbled up).
RetroArch is this bit (I avoid making any changes here as I have no idea what I am doing):
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSzX1iiLoodisBiq9Qnc-t3jwliA0mVEGhX56OlJN04y1kDX2PE -
Ok...I think I'm getting there.
I got to here: https://eltechs.com/retropie-raspberry-pi-retro-gaming-machine/ somehow from the docs or about - it was last night when I was reading everything I could find trying to get the keys configured.
What is RetroArch emulating?
Is MAME not emulating the hardware of the games it's executing, in the same way that say, the MegaDrive emulator is? -
@GtBFilms Thank you. I think :p
It all seems so very confusing still.
I think I'm going to write a quick front-end that lists the roms, and lets me select them with a single button, then configure each game in its respective emulator.
I'll persevere for a little more later tonight...but I'm thinking I could have written something like that in half the time I've spent trying to get this up and running.
-
I think the bit that you are missing is that you could do that, but if you then gave a copy of your system to me, and I plugged in my weird-ass controller that you've never seen, it wouldn't work, as none of the emulators would recognise my controller, it would only work for your specific setup.
-
@GtBFilms True, I get your point, but then wouldn't it make sense to attempt to detect the hardware (which it does), and/or simply map the buttons right/left/select in the front-end, and then map the rest in the respective emulator(s)?
-
@dchurch24 MAME already comes with a front-end and also RetroArch. The latest MAME will not work very well on a PI though - but if you have a PC that's all you need.
If all you want is an Arcade emulator, then look at AdvanceMame - it's included in RetroPie but you can also install it standalone - it has a fairly simple front-end - AdvanceMenu - for the AdvanceMame arcade emulator.I'll persevere for a little more later tonight...but I'm thinking I could have written something like that in half the time I've spent trying to get this up and running.
I doubt that, but why not ?
-
To be fair, I've just written a very simple and rudimentary example of this in C# since I wrote the last reply. It's VERY rudimentary, but it does shell a cmd line MAME and launch the game already.
I felt that if something exists to the job already, then me writing yet another would be a waste of time.
I just figured that I wasn't getting the angle at which to approach RetroPie, but for what I need, it seems that it could well be overkill. -
@dchurch24 said in Very confused about RetroPie.:
I got to here: https://eltechs.com/retropie-raspberry-pi-retro-gaming-machine/ somehow from the docs or about - it was last night when I was reading everything I could find trying to get the keys configured.
That page has some wild inaccuracies about the programs included in RetroPie (also used elsewhere, not specific to Retropie). The company that runs the site used to sell an x86 emulator which ran on the Pi (https://eltechs.com/product/exagear-desktop/exagear-desktop-features-and-prices/), they no longer sell it now.
-
@dchurch24 said in Very confused about RetroPie.:
@GtBFilms True, I get your point, but then wouldn't it make sense to attempt to detect the hardware (which it does), and/or simply map the buttons right/left/select in the front-end, and then map the rest in the respective emulator(s)?
There are many different USB controllers that identify with the same name but have different layouts. The current method of configuration is more reliable (We used to use the other method). You only need to configure a controller once generally, so I don't really see the issue.
If you don't like the way RetroPie works, I suggest you try out something else like Lakka or Recalbox.
-
@mitu Fair enough
@BuZz I did try Lakka, but the image wouldn't boot on a RPi3. Tried a few different SD cards as well, so I there's something up there. I'd not come across Recalbox, but will give that a try later tonight. Thank you.
I just don't understand why the fundamentals are not mapped by the user (so it would make little difference which controller is being used) - left/right/select for the front-end. It's all that is needed to get things running for users. All games require a different layout/sequence, and as such each game needs configuration in its respective emulator in any case.
It's not that I don't like the way it works, it's that I just can't get it to work without a lot of trouble. I have it working on my bar-top machine - but that took 3 of us several days to configure, and even now, it's not quite right. I scrapped it and started again a few times. One of which was my GF who has a MSc in Computer Science, and me, with 30 years as a programmer behind me - so we're not technically-challenged (so to speak). Maybe that's the problem?
I thought with that experience, that it would be easier this time around, but sadly, it's not.
I finally managed to get some keys mapped yesterday - we started at around midday, and finally gave up and went to bed at midnight - but then we found there was no way to exit a game, short of pulling the plug on the Pi and rebooting it.It just seems that some obvious things are missing.
-
@dchurch24 Against @BuZz suggestion I would first try to stick to RetroPie - so configuration is really straight forward. You can always ask and you will get a quick answer.
-
@cyperghost Fair enough. I'm going to give it another go tonight. If I can get it configured, then job done. It's nearly there - after a lot of faffing about - I just need to work out how to get out of a game once it's been loaded.
I had another thread where some suggestions were made, so I'm going to give them a go.
Thank you. -
@dchurch24 It is so that imho systems like Recalbox or it's fork BATOCERA may work better out of the box. I know for sure that RetroPie is more robust and it gives you a lot more ways to do configurations. The other platforms are a bit more "closed" ... It's your decision
-
@cyperghost Understood. I'd like this to work...and I appreciate the work that goes into it. I prefer to configure the keys myself.
I'm now a little wary of other front-ends as well, in case they've over-complicated it as well.
On my initial box, I tried to configure the Spectrum Emulator as well, but not a single button worked, and there was seemingly no obvious way to keymap anything from inside the emulator.
Personally, setting up each game/emulator seperately isn't much of a chore - I'm guessing RetroPie/EmulationStation is an attempt to minimise that effort, but by doing so, has rendered most of what I want to do very difficult.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.