RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Is Yabasanshiro emulator coming on retropie?

    Scheduled Pinned Locked Moved Help and Support
    sega saturnemulator
    362 Posts 37 Posters 384.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pjftP
      pjft @steeeb
      last edited by

      @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.

      S 1 Reply Last reply Reply Quote 1
      • roslofR
        roslof @Darksavior
        last edited by

        @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: 53a094ad3a188f86de4e64624fe9b3ca

        saturn_bios.bin
        md5: af5828fdff51384f99b3c4926be27762

        I 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...

        1 Reply Last reply Reply Quote 0
        • S
          steeeb @pjft
          last edited by

          @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!

          roslofR 1 Reply Last reply Reply Quote 1
          • B
            barbudreadmon @mechafatnick
            last edited by

            @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: 53a094ad3a188f86de4e64624fe9b3ca

            idk who told you yabasanshiro supported STV but that's not the case, yabasanshiro is not kronos

            FBNeo developer - github - forum

            roslofR 1 Reply Last reply Reply Quote 0
            • roslofR
              roslof @barbudreadmon
              last edited by

              @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.

              M 1 Reply Last reply Reply Quote 0
              • M
                mechafatnick @roslof
                last edited by

                @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

                1 Reply Last reply Reply Quote 1
                • BuZzB
                  BuZz administrators
                  last edited by

                  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.

                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                  S 1 Reply Last reply Reply Quote 2
                  • S
                    steeeb @BuZz
                    last edited by

                    @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

                    BuZzB 1 Reply Last reply Reply Quote 0
                    • BuZzB
                      BuZz administrators @steeeb
                      last edited by BuZz

                      @steeeb I've already fed it upstream (no PR. It's not a valid fix).

                      https://github.com/devmiyax/yabause/issues/737

                      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                      1 Reply Last reply Reply Quote 0
                      • roslofR
                        roslof @steeeb
                        last edited by roslof

                        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

                        pjftP DarksaviorD 2 Replies Last reply Reply Quote 0
                        • pjftP
                          pjft @roslof
                          last edited by

                          @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 7ae0de7abc378f6077aff0fd365ab25cff58b055

                          Maybe start from here.

                          1 Reply Last reply Reply Quote 0
                          • DarksaviorD
                            Darksavior @roslof
                            last edited by Darksavior

                            @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.

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              barbudreadmon @Darksavior
                              last edited by

                              @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).

                              FBNeo developer - github - forum

                              1 Reply Last reply Reply Quote 0
                              • roslofR
                                roslof
                                last edited by

                                @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 7ae0de7abc378f6077aff0fd365ab25cff58b055

                                Mine MD5 is different: cfd47a92fc6ac9e7ef886d16216ada03

                                I built mine in two different ways, with the same results:

                                1. by cloning Buzz's lr-yabasanshiro branch and installed the module via command-line:
                                sudo ~/RetroPie-Setup/retropie_packages.sh lr-yabasanshiro
                                
                                1. 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...

                                pjftP 1 Reply Last reply Reply Quote 0
                                • S
                                  steeeb
                                  last edited by

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • roslofR
                                    roslof
                                    last edited by

                                    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: null

                                    But 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.

                                    1 Reply Last reply Reply Quote 0
                                    • pjftP
                                      pjft @roslof
                                      last edited by

                                      @roslof I just compiled it completely from source, and this is the MD5:

                                      4c302a02ba0ef0e9e1cbfdddfe5c9063  yabasanshiro_libretro.so
                                      

                                      Try this binary and let me know how it goes:

                                      https://mega.nz/file/QAtniB7b#g7AJFjZpkSOTaZ-6GSMNKijcDSHOo2FfYnjCz2a4O8E

                                      What RetroArch video driver are you using?

                                      1 Reply Last reply Reply Quote 0
                                      • roslofR
                                        roslof
                                        last edited by

                                        @pjft Thank you for the binary. Confirmed MD5 matches the value you previously posted.
                                        Unfortunately, having the same issue, but it's GREAT to rule out the binary!

                                        I'm using GL for the RetroArch Video Driver. Also tried GL Core.

                                        BuZzB pjftP 3 Replies Last reply Reply Quote 0
                                        • BuZzB
                                          BuZz administrators @roslof
                                          last edited by

                                          @roslof Post some details of your set up. How did you install RetroPie ? Just to check - you're not running things from the Desktop or something are you ?

                                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                          1 Reply Last reply Reply Quote 0
                                          • BuZzB
                                            BuZz administrators @roslof
                                            last edited by

                                            @roslof In the log you are using glcore. Please post a log using gl

                                            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.