New Hypseus and lr-Daphne to add on Retropie-Setup
-
@roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:
Ok, just so I am on the same page, can you pull the latest run.sh from github:
git checkout run.sh git pull origin master
Then make the change to HYPSEUS_SHARE=~/.daphne as above, the old wrapper would not have worked with that single edit.
Bus error
Interesting.....
This is possibly due to change in the overlay rendering to Surface from Renderer - will need to get hold of a RPi dev unit to pursue this.....
But you said you saw the new overlay briefly.Try the new wrapper, with edit, so we are sure....
-
Could you also try in the terminal:
Edited for 'lair':
gdb -args hypseus.bin lair vldp -framefile /home/pi/RetroPie/roms/daphne/vldp_dl/lair/lair.txt -homedir /home/pi/RetroPie/roms/daphne -datadir /home/pi/RetroPie/roms/daphne -useoverlaysb 2
Type 'run' at the prompt:
Reading symbols from hypseus.bin... (gdb) run
Wait for it to crash and then type 'bt' and give me the output.
(gdb) bt
-
@dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:
But you said you saw the new overly briefly.
Yes. If the DAT files pre-exist (generated from a different version of Daphne) I can see the overlay for lair for a few seconds before Hypseus exits with the bus error.
I also ran the gdb command... Interesting that behaved a bit differently. I was able to see the overlay, and hear the lair "click" sound effect. Player 1 displays "2" and Player 2 displays 15P2. Credits show "0"... After several seconds the overlay clears (default with nothing lit) then Hypseus freezes (with overlay still on screen) and wouldn't allow exit. Used an external console to send a kill...
Wait for it to crash and then type 'bt' and give me the output.
While it's not crashing, after the kill, was able to spot:
[New Thread 0xf0aad450 (LWP 1451)] Thread 4 "vldp" received signal SIGBUS, Bus error. [Switching to Thread 0xf0aad450 (LWP 1451)] mpeg2_idct_copy_c (clock=0xf01045c0, dest=0xeff2b040 "", stride=-269308740) at idct.c:169 169 idct_row (block * 8 * i); (gdb) 1405 Killed
-
@roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:
While it's not crashing, after the kill, was able to spot:
[New Thread 0xf0aad450 (LWP 1451)] Thread 4 "vldp" received signal SIGBUS, Bus error. [Switching to Thread 0xf0aad450 (LWP 1451)] mpeg2_idct_copy_c (clock=0xf01045c0, dest=0xeff2b040 "", stride=-269308740) at idct.c:169 169 idct_row (block * 8 * i); (gdb) 1405 Killed
Edit:
Ok, I have grabbed the original Hypseus repo code and ran it on a RPI 3b then switched to my changes. Apart from the overlay I see no difference in the video shown at this point, just incredibly slow at rendering. I don't believe my changes have degraded the vanilla status of hypseus, maybe someone who has this running reasonably well on their setup could expand.
Confirmation that Badlands et al also work in this port.
I also deleted the .dat files for lair and badlands on Raspian 32bit and they were ALL recreated on both repos, so still unable to replicate this.What kinda setup are you using? Software , kernel and SDL2 versions etc ?
-
@dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:
What kinda setup are you using? Software , kernel and SDL2 versions etc ?
64-bit Kernel enabled:
Linux retropie 5.10.17-v8+ #1403 SMP PREEMPT Mon Feb 22 11:37:54 GMT 2021 aarch64 GNU/Linux
Also running KMS instead of FKMS.
SDL2 should be most recent (installed from RetroPie Setup Depends script for sdl2 (installed via source on Sat, 13 Mar 2021)
ii libsdl2-2.0-0:armhf 2.0.10+5rpi armhf Simple DirectMedia Layer hi libsdl2-dev:armhf 2.0.10+5rpi armhf Simple DirectMedia Layer development files ii libsdl2-gfx-1.0-0:armhf 1.0.4+dfsg-3 armhf drawing and graphical effects extension for SDL2 ii libsdl2-gfx-dev:armhf 1.0.4+dfsg-3 armhf development files for SDL2_gfx ii libsdl2-image-2.0-0:armhf 2.0.4+dfsg1-1+deb10u1 armhf Image loading library for Simple DirectMedia Layer 2, libraries ii libsdl2-image-dev:armhf 2.0.4+dfsg1-1+deb10u1 armhf Image loading library for Simple DirectMedia Layer 2, development files ii libsdl2-mixer-2.0-0:armhf 2.0.4+dfsg1-1 armhf Mixer library for Simple DirectMedia Layer 2, libraries ii libsdl2-mixer-dev:armhf 2.0.4+dfsg1-1 armhf Mixer library for Simple DirectMedia Layer 2, development files ii libsdl2-net-2.0-0:armhf 2.0.1+dfsg1-4 armhf Network library for Simple DirectMedia Layer 2, libraries ii libsdl2-net-dev:armhf 2.0.1+dfsg1-4 armhf Network library for Simple DirectMedia Layer 2, development files ii libsdl2-ttf-2.0-0:armhf 2.0.15+dfsg1-1 armhf TrueType Font library for Simple DirectMedia Layer 2, libraries ii libsdl2-ttf-dev:armhf 2.0.15+dfsg1-1 armhf TrueType Font library for Simple DirectMedia Layer 2, development files
-
I'm running it on older versions than you, on Rasbian RPi3b.
SDL2 is supposed to figure out all the acceleration for you. According to the imprecise documentation......
"SDL 2.0 changes this; you almost always get hardware acceleration now, and the API has changed to reflect this." -lol
ii libsdl2-2.0-0:armhf 2.0.5+dfsg1-2+rpt1 armhf Simple DirectMedia Layer ii libsdl2-dev 2.0.5+dfsg1-2+rpt1 armhf Simple DirectMedia Layer development files ii libsdl2-image-2.0-0:armhf 2.0.1+dfsg-2+deb9u2 armhf Image loading library for Simple DirectMedia Layer 2, libraries ii libsdl2-image-dev:armhf 2.0.1+dfsg-2+deb9u2 armhf Image loading library for Simple DirectMedia Layer 2, development files ii libsdl2-ttf-2.0-0:armhf 2.0.14+dfsg1-1 armhf TrueType Font library for Simple DirectMedia Layer 2, libraries ii libsdl2-ttf-dev:armhf 2.0.14+dfsg1-1 armhf TrueType Font library for Simple DirectMedia Layer 2, development files
I guess I will need to get a RetroPie dev setup at some point.....
To get bluestang2006 libmpeg patch on this repo, before the mkdir build do:
wget https://github.com/bluestang2006/hypseus/commit/76bc01fdf09152820fff88c28c61b2bea1b47ecf.patch -O patch.diff patch -p1 < patch.diff sudo apt-get install libmpeg2-4-dev mkdir build cd build cmake ../src/ make
-
@dirtbagxon I confirmed that the 64bit kernel is not compatible with default compile. If @bluestang's patch fixes this (compatible compiler options/includes?) I'll inform.
-
@roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon I confirmed that the 64bit kernel is not compatible with default compile. If @bluestang's patch fixes this (compatible compiler options/includes?) I'll inform.
But this is 64bit kernel with 32bit userland - correct ?
-
@dirtbagxon forgive, I'm unclear/green on userland. Only know that @bluestang's patch + installer run fine with these settings (KMS/64-bit kernel). Will try his patch with your build shortly.
-
file /usr/local/bin/hypseus.bin
-
@dirtbagxon looks like 32-bit
/usr/local/bin/hypseus.bin: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=0870fd6f38c57af407124e243bb5b7f06f4319bd, with debug_info, not stripped
-
This may go some way to explain the .dat file creation issues...
-
@dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:
This may go some way to explain the .dat file creation issues...
Maybe, but this was not an issue with @bluestang's compile, and I verified it is also a 32-bit file. All dats I have now were generated with his exe.
-
Looking here: https://retropie.org.uk/forum/post/254740
It appears that patch should cover it with local libmpeg2-4
-
The TLDR: Success! Dragon's Lair runs with 64bit Kernel + KMS
The Output:
wget https://github.com/bluestang2006/hypseus/commit/76bc01fdf09152820fff88c28c61b2bea1b47ecf.patch -O patch.diff
(received)
patch -p1 < patch.diff
patching file src/CMakeLists.txt
patching file src/vldp/vldp.h
patching file src/vldp/vldp_internal.cppsudo apt-get install libmpeg2-4-dev
libmpeg2-4-dev is already the newest version (0.5.1-8).
mkdir build
done, and added
cd build
cmake ../src
good
make
good
then
mv hypseus hypseus.bin
andsudo cp hypseus /usr/local/bin/hypseus.bin
(overwriting previous executable)RESULTS:
Success! Dragon's Lair runs with 64bit Kernel + KMS -
Or just grab this pre-patched branch in future:
git clone --single-branch --branch RetroPie https://github.com/DirtBagXon/hypseus-singe.git
-
@dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:
Or just grab this pre-patched branch in future:
git clone --single-branch --branch RetroPie https://github.com/DirtBagXon/hypseus.git
Hindsight 20/20. Great work on this, man.
-
Well, didn't expect my few days off to be spent like this :)
Great news, thanks for all the testing.
░░░░░░░░░░░░▄▄░░░░░░░░░
░░░░░░░░░░░█░░█░░░░░░░░
░░░░░░░░░░░█░░█░░░░░░░░
░░░░░░░░░░█░░░█░░░░░░░░
░░░░░░░░░█░░░░█░░░░░░░░
███████▄▄█░░░░░██████▄░
▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
▓▓▓▓▓▓█████░░░░░░░░░█░░
██████▀░░░░▀▀██████▀░░░ -
Awesome that another fork is out there for users to try.
My patch should work with both 32-bit and 64-bit RPiOS. The userland for each should be their respective kernel, i.e. armhf (32-bit) or aarch64 (64-bit). It is not a good idea to mix binaries so I have separate thumb drives for both images.
I exclusively use the 64bit though because gcc compiled binaries guarantees NEON optimizations and overall I find the end user experience to be very good.
In addition the KMS driver is in a very stable state in the 5.10.X kernels as well as the KMS audio driver.
-
@pjft said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@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?
Hey @pjft,
These are committed to Hypseus here:
https://github.com/DirtBagXon/hypseus/commit/be31cfb503b00e6f493d217287c
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.