(REQUEST) Add Daphne Singe emulator?
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
I had thought this was tied to SDL1 vs. SDL2, but it appears its tied to the use of
dispmanx
which isn't supported by KMS. Does yoursinge
build not usedispmanx
?It only uses GL and SDL. As I understand it, dispmanx is a poor version of SDL not used very much any more, but seems to be adopted to some degree on RetroPie or RPi in general.
I also just took a look at
hypseus
and compiled it last night on my Pi4, however no game was even remotely playable either due to freezes/video skips, etc.. Maybe I'm missing something, but the same titles run perfectly underdaphne
.What version of Daphne are you using? The RetroPie build or custom build from DavidGriffith or myself ? These repos are very similar to the Singe repo, so may also work. They have the same fixes in that I put into the underlying Singe repo daphne engine.
I've posted in the other thread about
hypseus
to see if I can get the conversation going again :)Yeah I would like to see that up and working too, maybe it needs some TLC from extra developers to give it a kickstart.
-
@dirtbagxon That makes total sense about the use of GL and SDL in your singe build.
Yeah the first thing I noticed switching to the full KMS is the loss of the boot splash screen, as it turns out RetroPie uses
dispmanx
for the boot splash screen.I’m actually using @pjft’s build (which fixed issues with DragonRise joystick encoders). I didn’t even know you or DavidGriffith had a Daphne repo. I’m sure I can find yours, but do you have a link for the DavidGriffith repo?
Any insight on the differences between yours and his?
Regardless I’ll give them a go on my dev build and report back. The full KMS driver is still new territory in the RetroPie space and such is the adventure of being on the “bleeding edge”.
Also - any tips on compiling on the pi? Just want to ensure I don't miss anything. Would it be the same as the singe install?
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
I’m actually using @pjft’s build (which fixed issues with DragonRise joystick encoders). I didn’t even know you or DavidGriffith had a Daphne repo. I’m sure I can find yours, but do you have a link for the DavidGriffith repo?
https://github.com/DirtBagXon/daphne - Install is pretty much identical to Singe
I pushed all of my changes back to David, including the fixes for Badlands, Road Blaster and Bega's Battle on the RPi from pjft.
pjft - Any insight on the differences between yours and his?
@pjft's version is a fork of grant2258 which in turn is a fork of the RetroPie fork, whereas I forked from David's which is more inline with Matt's original version.
https://github.com/mirror/daphne-emu/network/members
- Ignore "DirtBagZon" above, it was a created to get around a Github restriction on cloning multiple forks of the same repo (mentioned somewhere in this thread).
There are also a few enhancements I added while back, for example utilising an alternate game customised -keymapfile file. e.g. Flight based games.
See here:https://github.com/DirtBagXon/daphne/tree/master/custom
If @pjft shares the merge request for the DragonRise joystick encoders, you could patch it into any daphne. If it was just the fact of adding more button/controls on the joystick: I have committed a patch today, to daphne, to match the Singe merge from pjft I had previously.https://github.com/DirtBagXon/daphne/commit/47bda19b52da4a9c04770a22c272fc93b0b20d0d
-
@dirtbagxon Awesome thanks for that comprehensive overview.
I've just compiled it on my pi4 from your repo, I'll give it a go a bit later tonight to see how it runs/performs.
I appreciate the custom run script - that will help me hook in nicely with EmulationStation.
Regarding the DragonRise Encoder issue - it'd be great if @pjft can share the updates, but at least on my end it's become a non-issue as I've transitioned to using
xboxdrv
for keyboard emulation which provides wayyyy more flexibility than relying on the joystick interface in daphne/singe. -
@saturnx I am under the impression that I shared such changes at some point with @DirtBagXon 's repo, but correct me if I'm wrong. I don't think I ever did it to the RetroPie repo, though.
-
@pjft Amazing! I'm going to give @DirtBagXon's version a go in a bit and I'll report back.
-
@dirtbagxon Once again... a HUGE thanks!
Fired up your build of
daphne
on my pi4 using the full KMS driver (vc4-kms-v3d,noaudio
) on kernel 5.10.17 on RetroPie 4.7.1 and all the games booted up without issue and running smoothly :)Using your version is obviously a bit more manual to set up all the necessary symlinks for everything to run, but it's well worth it.
I find it extremely interesting there is such a stark difference between the RetroPie build of
daphne
and yours. It's a shame, it would be great if your enhancements were pulled into the RetroPie build so this was a far less manual exercise.This is a huge win-win for my arcade cabinet, I can now move entirely to the full KMS driver to improve video performance on my pi4 and still run my desired emulators (fb-neo/mame/redream/daphne/singe).
The only thing I lose by going to the full KMS is the lack of a boot splash screen - a small price to pay to eliminate screen tearing, and I'm sure RetroPie will eventually be updated.
If I can find the time, I'll see about putting together another guide for your daphne build.
-
@saturnx thanks, looking forward to it. I couldn't get Daphne to compile back when I tried it. I'm fine without the splash since my setup boots in around 30sec.
-
@darksavior I'm hoping I'll have some time in the next week or so to dive into the details (especially when it comes to hooking everything in with EmulationStation).
The main quirk I had was just selecting the correct makefile (which for the pi is
Makefile.linux_x64
), then it should be as simple as:- Ensure you've got the right dependencies:
sudo apt install libsdl-dev libglew-dev libvorbis-dev libsdl-image1.2-dev libsdl-ttf2.0-dev
- Then clone the repo:
git clone https://github.com/DirtBagXon/daphne.git daphne
- Compile with the following steps:
cd daphne/src/vldp2 ./configure --disable-accel-detect make -f Makefile.linux_x64 cd ../game/singe make -f Makefile.linux_x64 cd ../.. ln -s Makefile.vars.linux_x64 Makefile.vars make cd .. mkdir -p ~/.daphne cp -a pics sound ~/.daphne/
I then opted to use @DirtBagXon custom run scripts for greater flexibility, you can find them here (see
run.sh
):
https://github.com/DirtBagXon/daphne/tree/master/customThen it's a matter of setting up all the symlinks, as this build expects the following:
roms: ~/.daphne/roms/ video files: ~/.daphne/vldp_dl/[game]
Once I set those up, everything booted up perfectly from the command line.
Now that I think about it, and maybe @DirtBagXon could confirm - but instead of symlinks, could we not simply modify the
run.sh
script to target the typical locations on a RetroPie install?I'm assuming it's hardcoded that for the rom files, daphne will look under
$DATADIR/roms/[game].zip
?If that's the case then I can put together a modified version of the run script to map back to how daphne games would typically be installed on RetroPie.
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
@dirtbagxon Once again... a HUGE thanks!
I find it extremely interesting there is such a stark difference between the RetroPie build of
daphne
and yours. It's a shame, it would be great if your enhancements were pulled into the RetroPie build so this was a far less manual exercise.I think this demonstrates the issues arising in porting software. As I stated my version is far closer to original source than that of RetroPie, libretro and hypseus ports.
All of which seem to have different issues.If I can find the time, I'll see about putting together another guide for your daphne build.
I'm certain many users would appreciate that.
I have made some discoveries on the hypseus port, and have some games running better. I may delve more if I find some time.....
Thanks to both you guys for your help in testing all this too...
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Now that I think about it, and maybe @DirtBagXon could confirm - but instead of symlinks, could we not simply modify the run.sh script to target the typical locations on a RetroPie install?
Absolutely, you can write a custom run.sh for Daphne and Singe.
I would be happy to merge into my repos if you create a pull request.
-
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Now that I think about it, and maybe @DirtBagXon could confirm - but instead of symlinks, could we not simply modify the run.sh script to target the typical locations on a RetroPie install?
Absolutely, you can write a custom run.sh for Daphne and Singe.
I would be happy to merge into my repos if you create a pull request.
Excellent! I'll put some time into that with the end goal of making it extremely easy for other RetroPie users. I'll play around and see what I can come up with.
-
Some movement on the Hypseus (Daphne SDL2 replacement) working with 64bit Kernel + KMS for those interested:
https://retropie.org.uk/forum/post/254871
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Now that I think about it, and maybe @DirtBagXon could confirm - but instead of symlinks, could we not simply modify the run.sh script to target the typical locations on a RetroPie install?
Absolutely, you can write a custom run.sh for Daphne and Singe.
I would be happy to merge into my repos if you create a pull request.
Excellent! I'll put some time into that with the end goal of making it extremely easy for other RetroPie users. I'll play around and see what I can come up with.
Seriously can't wait to see the script. i've been following this but keep getting stuck on things. I've been dying to finally play these games.
thank you -
@treasurefingers said in (REQUEST) Add Daphne Singe emulator?:
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Now that I think about it, and maybe @DirtBagXon could confirm - but instead of symlinks, could we not simply modify the run.sh script to target the typical locations on a RetroPie install?
Absolutely, you can write a custom run.sh for Daphne and Singe.
I would be happy to merge into my repos if you create a pull request.
Excellent! I'll put some time into that with the end goal of making it extremely easy for other RetroPie users. I'll play around and see what I can come up with.
Seriously can't wait to see the script. i've been following this but keep getting stuck on things. I've been dying to finally play these games.
thank youCan I suggest that you hold off a little on doing too much work on documenting/scripting this version of Daphne/Singe. I am making good progress on getting Hypseus Singe working which should be a big improvement and far easier to create an installation, as it will twin as a SDLv2 Daphne replacement too. It is a monolithic statically linked binary so doesn't require dealing with the libvldp2.so and libsinge.so shared libraries. Which means you can drop it anywhere and run it.
I don't think ActionMax games (if they are important to you ) are going to be implemented in Hypseus Singe at this point.
The overlay indexes will need some work to transfer to SDLv2.https://retropie.org.uk/forum/post/255510
I just need to find time now....
-
@dirtbagxon Thanks for the heads up!
I just got your
daphne
build up and running on my Pi4 (Kernel 5.10.17 w/ Full KMS driver). It's running like a dream.I quickly put together a a small script just for it to hook in nicely with EmulationStation and to allow me to keep the ROM structure identical to the RetroPie build of Daphne. It's still rough since it meets my needs (also needs a couple symlinks), so I'll hold off on polishing it up.
I'm excited to see the developments on
hypseus
- I'm actively watching that thread.I completely agree about finding time... haha. There just never seems to be enough!
-
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@treasurefingers said in (REQUEST) Add Daphne Singe emulator?:
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Now that I think about it, and maybe @DirtBagXon could confirm - but instead of symlinks, could we not simply modify the run.sh script to target the typical locations on a RetroPie install?
Absolutely, you can write a custom run.sh for Daphne and Singe.
I would be happy to merge into my repos if you create a pull request.
Excellent! I'll put some time into that with the end goal of making it extremely easy for other RetroPie users. I'll play around and see what I can come up with.
Seriously can't wait to see the script. i've been following this but keep getting stuck on things. I've been dying to finally play these games.
thank youCan I suggest that you hold off a little on doing too much work on documenting/scripting this version of Daphne/Singe. I am making good progress on getting Hypseus Singe working which should be a big improvement and far easier to create an installation, as it will twin as a SDLv2 Daphne replacement too. It is a monolithic statically linked binary so doesn't require dealing with the libvldp2.so and libsinge.so shared libraries. Which means you can drop it anywhere and run it.
I don't think ActionMax games (if they are important to you ) are going to be implemented in Hypseus Singe at this point.
The overlay indexes will need some work to transfer to SDLv2.https://retropie.org.uk/forum/post/255510
I just need to find time now....
so are action max games out of the question?
-
@treasurefingers said in [(REQUEST) Add Daphne Singe emulator?]
so are action max games out of the question?
Nothing is out of the question, I am just not sure how best to do it at this point :)
-
-
Hypseus Singe now a direct drop-in replacement for RetroPie Daphne plugin:
https://github.com/DirtBagXon/hypseus-singe/blob/master/src/3rdparty/retropie/RETROPIE.md
Requires RetroPie scripts to extent the Singe element....
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.