BlitterStudio / amiberry

Optimized Amiga emulator for Linux/macOS
https://amiberry.com
GNU General Public License v3.0
663 stars 89 forks source link

amiberry v5.6.3 wont run with retropie #1163

Closed Retro1968 closed 1 year ago

Retro1968 commented 1 year ago

System: Raspberry Pi 4B with RetroPie.

Hello Midwan, at first I want to thank you very much for amiberry v5.6.3.

While I have no problems with amiberry v5.6.3 under raspiOS 64 bit, amiberry v.5.6.3 does not want to run under RetroPie.

So far, amiberry v.5.6.1, which I installed manually, worked without any problems on Retropie. Now I installed amiberry v5.6.3 manually in the same way like always. But it does not work. If i start it the screen gets black and brings me back to the RetroPie-Menue. If I copy the "amiberry" file from version v.5.6.1 into the amiberry v5.6.3 installation, it runs (of course then in version 5.6.1). I find that very strange. With amiberry v.5.6.2 I had the same problem under RetroPie. Since then there must have been some changes that prevents amiberry from starting under RetroPie.

I compile with this command: make -j4 PLATFORM=rpi4-sdl2

Best regards Retro1968

midwan commented 1 year ago

@Retro1968 I think RetroPie used the Dispmanx version, isn't that still the case?

Retro1968 commented 1 year ago

Since a while ago an raspios update brought sdl2 to it. I used since that the command: make -j4 PLATFORM=rpi4-sdl2 amiberry v.5.6.1 was compiled the same way.

Retro1968 commented 1 year ago

To be on the safe side, I just recompiled amiberry v.5.6.1 with this command on retropie: make -j4 PLATFORM=rpi4-sdl2 Yes, amiberry v.5.6.1 works with the SDL2 option on retropie. :-)

midwan commented 1 year ago

I just tested with the latest from master, on a fresh installation of RetroPie 4.8. Both the supplied DMX 5.6.2 and a self-compiled latest from master using rpi4-sdl2 as the PLATFORM option, worked normally for me.

Could you try with the latest changes?

Retro1968 commented 1 year ago

I just compiled the latest amiberry-master with this command: make -j4 PLATFORM=rpi4-sdl2 Unfortunately without success.

midwan commented 1 year ago

Did you try running it from the console, or under EmulationStation? My tests were from the console directly (just in case)

Retro1968 commented 1 year ago

I always start amiberry from the emulation station by clicking on the start file "+start amiberry" and use it to boot to AOS 3.2.2.1. This always works without any problems with amiberry v.5.6.1. Not anymore since amiberry v.5.6.2.

midwan commented 1 year ago

Can you try from the console also, please?

Retro1968 commented 1 year ago

Dont know what you mean. i only can start it in that way.

This is my amiga entry in es_systems.cfg

es_systems.txt

midwan commented 1 year ago

If you press F4, you'll close ES and get to the console. Then navigate to /opt/retropie/emulators/amiberry and launch it from there, usually with something like ./amiberry. If it works, then it's something to do in combination with ES. If it doesn't work for you still, then it's something else...

Retro1968 commented 1 year ago

I tried it but it did not work.

Retro1968 commented 1 year ago

It must be a problem with amiberry, since v5.6.1 is running on me. I use retropie 4.8.2.

midwan commented 1 year ago

I'm on the latest RetroPie also, and the latest Amiberry (freshly compiled from source), and it does work for me however... There must be something we missed.

midwan commented 1 year ago

Do you get to the Amiberry GUI at all?

Retro1968 commented 1 year ago

no. only with amiberry v.5.6.1.

Retro1968 commented 1 year ago

Please show me your amiga entry in your "es_systems.cfg". I showed you mine above.

midwan commented 1 year ago

I doubt it's related to that, but sure... where can I find it?

Retro1968 commented 1 year ago

/etc/emulationstation

midwan commented 1 year ago

I have the same:

<system>
    <name>amiga</name>
    <fullname>Commodore Amiga</fullname>
    <path>/home/pi/RetroPie/roms/amiga</path>
    <extension>.adf .adz .chd .cue .dms .ipf .lha .m3u .sh .uae .zip .ADF .ADZ .CHD .CUE .DMS .IPF .LHA .M3U .SH .UAE .Z
IP</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ amiga %ROM%</command>
    <platform>amiga</platform>
    <theme>amiga</theme>
  </system>
midwan commented 1 year ago

and I also tried renaming the bundled binary, and putting the sdl2 compiled one in it's place, then launching it from ES. It still works normally here.

Please post your amiberry.conf file, and if you have a config named default.uae, please attach that one also.

midwan commented 1 year ago

Also, please enable logging (you can do that by editing amiberry.conf and set the relevant option to yes), and try running it from the console if possible. See if any messages show up in the console and in the log.

Note that the logfile will be attempted to be created in the same directory the binary is in by default. You may not have permissions there in RetroPie, so you can either change the path or run it with sudo (or change the permissions)

Retro1968 commented 1 year ago

amiga.zip

midwan commented 1 year ago

One more thing: since you have a default.uae, try renaming that and test again. The GUI should pop-up at least.

Retro1968 commented 1 year ago

when i delete default.uae the amiberry gui pops up for a very short time before it crashes back to emulationstation

midwan commented 1 year ago

Try the steps above, including the logs please. We need more details to understand what's going on, since I cannot recreate it here.

Retro1968 commented 1 year ago

logs not today.

when i use the amiberry.conf from amiberry-master folder i get the same crash of amiberry gui. so nothing wrong with my amiberry.conf

midwan commented 1 year ago

Yeah, I didn't see anything weird in amiberry.conf either. I'll need logs and test running it from the console, in order to see any error output it might throw there.

Retro1968 commented 1 year ago

amiberry.log.txt

started it from console with: sudo ./amiberry

midwan commented 1 year ago

Thanks, now we can see some more info... It looks like it blew up at some point after initializing one of your joysticks:

Joystick #1: e4you e4you Retro Fun
      GUID: 03000000830400000590000000010000
      Axes: 2
      Buttons: 2
      Balls: 0
Joystick #1 does not have a mapping available

No further output after that, just the exception. Can you try after disconnecting that specific joystick, to see if it makes a difference? Please generate a new log if it still crashes after that.

Retro1968 commented 1 year ago

retrofun is a joystick adapter. disconneting it makes amiberry v.5.6.4 work! But why is this error not with amiberry v.5.6.1???

midwan commented 1 year ago

I don't know yet, but it's good to narrow it down further. Now we know where the crash is happening, and that it only triggers when that adapter is connected (which explains why it doesn't crash for me). I'll try some refactoring of the code in that area, to see if it helps fix the situation.

Retro1968 commented 1 year ago

Ok, thx. for today i say goodnight mate. :-)

midwan commented 1 year ago

I have some minor changes in a separate branch, named controller-refactor. When you get a chance, please clone that one, compile and see if the result makes any difference in your case.

Retro1968 commented 1 year ago

Yes, great, that fixed the error. So there are no more crashes with the retrofun adapter. Thank you!