RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    OpenBOR finally working fine on RETROPIE with ES

    Scheduled Pinned Locked Moved Ideas and Development
    openbortrick
    353 Posts 32 Posters 193.2k 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.
    • cyperghostC
      cyperghost
      last edited by

      @zanac Got it running with GL4ES, Amazing! Unbelievable! Filters are running! It's a brittle sharp picture!

      It is time for Борис-patch ;)

      output is:

      LIBGL: Initialising gl4es
      LIBGL: v1.0.9 built on Sep 10 2018 19:42:08
      LIBGL: Using GLES 2.0 backend
      LIBGL:loaded: libbcm_host.so
      LIBGL:loaded: libvcos.so
      LIBGL:loaded: libbrcmGLESv2.so
      LIBGL:loaded: libbrcmEGL.so
      LIBGL: Using GLES 2.0 backend
      LIBGL: Hardware Limited NPOT detected and used
      LIBGL: FBO are in core, and so used
      LIBGL: PointSprite are in core, and so used
      LIBGL: CubeMap are in core, and so used
      LIBGL: BlendColor is in core, and so used
      LIBGL: Blend Substract is in core, and so used
      LIBGL: Blend Function and Equation Separation is in core, and so used
      LIBGL: Texture Mirrored Repeat is in core, and so used
      LIBGL: Extension GL_OES_mapbuffer detected
      LIBGL: Extension GL_OES_depth24 detected and used
      LIBGL: Extension GL_OES_rgb8_rgba8 detected and used
      LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used
      LIBGL: high precision float in fragment shader available and used
      LIBGL: Max vertex attrib: 8
      LIBGL: Max texture size: 2048
      LIBGL: Max Varying Vector: 8
      LIBGL: Texture Units: 4(8), Max lights: 8, Max planes: 6
      glGetError 0x500
      LIBGL: Hardware vendor is Broadcom
      LIBGL: Targeting OpenGL 2.0
      LIBGL: Forcing NPOT support by disabling MIPMAP support for NPOT textures
      LIBGL: glXMakeCurrent FBO workaround enabled
      LIBGL: Current folder is:/home/pi/openbor/dist/bin
      
      cyperghostC 1 Reply Last reply Reply Quote 1
      • cyperghostC
        cyperghost @cyperghost
        last edited by cyperghost

        Thank you @zanac

        To install:

        We need the binary @zanac thankfully provided to us!
        Get it from here: https://drive.google.com/open?id=1CphOM9RoniMhAaAsBeAbSnQUXn4WW8VH

        Then we need some dependencies!
        Tested with current RetroPie image v 4.4 (md5sum: 56988addb60361a2257a61c69d9fceac) on RPi 3B 1.2

        We need following dependencies before
        install with sudo apt install libsdl2-gfx-dev libvorbisidec-dev libvpx-dev

        We need the libs that are provided from the archive @zanac and we put them to /lib-directory! That's it!

        libvpx1 is still missing and is not installable via aptitude! Linux guys are no shy guys...
        We download & install arm package!
        wget http://ftp.us.debian.org/debian/pool/main/libv/libvpx/libvpx1_1.3.0-3+deb8u1_armhf.deb

        sudo dpkg -i libvpx1_1.3.0-3+deb8u1_armhf.deb

        We can do a dependcies investigation of the binary!

                linux-vdso.so.1 (0x7ed42000)
                /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76ec2000)
                libSDL2-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0 (0x76dbd000)
                libSDL2_gfx-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libSDL2_gfx-1.0.so.0 (0x76d9f000)
                libGL.so.1 => /lib/libGL.so.1 (0x76c60000)
                libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76c37000)
                libvorbisidec.so.1 => /usr/lib/libvorbisidec.so.1 (0x76c0d000)
                libogg.so.0 => /usr/lib/arm-linux-gnueabihf/libogg.so.0 (0x76bff000)
                libvpx.so.1 => /usr/lib/arm-linux-gnueabihf/vfp/neon/libvpx.so.1 (0x76a76000)
                libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x76a47000)
                libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x76a20000)
                libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x769a1000)
                libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76862000)
                libasound.so.2 => /usr/lib/arm-linux-gnueabihf/libasound.so.2 (0x76775000)
                libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76762000)
                libbrcmEGL.so => /opt/vc/lib/libbrcmEGL.so (0x76729000)
                libbrcmGLESv2.so => /opt/vc/lib/libbrcmGLESv2.so (0x76704000)
                libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x766dd000)
                libvcos.so => /opt/vc/lib/libvcos.so (0x766c3000)
                libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x766ad000)
                libX11.so.6 => /lib/libX11.so.6 (0x765b8000)
                libXext.so.6 => /usr/lib/arm-linux-gnueabihf/libXext.so.6 (0x76599000)
                libXcursor.so.1 => /usr/lib/arm-linux-gnueabihf/libXcursor.so.1 (0x76580000)
                libXinerama.so.1 => /usr/lib/arm-linux-gnueabihf/libXinerama.so.1 (0x7656d000)
                libXi.so.6 => /usr/lib/arm-linux-gnueabihf/libXi.so.6 (0x7654f000)
                libXrandr.so.2 => /usr/lib/arm-linux-gnueabihf/libXrandr.so.2 (0x76536000)
                libXss.so.1 => /usr/lib/arm-linux-gnueabihf/libXss.so.1 (0x7652c000)
                libXxf86vm.so.1 => /usr/lib/arm-linux-gnueabihf/libXxf86vm.so.1 (0x76517000)
                librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x76500000)
                /lib/ld-linux-armhf.so.3 (0x76ed8000)
                libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x764d3000)
                libxcb.so.1 => /lib/libxcb.so.1 (0x764ae000)
                libXrender.so.1 => /usr/lib/arm-linux-gnueabihf/libXrender.so.1 (0x76495000)
                libXfixes.so.3 => /usr/lib/arm-linux-gnueabihf/libXfixes.so.3 (0x76480000)
                libXau.so.6 => /lib/libXau.so.6 (0x76475000)
                libXdmcp.so.6 => /lib/libXdmcp.so.6 (0x76462000)
        

        Tagline
        @oilusionista @darknior @BiZzAr721

        Z 1 Reply Last reply Reply Quote 2
        • Z
          zanac @cyperghost
          last edited by

          Mens i'm very happy to found the solution, i promise you (let me pass the weekend with my family) to share the source code of latest binary that, as you have seen, will be able to run full screen with filters using hardware acceleration (gles). I will assure you that with this version old legacy version will be forgotten soon!
          The trick as you have seen is to use a wrapper for gl that translate to gles used by allwinner and rasbperry! Monday i will wrote more about this, also sharing source.

          1 Reply Last reply Reply Quote 1
          • cyperghostC
            cyperghost
            last edited by cyperghost

            @zanac
            I can confirm Hardware filter (simple, bilinear) is working
            Full/Window screen is working
            Software filters are working
            Scaling is working

            Video Backend is fixed to SDL
            Brightness/Gamma/Offset.... all working!
            Aspect Ratio: Working!!

            This is really amazing! Simple Hardware and Simple 2x Software filters give games full speed ;) as far as I've tested
            BILINEAR and 2xHQ slowdowns but the graphics are amazing. Best is, that each game got it's own config ;)

            @darknior @BiZzAr721 I've setup Midnight Commander for usage with gamepad. So you can open the downloaded archives and put files to right directory. Midnight Joy

            darkniorD 1 Reply Last reply Reply Quote 2
            • darkniorD
              darknior @cyperghost
              last edited by

              @cyperghost Thanks a lot, i will try this Monday ... so excited :p
              Now we have SDL2 on PI, that cool :)
              Have you try it with other emulators like ScummVM or Amiberry ? I know they works better with SDL2.
              And i know there is also a version of LR-Desmume (Nintendo DS) that works fine on PI with SDL2 + OpenGL ...
              The work you make here can help these other emulators ;)

              Life is game, just play it !

              cyperghostC Z 2 Replies Last reply Reply Quote 1
              • cyperghostC
                cyperghost @darknior
                last edited by

                @darknior No I've done nothing ... just a bit compiling and testing. All credits go to @zanac

                I suggest him to use your way of loading PAKs, I think that's a robust way.
                I changed counter set of arg to 2, as long there is no further command line options only this makes sense. And the precheck of fileEx provided by OpenBOR code itself.

                Passing pathes and files makes our ES frontend.

                   dirExists(paksDir, 1);
                   dirExists(savesDir, 1);
                   dirExists(logsDir, 1);
                   dirExists(screenShotsDir, 1);
                
                   // Test command line argument to launch MOD
                   int romArg = 0;
                   if(argc == 2) {
                      loadsettings();
                      memcpy(packfile, argv[1], strlen(argv[1]));
                      if(fileExists(packfile)) {
                         romArg = 1;
                      }
                   }
                
                   if(!romArg)
                Menu();
                
                darkniorD 1 Reply Last reply Reply Quote 1
                • Z
                  zanac @darknior
                  last edited by

                  Scummvm i made a cool libretro core if you are interested i share binary....

                  @darknior said in OpenBOR finally working fine on RETROPIE with ES:

                  @cyperghost Thanks a lot, i will try this Monday ... so excited :p
                  Now we have SDL2 on PI, that cool :)
                  Have you try it with other emulators like ScummVM or Amiberry ? I know they works better with SDL2.
                  And i know there is also a version of LR-Desmume (Nintendo DS) that works fine on PI with SDL2 + OpenGL ...
                  The work you make here can help these other emulators ;)

                  darkniorD 1 Reply Last reply Reply Quote 2
                  • O
                    oilusionista @darknior
                    last edited by

                    @darknior said in OpenBOR finally working fine on RETROPIE with ES:

                    and to see that the OpenBOR Team did not want to change its code I do not know why, while we try to improve things ... I saw red.

                    Sorry, I don't get it. Can you elaborate?

                    Z 1 Reply Last reply Reply Quote 0
                    • Z
                      zanac @oilusionista
                      last edited by

                      @oilusionista said in OpenBOR finally working fine on RETROPIE with ES:

                      @darknior said in OpenBOR finally working fine on RETROPIE with ES:

                      and to see that the OpenBOR Team did not want to change its code I do not know why, while we try to improve things ... I saw red.

                      Sorry, I don't get it. Can you elaborate?

                      I think that they talk about the old legacy version, but now that i found the way for make working 6xxx version with just a couple of line change using gl4es libs, i think that make not sence work in that version. Monday i will share code, to make openbor work with gl4es there is just only two line of code to change, i think that this small change you can sponsor it to be included in the official version, right?

                      O 1 Reply Last reply Reply Quote 2
                      • BiZzAr721B
                        BiZzAr721
                        last edited by

                        @cyperghost I tried out the latest OpenBOR! Man, that is sweet! Looks & plays great. He - Man put a load on the pie (3B anyway, not plus) but everything else worked great.

                        @oilusionista I played your Avengers United Battle Force Frickin awesome. I can't believe how many moves each character has! Looking forward to giving this a proper play through and finding all these other secrets & bonuses I'm sure you tucked away!

                        With the progress that has been made, don't know if the old sources found at sourceforge could be of any use?

                        cyperghostC O 2 Replies Last reply Reply Quote 1
                        • cyperghostC
                          cyperghost @BiZzAr721
                          last edited by cyperghost

                          @bizzar721 The older ports can still be used for Dingux

                          for example. So they are still usefull for older devices. I think we can dismiss the old source for our Pi builds.

                          1 Reply Last reply Reply Quote 0
                          • darkniorD
                            darknior @zanac
                            last edited by

                            @zanac said in OpenBOR finally working fine on RETROPIE with ES:

                            Scummvm i made a cool libretro core if you are interested i share binary....

                            WOAW yes for sure !!!!
                            I love ScummVM, i had myself one game langage driver on the Scumm git.
                            Please share it with maybe a git source, to add it to Retropie-Setup :)
                            And maybe make it official, it is fantastic to have ScummVM on Libretro :p
                            Have you also implement LR options like Savestate rewind .... ?

                            I have dream one day OpenBOR too was ported to LR lol
                            To make it working on all the systems where LR working :D

                            Life is game, just play it !

                            1 Reply Last reply Reply Quote 0
                            • darkniorD
                              darknior @cyperghost
                              last edited by

                              @cyperghost said in OpenBOR finally working fine on RETROPIE with ES:

                              @darknior No I've done nothing ... just a bit compiling and testing. All credits go to @zanac

                              I suggest him to use your way of loading PAKs, I think that's a robust way.
                              I changed counter set of arg to 2, as long there is no further command line options only this makes sense. And the precheck of fileEx provided by OpenBOR code itself.

                              It is really a dream that become true <3 Thanks @cyperghost and @zanac
                              I have play Street of Rage 2X on my TV with the PI !!! So excellent lol
                              Now we only miss my loading PAK trick, that i wish will become one day official for all the versions of OpenBOR. It can help other people i think on PC linux and Wii.
                              And if possible update the video support, i don't know how to write it in english, because if i use filters like scanline the game is very slow :( ... I think PI can do it but some thing is bad configured.

                              Life is game, just play it !

                              1 Reply Last reply Reply Quote 1
                              • O
                                oilusionista @zanac
                                last edited by

                                @zanac said in OpenBOR finally working fine on RETROPIE with ES:

                                @oilusionista said in OpenBOR finally working fine on RETROPIE with ES:

                                @darknior said in OpenBOR finally working fine on RETROPIE with ES:

                                and to see that the OpenBOR Team did not want to change its code I do not know why, while we try to improve things ... I saw red.

                                Sorry, I don't get it. Can you elaborate?

                                I think that they talk about the old legacy version, but now that i found the way for make working 6xxx version with just a couple of line change using gl4es libs, i think that make not sence work in that version. Monday i will share code, to make openbor work with gl4es there is just only two line of code to change, i think that this small change you can sponsor it to be included in the official version, right?

                                The only person who can make it official is Damon Caskey, not me. But I doubt he will make it official. And there is a reason for that - lack of human resource.

                                Each time we add an official port, we need someone to have experience on that system to be able to give support (iow, fix incoming bugs) to that platform. But its not what happens - people adds a port, support it for some time than vanish. And the height remains on the other devs.

                                This is why DreamCast version (and some others) were removed last year.

                                cyperghostC 1 Reply Last reply Reply Quote 1
                                • O
                                  oilusionista @BiZzAr721
                                  last edited by oilusionista

                                  @bizzar721 Thanks, I am glad you liked it :) For the next version, I should add 5 new playable characters. One of them is Nightcrawler, and here is a video preview (watch until the end for a cool gran finalle)

                                  At my channel, you will find other previews, like Hercules and Iron Fist (which will be added on the next version) and even a pool, to decide who should be added too - Colossus or Iceman. Follow the link on that video if you want to vote :)

                                  1 Reply Last reply Reply Quote 4
                                  • cyperghostC
                                    cyperghost @oilusionista
                                    last edited by cyperghost

                                    @oilusionista Therefore we will build diff patches. We download from official git and patch our changes in and then start the compiler. But I doubt that support of Raspberry will vanish that fast... so I do not really understand these concerns. I think the changes done to source code are not massive, mostly the makefile arguments imho. We will see what happens ;)

                                    EDIT: Nice game ;)

                                    O 1 Reply Last reply Reply Quote 1
                                    • O
                                      oilusionista @cyperghost
                                      last edited by oilusionista

                                      @cyperghost Thanks!
                                      About the official build, we can point people to here to get the PIE version. I am even promoting this on some youtube channels :)
                                      We just don't want to bite more that can chew.

                                      Plus, you can ask to join the official Dev team if you want to.

                                      cyperghostC 1 Reply Last reply Reply Quote 1
                                      • cyperghostC
                                        cyperghost @oilusionista
                                        last edited by cyperghost

                                        @oilusionista Well that is nice offer thank you.
                                        I would stick to the diff-patch way and I think the OpenBOR-dev team can promote the usage of the Pie. I saw the latest changes done by @zanac and this were just a few code lines... So it is clear how to maintain.

                                        About the users.... Well you can't compare the Pie port with a XBOX or PS port. The Pie was developed to be a learning platform in computing. So I say that every person who works with a Pie gots a minimal knowledge of unix systems. You must clearly divide between image bakers and computer enthusiasts and the enthusiasts are more common to the Pie platform. So a solid port with good support/testers is very likely. Sadly OpenBOR was up to now a "niche" for this platform and for RetroPie.

                                        It was @darknior who brought OpenBOR to a wider audience in this forum because he has done a small patch that offers Command line Input like OpenBOR Asterix & Obelix.pakand this is so necessary ... because EmulationStation ... our frontend lists files with a suffix as system and just parses the commands...
                                        Then @BiZzAr721 and @hansolo77 created a list of working mods, this made me aware of OpenBOR and I wrote some scripts to autoconfigurate OpenBOR with different settings and did the call to runcommand which offers LOG support and more opertunites for setup. And now @zanac made newest versions available via GL4ES wrapper with some testing done by various people ... and that's the story of the OpenBOR development... (with some missing details for sure)

                                        1 Reply Last reply Reply Quote 3
                                        • darkniorD
                                          darknior
                                          last edited by

                                          @cyperghost i have try the game "TMNT Rescue Paloosa" the last beta, and this one working fine but when you have more than 1 or 2 ennemies on screen the game is very very slow :( And i don't use video filter ...
                                          This game use many many big script to improve OpenBOR engine :)
                                          I think it is the problem here, maybe the original resolution too ? I don't know if OpenBOR can be optimized for PI proc?

                                          Life is game, just play it !

                                          cyperghostC 1 Reply Last reply Reply Quote 0
                                          • cyperghostC
                                            cyperghost @darknior
                                            last edited by

                                            @darknior There is space to optimize. This now runs with SDL but with the right wrapper settings in GL4ES it is maybe possible to select OpenGL.

                                            darkniorD 1 Reply Last reply Reply Quote 1
                                            • 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.