Is Yabasanshiro emulator coming on retropie?
-
@Darksavior said in Is Yabasanshiro emulator coming on retropie?:
Oc'd to 1900Mhz.
I expect gpu to be the main bottleneck for yabansanshiro
-
@BuZz thanks!
Did anyone manage to get the non-LR version to build? As that might offer better frame rates. I've got it to build and it leaves a yabasanshiro.a file that I can't seem to get to play a game - so I think I have the wrong build options.
https://github.com/devmiyax/yabause
Also, Retro Arena paid devmiyax to port it to the XU4 - there module (annoyingly they forked it and "branded" it and won't push anything upstream to here - but it's obvious what the change is) - the repo they point at is just a fork with a libpng fix https://github.com/Retro-Arena/RetroArena-Setup/blob/stable/scriptmodules/emulators/yabause.sh
I think that's probably the best route to get playable games at this time - the input config file looks fairly compatible too plus i think it tries to auto configure inputs if there is no config - devmiyax did have a vulkan branch - no idea how far he got - but when/if pi4 gets decent vulkan drivers that might be the only way a libretro Saturn emulator might be playable for 3D games.
-
@GeekOB Did you make the folder and transferred the .diff file as noted in the error message? No issues building here.
@roslof My saturn bios is in
/home/pi/RetroPie/BIOS/
I use CHD. The compatibility isn't as good as yabause's. Super Tempo did not load for me.
Astal requires the HLE bios for both emulators. It will not load with the real bios. -
Top work all! I'm amazed at how smoothly games like Sega Rally and Fighting Vipers run with it. There's a few graphical artefacts and some effects dont seem to work (the darkness effect in Elevator Action returns for example), but as my saturn has a dead drive i'll definitely take it as a way to get my Virtual On fix :D
Has anyone got any STV games to load? I have the stvy bios in the folder, but it was trying to load it with the normal Saturn bios.
some notes:
-all games loaded from CHD.
-Virtual Fighter remix has a weird bug where a punch can teleport you out of the arena (present in normal yabause - much improved here)
-Virtual on seems to randomly turn to garbage sometimes if you hover on Raiden (works fine other times)
-Quake worked fine in yabasanshiro (enemies didn't appear at all in normal yabause)
-Sky Target has some gibberish down the side of the screen, but crucially it works and is playable :) (the plane didn't even appear on screen in normal yabause)
-
@steeeb I'm interested in this thread. We've gotten it to build with different options - based on the Retro Arena build scripts - but alas every time we got it to run it returned an EGL error, which made us suspect that we must be missing something obvious at compile time.
I tried even building the non-LR from the LR fork code, yabasanshiro branch, as we know that that one does work on the Pi given the correct compile options, but alas were unsuccessful.
These were the last steps I compiled for myself. I needed to install some of the boost dependencies that were not installed - even though the LR version compiled correctly without them, which is already a telltale sign that I'm probably compiling things that might not be needed:
[clone lr-yabasanshiro per Buzz's script. apply patch] [cd to folder, mkdir build and cd build] in ../yabause/src/retro_arena/CMakeLists.txt add set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") after set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") export CFLAGS="-O2 -DGIT_VERSION=\""7ae0de7"\" -march=armv8-a+crc -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations -pipe -marm -mfpu=neon -DARM -DHAVE_LIBGL -DVERSION=\"3.1.0\" -DHAVE_LROUND -D_7ZIP_ST -DFLAC__HAS_OGG=0 -DFLAC__NO_DLL -DNO_CLI -DHAVE_BUILTIN_BSWAP16=1 -DHAVE_BUILTIN_BSWAP32=1 -DHAVE_C99_VARIADIC_MACROS=1 -DHAVE_FLOORF=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDINT_H=1 -DHAVE_SYS_TIME_H=1 -DIMPROVED_SAVESTATES -DARCH_IS_LINUX=1 -DDYNAREC_DEVMIYAX=1 -ffast-math -DHAVE_GLSYM_PRIVATE -DHAVE_SYS_PARAM_H -DHAVE_MUSASHI=1 -D_OGLES3_ -DHAVE_OPENGLES -DHAVE_OPENGLES3 -O3" cmake ../yabause -DGIT_EXECUTABLE=/usr/bin/git -DYAB_PORTS=retro_arena -DYAB_WANT_DYNAREC_DEVMIYAX=ON -DCMAKE_TOOLCHAIN_FILE=../yabause/src/retro_arena/rp64.cmake -DCMAKE_INSTALL_PREFIX=/opt/retroarena/emulators/yabause/ make ---- binary goes to build/src/retro_arena/yabasanshiro
@Darksavior I tested some games - mostly Radiant Silvergun, Die Hard Arcade, and a bit of the Sega arcade games - Virtua Racing, Sega Rally, Virtua Cop 2. Virtua Cop 2 will slow down a lot, only run at around 40fps or so.
I'm OC'ed at 2000 and V3D at 750, which does seem to help the most. I have a fan as Saturn emulation on any of the current emulators just gets the temperature to 80 in almost no time, and then it starts throttling. As soon as V3D drops the game starts rendering much slower.
@barbudreadmon you're absolutely right indeed. CPU and V3D seem to be the main bottlenecks here, but to be honest it does run at almost 50-55fps for the most part, which is not bad. Would you have any perspective into what compilation flags are you using to get the correct drivers for the Pi to work? I'd expect that to be at the core level, and not at the libretro layer? Or am I completely off track trying to get it to compile from your fork?
Thanks all and happy Sunday.
-
@Darksavior thank you. This is very unusual. I don't typically have issues like this. I would have thought it was related to BIOS, but everything seems to check out. Verbose logging yields nothing of interest. I did learn that removing the BIOS and having the BIOS yield the same results. Nothing in the log(s). Bizarre.
Symptom: With EmulationStation, launching emulator lr-yabasanshiro, the screen remains completely black. No Saturn system boot. No audio. Not a single pixel renders. Then it hangs. Must manually kill retroarch.
BIOS were placed in both ~/BIOS and ~/BIOS/Yabasanshiro:
stvbios.zip
md5: 53a094ad3a188f86de4e64624fe9b3casaturn_bios.bin
md5: af5828fdff51384f99b3c4926be27762I did try several different versions of stvbios.zip, but other sites mentioned the one I posted above should be fine.
I've also tried:
- Nuking/rebuilding lr-yabasanshiro
- Different BIOS
- Different Saturn Disk Images
- Different formats (.chd, .cue/.bin)
- Latest MESA (which really hasn't changed in months)
Not sure how to troubleshoot beyond this. So odd...
-
@pjft Yeah, that's how far I got, I tried setting USE_EGL to False in the cmake file and that didn't help (I went a different route, I've created a scriptmodule and create a rp4.cmake - but what we're doing is essentially the same.
I added -DFORCE_GLES (I saw in the libretro CMAKE it has this for ARM) and I now just get a black screen.
In any case, I've not been through the build log, or the code properly but is it perhaps using it's own SDL or something rather than our SDL with KMS/DRM?
I don't know enough about how all that works, but thought I'd post my findings in any case as I'm sure there are people that do know and may know how to solve it!
-
@mechafatnick said in Is Yabasanshiro emulator coming on retropie?:
Has anyone got any STV games to load?
@roslof said in Is Yabasanshiro emulator coming on retropie?:
stvbios.zip
md5: 53a094ad3a188f86de4e64624fe9b3caidk who told you yabasanshiro supported STV but that's not the case, yabasanshiro is not kronos
-
@barbudreadmon thank you. It's listed as a required BIOS file in the script module. Must be an error. One less thing to worry about.
-
@barbudreadmon Yeah i didn't think it did! I was surprised to see it mentioned in the installer's help section. Guess that explains why it didn't work :D
-
Just to note - The module is draft - it's based on the yabause one so the help needs to be tweaked. I'm also not suggesting the fixes are correct or that I will be including this as it is currently in RetroPie.
-
@BuZz there's definately a few other issues it seems - will add them upstream to yaba once they've seen the PR and can comment - from what you have done it might be enough information to go off as to what exactly is happening and the best fix
-
@steeeb I've already fed it upstream (no PR. It's not a valid fix).
-
Regarding lr-yabasanshiro,
Been beating myself up trying to get past a black screen issue w/freeze on my Pi4B. At this time, I have yet to see a render. Wondering if anybody is aware of any dependencies for the lr- version that I might be missing. Certain that this is not a BIOS issue or configuration issue. Tried several things to try to get past this (re-installed all RetroPie dependancies, reset RetroArch settings, nuked previous installs of yabasanshiro and yabause... etc.)
When attempting to launch any ROM image, after the launching.png image appears and goes away, the screen is black and hangs, never rendering anything and never returning to ES.
runcommand.log shows nothing unusual (even with verbose logging).
During the hang, for the task, ps all shows WCHAN "flush_" and STAT as "DLl+". Other than this, I'm unaware of a way to get more data.Sounds like others are getting this to render, so I'm optimistic, and hoping to get a lead on what might be happening here. I completely understand this is early work here, so not expecting anything, but any suggestions would be appreciated.
Cheers
-
@roslof Hm. Two angles to explore: we can compare MD5 hashes for the binary you're getting, and can you share your setup details - meaning, straight RetroPie image from here, any customizations on config.txt or others that might affect this, resolution?
The MD5 for my yabasanshiro_libretro.so file is 4c302a02ba0ef0e9e1cbfdddfe5c9063
and the last commit I have compiled is: commit 7ae0de7abc378f6077aff0fd365ab25cff58b055Maybe start from here.
-
@roslof I threw the installer script and patch on my retropie-setup and it just worked. It will install any missing dependencies. If it matters, I always keep raspbian updated. The game compatibility isn't as good as
lr-yabause
. -
@Darksavior said in Is Yabasanshiro emulator coming on retropie?:
The game compatibility isn't as good as lr-yabause.
Yes, that's because yabasanshiro has a HLE approach of saturn emulation, for speed reason (makes sense for an emulator targeting arm boards).
-
@pjft @Darksavior thank you both for considering my issue. I'm confident the issue is on my side somewhere.
The MD5 for my yabasanshiro_libretro.so file is 4c302a02ba0ef0e9e1cbfdddfe5c9063
and the last commit I have compiled is: commit 7ae0de7abc378f6077aff0fd365ab25cff58b055Mine MD5 is different: cfd47a92fc6ac9e7ef886d16216ada03
I built mine in two different ways, with the same results:
- by cloning Buzz's lr-yabasanshiro branch and installed the module via command-line:
sudo ~/RetroPie-Setup/retropie_packages.sh lr-yabasanshiro
- by doing as @Darksavior advised, using a clean Retro-Setup and cherry-picking Buzz's lr-yabasanshiro folder & module. Installing same command-line as above.
MD5 is the same either way, as expected (but different from @pjft 's MD5s).
As for my system, I've tried a "stock" config.txt and cmdline.txt file, but also tried a config.txt that is overclocked and locks HD resolution. All configurations yield the same results.
I have updated all Raspbian packages with the "proper" sudo apt update and sudo apt full-upgrade commands. Rebuilt all dependencies via RetroPie-Setup, etc.
As for the games, I don't think we're getting to the point of loading/parsing. I've tried every type of build (cue/bin, chd) including games confirmed to be working from others with Yabasanshiro.
VERY strange...
-
This post is deleted! -
Pastebin of verbose logging: https://pastebin.com/bE9Hnb5A
The only semi-interesting thing I'm seeing:
[INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[INFO] [udev]: Keyboard #0 (/dev/input/event0).
[INFO] [udev]: Mouse #0 (/dev/input/event1).
[INFO] [udev]: Mouse #1 (/dev/input/mouse0).
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Video]: Found display server: nullBut I'm also seeing this when I run Yabause (successfully). So not alarming.
While I stew more on this, going to dig deeper and see if @Darksavior 's suggestion that it might be a game compatibility issue. I have already tried a ton of files/sources, but maybe there's something else I'm missing.
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.