Closed nemo93 closed 4 years ago
Hi, if I understand correctly ("you could also launch a .lha from the command line => crash") this also happens if you run Amiberry on its own, without Pegasus?
hey @mmatyas apologize :( Poorly phrased. I've edited my statement. You could launch a .lha from command-line (say from a remote ssh session) while still running Pegasus in the background then it will crash. If you exit Pegasus and launch the same remote command now Amiberry will run just fine. => the only way to get Amiberry running as it should is to close Pegasus. o_0
Hm so Amiberry actually does start up, ie. neither Pegasus nor Amiberry crashes on launch. but Amiberry has problems when changing some of its settings? When does the crash happen exactly? On touching the slider, or maybe when returning to the game? I see from the linked thread that someone reported it working; could it be a config file issue? Have you tried removing any user settings (if Amiberry has such things)?
About the remote SSH, the video driver of the Pi only allows running one graphical application at a time (or a single graphical desktop), so starting 2 GUIs in parallel will likely crash one of them (when launching from Pegasus, Pegasus closes itself first so that the launched program could access the GPU). Also I think launching Amiberry from SSH would also require setting DISPLAY=:0
, to make it pick the correct screen, but it might be handled by the program too.
Amiberry actually does start up. => correct. You could launch Amiberry with some games, go to the GUI with no problem.
Amiberry has problems when changing some of its settings? => correct. Specifically the Z3 memory setting from the RAM panel in the GUI.
When does the crash happen exactly? On touching the slider, or maybe when returning to the game? => as long as Pegasus is runnng and whenever Z3 is set from within the GUI or via a config file then Amiberry will throw an exception and crash. Also you just can't modify z3 value from within the GUI which is not expected. It's really specific to that setting and whenever Pegasus is running. Everything else works fine.
I see from the linked thread that someone reported it working; could it be a config file issue? => Amiberry devs have tried on their side and they couldn't replicate. None of them are using Pegasus. They either use Raspbian/LXDE or EmulationStation or even no frontend at all. We're using the same config file (default from retropie).
ssh/remote => ok let's put this aside and focus on a normal setup then and where Amiberry is crashing. I have Pegasus on a pi3B+ which works really great for more than a year and a half. Your frontend is truly fantastic btw. Now after setting everything up in order to have Amiberry as the Amiga emulator able to run *.lha file, objective is to run DungeonMaster_v1.2_0833.lha (which requires Z3). I just select that game from Pegasus hit the "A" button, Amiberry will launch and it will crash immediately. It then returns to Pegasus. => For games with no Z3 setting everything runs fine. => If I exit/close Pegasus down and try running DungeonMaster_v1.2_0833.lha from the shell this time it will work no problem.
Ok, I've set up Amiberry and Dungeon Master on a Pi 3, but I could not reproduce this crash. Here's what I did, feel free to tell me if I missed something:
alpha13-107
)First I tried from EmulationStation:
Then I tried from Pegasus, launching from the command line by typing pegasus-fe
. I've done exactly the same steps, and Z3 is also greyed out there too and cannot be selected or modified. The game seems to work fine.
@mmatyas let me first thank you for spending time and testing this out. Truly appreciated.
alpha13-107
and Amiberry 3.2 or superior from source.
=> all good and inline with my setup. Any Amiberry version above this commit midwan/amiberry@9fe0c0b
will do.DungeonMaster_v1.2_0833.lha
(sha1 = 64fe90194025cbe189949216450c00cacf400c71)amiberry.conf
under /opt/retropie/configs/amiga/amiberry/conf
? If so can you please share its content?My Pegasus setup includes an amiga.metadata.txt
file with the following defined:
collection: Amiga
shortname: amiga
directory: /home/pi/RetroPie/roms/amiga
launch: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ amiga "{file.path}"
extensions: lha, cue, uae
And somewhere in that file there's a definition for DungeonMaster_v1.2_0833.lha
with description etc. Whenever I launch DungeonMaster_v1.2_0833.lha
I can see the following in lastrun.log
:
2020-05-22T13:28:41 [i] Executing command: [`/opt/retropie/supplementary/runcommand/runcommand.sh`,`0`,`_SYS_`,`amiga`,`/home/pi/RetroPie/roms/amiga/DungeonMaster_v1.2_0833.lha`]
2020-05-22T13:28:41 [i] Working directory: `/opt/retropie/supplementary/runcommand`
2020-05-22T13:28:41 [i] Process 1992 started
2020-05-22T13:28:41 [i] ----------------------------------------
2020-05-22T13:28:50 [i] ----------------------------------------
2020-05-22T13:28:50 [i] The external program has finished cleanly
Hereafter the content of my emulators.cfg
from Retropie configs amiga dir:
amiberry = "/opt/retropie/emulators/amiberry/amiberry.sh auto %ROM%"
amiberry-a500 = "/opt/retropie/emulators/amiberry/amiberry.sh rp-a500.uae %ROM%"
amiberry-a1200 = "/opt/retropie/emulators/amiberry/amiberry.sh rp-a1200.uae %ROM%"
default = "amiberry"
Game still doesn't run here. Crash and back to Pegasus. Also the fact you can't set any Z3 after doing the steps described above is not normal. You should be able to set Z3 as long as 24 bit addressing is turned off.
May I ask also for you to try from the terminal session directly please? I mean exit EmulationStation/Pegasus. Log in with the pi
user and run:
$ cd /opt/retropie/emulators/amiberry
$ ./amiberry.sh auto /home/pi/RetroPie/roms/amiga/DungeonMaster_v1.2_0833.lha
Alternatively:
$ cd /opt/retropie/emulators/amiberry
$ ./amiberry -autoload=/home/pi/RetroPie/roms/amiga/DungeonMaster_v1.2_0833.lha
=> from terminal both commands allow the game to properly work here. I can set Z3 too.
I'm really lost here as I don't see any obvious relation between an emulator setting and a frontend...
Ok, flashed the card again, same setup, except I have not even installed Pegasus or anything else, just Amiberry from source
I have double checked theSHA/CRC of the game and the kickstarts, and they match
I have the following /opt/retropie/configs/amiga/emulators.cfg
, which was created by the RetroPie installer after building Amiberry:
amiberry = "/opt/retropie/emulators/amiberry/amiberry.sh auto %ROM%"
default = "amiberry"
amiberry-a500 = "/opt/retropie/emulators/amiberry/amiberry.sh rp-a500.uae %ROM%"
amiberry-a1200 = "/opt/retropie/emulators/amiberry/amiberry.sh rp-a1200.uae %ROM%"
I don't have an amiberry.conf
. Using the *Configuration" screen created a DungeonMaster_v1.2_0833.uae
with the following contents: https://pastebin.com/s8GcDx2z
. I should probably mention that with the settings set to the provided values and saving the config, the game no longer boots and I'm on a "insert floppy" screen. I also have a retroarch.cfg
which is a symlink pointing to /opt/retropie/configs/all/retroarch.cfg
.
Running from the terminal doesn't solve the menu issue either, and the game (or the floppy screen, depending on whether the config is present) boots fine.
Considering the nature of the bug and all the test results so far, to me this doesn't seem to be related to Pegasus either.
thanks again @mmatyas for spending time and testing this out. In the light of the above I really do not want to waste more time on that. I'm going to close that ticket then. It should be something with my setup... Thanks a lot!
hello @mmatyas hope you're doing ok. I'm reaching out as I do have a weird issue with Pegasus and Amiberry (an Amiga emulator optimized for ARM available in Retropie).
Issue
Amiberry is throwing an exception or even weirder prevent you from setting/modifying specific RAM settings within the emulator GUI. This occurs only when using Pegasus and whenever Pegasus is running. I've tried to replicate under those environments:
Definitely the issue happens only when Pegasus is running and/or when I launch an Amiga game which requires Z3 memory straight from it.
Environment / setup
Steps to reproduce
compile Amiberry from source thanks to Retropie setup (binary update should be ok too).
setup Pegasus to let it run Amiga *.lha packages (whdload)
then try running DungeonMaster_v1.2_0833.lha (requires Z3 memory) => crash
$ ./amiberry -autoload=/home/pi/RetroPie/roms/amiga/DungeonMaster_v1.2_0833.lha
=> crash with just$ ./amiberry
(to get straight to the GUI) => you won't be able to move the Z3 slider after picking a A1200 or A4000 quick config.Amiberry will crash and generate a stacktrace.
The outcome will always be the same: crash of Amiberry or being unable to assign any Z3 memory. I don't really see the relation between Amiberry and Pegasus but there might be something! Any help appreciated. Thanks.