New Hypseus and lr-Daphne to add on Retropie-Setup
-
@Stuart2773 There's a thread about the directory structure in the git repo : https://github.com/libretro/daphne/issues/35
@Darksavior (and maybe @cyperghost ) lr-daphne builds correctly on my Pi, but fails with these errors on my pc running Kubuntu 64 bit 18.04.1. Any ideas how to solve that?
/usr/bin/ld: cannot find -lbcm_host /usr/bin/ld: cannot find -lvchostif collect2: error: ld returned 1 exit status Makefile:187: recipe for target 'daphne_libretro.so' failed
@darknior If this strays too much from the thread's topic, please say so and I'll open a new thread about it.
-
@Clyde said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@darknior If this strays too much from the thread's topic, please say so and I'll open a new thread about it.
No problem, i have modify my title and first post.
But i don't have try it for the moment, i can't really understand and explain the "Directory structure" if you can explain it here in a few lines. Thanks
-
@darknior As far as I derived from https://github.com/libretro/daphne and this comment from @grant2258 in the issue #35, the directory structure should be as follows, e.g. for Dragon's Lair:
../lr-daphne |-- framefile | |-- lair.commands | |-- lair.dat | |-- lair.m2v | |-- lair.ogg | `-- lair.txt `-- roms `-- lair.zip
The contents of
lair.txt
:. 151 lair.m2v
But as bslenul said, lr-daphne exits with an segmentation fault. My steps in detail:
- Install lr-daphne with @cyperghost's script.
- Create the directory
/RetroPie/roms/ports/lr-daphne
. - Put the game files in the directory structure as mentioned above.
- Create a script file
/RetroPie/roms/ports/lr-daphne.sh
and make it executable. - The content of
lr-daphne.sh
:
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/ports/lr-daphne/daphne_libretro.so /home/pi/RetroPie/roms/ports/lr-daphne/
- Run
lr-daphne.sh
:
~/RetroPie/roms/ports $ ./lr-daphne.sh ./lr-daphne.sh: line 1: 12015 Segmentation fault /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/ports/lr-daphne/daphne_libretro.so /home/pi/RetroPie/roms/ports/lr-daphne/
For now, I'll let it rest until it will be included properly in RetroPie or someone comes up with another solution.
edit: two typos
-
@Clyde Thanks a lot, i will try it and report if it works fine for me or not.
I have Retropie 4.3 and an other with 4.4, to make the tests. -
is the command file really needed? i have some games running fine without commands.. dont know what i can improve by adding it
-
Has there been any updates on lr-daphne? I tried again, but couldn't get it to work. Has anyone have this running? I installed through cyperghost's script, but I am still completely lost on where the folder tree belongs.
-
@BiZzAr721 I wouldn't bother waiting. I tried it a few months ago on pc via retroarch. Besides the ridiculous folder structure to even get it to load, most games wouldn't load and the ones that did I wouldn't get audio and then it'd crash. Hypseus seems dead too.
-
@Darksavior I wasted a couple of hours trying to get it working - I was hopeful when I saw the install script! Thanks for that quick reply.
-
@darksavior So it looks like Hypseus just had release for version 1.30 on February 26, 2021. https://github.com/btolab/hypseus
I gave it a go on my Pi4 and nothing was even remotely playable. All the games work fine with
daphne
but withhypseus
they were a mess.I'd really love to see an update to
daphne
so I can switch my Pi4 over to the full KMS driver (vc4-kms-v3d
) instead of fake KMS (vc4-fkms-v3d
).Has anyone had any luck with getting hypseus running on a pi4?
-
@saturnx I’ve been running hypseus on KMS for my Pi4 on 64-bit.
However, I also run upstream versions of SDL2 and MESA, so I don’t have a typical RetroPie setup.
What are the issues you are experiencing with hypseus?
-
I'm currently segfaulting with lr-daphne, but if anybody is interested in a working Directory Structure for lr-daphne, here are the basics:
First, unlike stand-alone Daphne, lr-daphne launches from a game rom, so ensure es_settings.cfg includes .zip .ZIP then restart ES.
Next, unlike stand-alone Daphne, lr-daphne requires that ALL framefiles for all games are placed in a single framefile directory instead of living with the m2v and ogg files.
Lastly, if you're like me, and have used stand-alone Daphne, you probably have a bunch of folders with the format <gamename>.daphne -- You many leave these named as-is. You don't have to mess with them, but will need to ensure the framefiles you add correctly point to these folders.
Here is the structure I'm using for lr-daphne (assuming you are using RetroPie defaults) with notes:
Main Directory: /home/pi/RetroPie/roms/daphne
So, this is standard. Nothing unusual here.roms Directory: /home/pi/RetroPie/roms/daphne/roms
I don't like this, because with lr-daphne, you must launch a rom, and this is a level deeper than typical. So in ES, you actually need to enter the directory called "roms" and select a rom. From what I can tell, if you put roms in ~RetroPie/roms/daphne/ then you have to move everything else back one directory -- so everything would be sitting with all of your other rom folders at ~/RetroPie/roms instead of being tucked tidy in ~RetroPie/roms/daphne/. Correct me if I'm wrong, but this seems to be the case.m2v/ogg/[dat] Directories: /home/pi/RetroPie/roms/daphne/<gamename.daphne>
You don't HAVE to name the directory with the extra .daphne suffix, but it will allow you to use lr-daphne and stand-alone Daphne, if you do it this way... Unlike stand-alone Daphne, with lr-mame, the directory name here is not strict, but you MUST properly reference it in each framefile. Note that dat files will be automatically generated, as is typical for any version of Daphne.framefile Directory: /home/pi/RetroPie/roms/daphne/framefile
You absolutely MUST have this directory with lr-daphne. Copy each and every framefile you desire into this folder. The files should be named the same as the rom name. For example, if using Dragon's Lair rom "lair.zip", then name this framefile "lair.txt". It's also important that the FIRST LINE inside each framefile references the correct m2v/ogg Directory path I mentioned above. A simple "period" won't suffice here unlike the stand-alone Daphne. I'm using literal paths, such as: /home/pi/RetroPie/roms/daphne/lair.daphne which works just fine, but you'll need to modify each .txt file to reference the correct game path. OPTION: If you are also using the stand-alone Daphne, you may opt to leave copies of your framefiles in the Video/OGG directories and leave them alone. lr-daphne will ignore these...sound Directory /home/pi/RetroPie/roms/daphne/sound
Self-explanatorypics Directory /home/pi/RetroPie/roms/daphne/pics
Self-explanatoryram Directory /home/pi/RetroPie/roms/daphne/ram
Self-explanatoryThat's really it... It's different enough from the stand-alone Daphne to be annoying, but this structure does work. From EmulationStation, just launch the rom. It'll parse everything and look for the matching framefile in the framefile directory, which then informs the emulator where to find the m2v/ogg files, and assumes sound, pics, ram are all where they need to be and you're off to the races.
Remember though, I'm currently experiencing a segfault so lr-daphne might not be a working option at this time... For me, the game renders 2-3 frames of video then crashes without information (not from a verbose runcommand.log or daphne_log.txt). But if you want to play around with lr-daphne, this is how you can set it up.
-
@SaturnX posted:
Has anyone had any luck with getting hypseus running on a pi4?
FWIW: I just installed the latest Hypseus on a Pi4B/32-bit/KMS using the directions found in the OP, and it is 'working' but with the same freezing and video being unable to keep up with gameplay.
Spot-checked a few games:
Framerate issues:
Dragon's Lair (framerate/freezing issues)
Space Ace (framerate/freezing issues)
Astron Belt (some freezing, but only during LaserDisc seeks)Runs fine:
Cliff Hanger (working fine)
M.A.C.H. 3: (working fine)So... Mixed.
-
@roslof 64-bit RPiOS does not seem to suffer the same problems for me in hypseus.
I tried lr-daphne but wasn’t getting any sound output. I’ll need to try it again with your directory structure you posted.
-
@bluestang said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@roslof 64-bit RPiOS does not seem to suffer the same problems for me in hypseus.
I tried lr-daphne but wasn’t getting any sound output. I’ll need to try it again with your directory structure you posted.
Hmm. Hypseus crashes for me while in 64-bit. Did you have to compile it differently to support 64-bit?
-
@roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@bluestang said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@roslof 64-bit RPiOS does not seem to suffer the same problems for me in hypseus.
I tried lr-daphne but wasn’t getting any sound output. I’ll need to try it again with your directory structure you posted.
Hmm. Hypseus crashes for me while in 64-bit. Did you have to compile it differently to support 64-but?
I just add this
-DCMAKE_BUILD_TYPE=Release
but that should already be set in the CMake file as default IIRC.I do remember having to delete the dat files so they could be re-generated for a few of the roms...
I’d also try just running the roms with a very vanilla cmd line.
Any hypseus logs?
-
It appears that in 32-bit KMS you have to use
libmpeg2-4
from apt instead of building from the btolab repo and a few files need to be patched. This method also works for 64-bit as well.Build script here - hypseus.sh
Patch is here - hypseus.diff
You can put the build script in
~/RetroPie-Setup/ext/REPOSITORY_NAME/scriptmodules/emulators/
The patch will need to go in~/RetroPie-Setup/ext/REPOSITORY_NAME/scriptmodules/emulators/hypseus
Note:
You will also need to copy the sound folder as well.I am still fiddling with this script so it is a WIP. -
@bluestang said in New Hypseus and lr-Daphne to add on Retropie-Setup:
It appears that in 32-bit KMS you have to use
libmpeg2-4
from apt instead of building from the btolab repo and a few files need to be patched. This method also works for 64-bit as well.Ahh, this is fantastic! Great work on the script. Works beautifully. Framerate is clean now. No more crashes. Loads REALLY fast, compared to the original Daphne. Yeah, I'm still green with the compiling and never would have figured out those changes.
The only bit of weirdness is with the actual rom files location. They are currently at ~/RetroPie/roms/daphne, instead of ~/RetroPie/roms/daphne/roms -- Which is not major, but if they were at the same location as the original Daphne, will be much easier for folks to simply run the script, change the default emulator, and off they go.
Cheers!!
-
After running @bluestang's hypseus script, I tested all of the primary games and this is looking like a pretty good substitute for Daphne. Best to nuke the generated DAT files and let hypseus regenerate them, or you might have some funny issues with videos not matching with what was intended.
WORKING:
Astron Belt
Cliff Hanger
Cobra Command
Dragon's Lair
Dragon's Lair (Enhanced)
Dragon's Lair II Time Warp
Esh's Aurunmilla
Galaxy Ranger
GP World (only video sound)
Interstellar
M.A.C.H. 3 (only video sound)
Space Ace
Super Don Quiote
Us vs. ThemNOT WORKING:
Badlands2021-03-14 22:49:12.639 WARN [23072] [badlands::cpu_mem_write@292] Write to ffff with 0 <repeats>
Bega's Battle
2021-03-14 22:47:16.156 WARN [21937] [bega::cpu_mem_write@549] Error! write to main rom at e0df
Road Blaster
2021-03-14 22:50:40.866 WARN [24058] [bega::cpu_mem_write@520] write to main rom at a80f 2021-03-14 22:50:40.866 WARN [24058] [bega::cpu_mem_write@520] write to main rom at f8ec
Not sure, but I thought the 3 non-working games may have been fixed in Daphne (over the last year or so) by a change from @pjft -- but I could be mistaken. Might be unrelated... Or perhaps a similar change can me made to Hypseus to fix these, but for now, the major games seem to be working perfectly.
-
@roslof They were, and it probably can - but you might even get away with a simple compiler flag. I don't have it at hand, but if you check my last commit on the RetroPie-Setup repo for the daphne installer, as well as the makefiles in Daphne, you might see it.
The issue was related to how the compiler handled the default type for char - as signed or unsigned int.
If I recall correctly, we want these to be... signed?
-
@roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@bluestang said in New Hypseus and lr-Daphne to add on Retropie-Setup:
The only bit of weirdness is with the actual rom files location. They are currently at ~/RetroPie/roms/daphne, instead of ~/RetroPie/roms/daphne/roms -- Which is not major, but if they were at the same location as the original Daphne, will be much easier for folks to simply run the script, change the default emulator, and off they go.
This should be fixed now to
~/RetroPie/roms/daphne/roms
I'll need to look into the 3 roms you mentioned that are not working. They all are failing at the same function of their code -
::cpu_mem_write
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.