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 184.6k 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 cyperghost

      @darknior I changed some code from your sdlport.c, removed some checks ... this is really a fine work you've done.

      	// 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;
      		}
      	}
      

      I force usage of one argue (this makes sense) and check just presence of file
      The rest makes ES

      I just re-released the binary today. I don't want to share the old OpenBOR-code as it uses agressive words against OpenBOR developers. What a pity!

      @zanac I've just downloaded the binary and started. It says libvpx.1 is missing. Didn't get deeper now .... lack of time now. The next patch will be Борис (Boris)

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

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

        I just re-released the binary today. I don't want to share the old OpenBOR-code as it uses agressive words against OpenBOR developers. What a pity!

        They are stupid guys, share your code, OpenBOR is free with free license. Every one can use it. If they don't want to use our modification it's not important.

        @zanac I've just downloaded the binary and started. It says libvpx.1 is missing. Didn't get deeper now .... lack of time now. The next patch will be Борис (Boris)

        Same for me, not working :(
        /opt/retropie/ports/openbor/OpenBOR_gl4es_6315: error while loading shared libraries: libSDL2_gfx-1.0.so.0: cannot open shared object file: No such file or directory
        I don't understand where to put the .so files ? And i think i forgot to install SDL2 ?
        Is there an easy way to do it ?

        I have modify emulators.cfg

        openbor= "pushd /opt/retropie/ports/openbor; /opt/retropie/ports/openbor/OpenBOR %ROM%; popd"
        OpenBOR_3400_pak= "pushd /opt/retropie/ports/openbor; /opt/retropie/ports/openbor/OpenBOR_3400_pak %ROM%; popd"
        OpenBOR_darknior= "pushd /opt/retropie/ports/openbor; /opt/retropie/ports/openbor/OpenBOR_darknior %ROM%; popd"
        OpenBOR_gl4es_6315= "pushd /opt/retropie/ports/openbor; /opt/retropie/ports/openbor/OpenBOR_gl4es_6315 %ROM%; popd"
        default = "openbor"
        

        The 3400 version works fine but only with .PAK files, .BOR directories crash.
        And i can save my Highscore :)
        Perfect work for me :) It can replace my version.

        Life is game, just play it !

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

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

          They are stupid guys, share your code, OpenBOR is free with free license.

          I don't know if it was translation, but saying it like that sounds very inconsiderate. I don't know if you followed the thread while you were inactive for that little while, but this was discussed. Out of respect for the dev team is why @cyperghost did not want to share the source, and only made binary available. I agree it would be great if they released older source just for this purpose.

          Your initial post about OpenBOR along with your CLI patch got me interested in setting it up, releasing a working games list which @cyperghost saw, which he unified with those scripts, getting the attention of @zanac who brought along the blueprints to the latest OpenBOR for Raspberry - to hopefully integrating into official source reaching a whole new audience. That is freaking awesome! I see Daphne is on the up & up as well. Nice work.

          Do you know of an easy way to batch pack our .bor folders to .pak?

          Z cyperghostC darkniorD 3 Replies Last reply Reply Quote 1
          • Z
            zanac @BiZzAr721
            last edited by

            Just a tip, libs should be deployed into lib directory, if you miss the vpx i can share again it

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

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

              Out of respect for the dev team is why @cyperghost did not want to share the source, and only made binary available.

              Yes exactly. Some comments are no fine netiquette and sounds agressive.
              @darknior We are on a good way on development now and I think the OpenBOR devs are open for our ideas. But not if we are using the old abondenend code. I compiled it because it makes PAK files useable and is just a testing ground for new 6xxx verions.

              Z darkniorD 2 Replies Last reply Reply Quote 0
              • Z
                zanac @cyperghost
                last edited by

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

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

                Out of respect for the dev team is why @cyperghost did not want to share the source, and only made binary available.

                Yes exactly. Some comments are no fine netiquette and sounds agressive.
                @darknior We are on a good way on development now and I think the OpenBOR devs are open for our ideas. But not if we are using the old abondenend code. I compiled it because it makes PAK files useable and is just a testing ground for new 6xxx verions.

                Mens, actually the old version if you will complete the porting of 6xxx will be quite useless, i use the old version now only for one game (Saint Seyia Death and Rebirth), all other games seems run fine with 6xxx

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

                  @zanac No, there are huge changes made, so even the compiled old version I offered is a great step forward. The versions offered by RetroPie-Setup forced us to unpack the pak-files and there was no working load/save feature. Besides @darknior and me wrote some scripts/tutorials how to setup the system so we can study how the whole system behaves if we are using pak-files now.

                  We clearly would prefer the 6xxx versions.

                  @BiZzAr721 Yes there are pack-tools provided. You can see call of borpak here in my script
                  The line /opt/retropie/ports/openbor/borpak -d DESTINATION-DIR BORFILE.PAK extracts so I think annother switch besides -d will pack them ;)
                  If you are out of succes then look in the first posting of this thread, there is a windows toolset posted.

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

                    @cyperghost
                    i know that the legacy-version i posted is much better then the one used in retropie, but is's the same a legacy version... i used that for some weeks, but now that i made the effort to compile gl4es and 6xxx with GL i found the heaven! I'm pretty sure that what i dont can be done in rpi, i know the effort is a bit more, but this must be, in my opinion, the end goal... :)

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

                      @zanac It's a port that was commited by a former member oft the OpenBOR dev-team. You can read the README and then you know what I mean....
                      It is a real pity, because this member seems to me very talented in coding but this skill seems to let to some misbehaviour. The code version that RetroPie was using was a total stripdown and seems to be the fastest version of OpenBOR.

                      @zanac It would be nice from you to share the libs needed because then it will be easier to build up. I hope to see a working version of OpenBOR 6xxx for RetroPie in the next days. Sadly I have tons of work to do (who not?) ;)

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

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

                        Yes exactly. Some comments are no fine netiquette and sounds agressive.
                        @darknior We are on a good way on development now and I think the OpenBOR devs are open for our ideas. But not if we are using the old abondenend code.

                        Yes sorry, I was already angry yesterday for other personal reasons, 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. I was talking about the new 6xxx version, not the old one.

                        Some help with this new version ?

                        • Must i install SDL2 ?
                        • Put the library files on a /lib directory on the OpenBOR/ directory ?

                        Thanks

                        Life is game, just play it !

                        cyperghostC O 2 Replies Last reply Reply Quote 0
                        • darkniorD
                          darknior @BiZzAr721
                          last edited by

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

                          That is freaking awesome! I see Daphne is on the up & up as well. Nice work.

                          Yes so cool to see Daphne and OpenBOR now supported by peoples on Retropie :)

                          Life is game, just play it !

                          1 Reply Last reply Reply Quote 0
                          • BiZzAr721B
                            BiZzAr721
                            last edited by BiZzAr721

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

                            • Put the library files on a /lib directory on the OpenBOR/ directory ?

                            Try:
                            '/usr/lib/arm-linux-gnueabihf/vfp/neon/libvpx.so.1' or
                            'usr/lib/arm-linux-gnueabihf/libvpx.so.1'

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

                              @bizzar721 I already have these two files and they are link to libvpx.so.1.3.0

                              Life is game, just play it !

                              1 Reply Last reply Reply Quote 0
                              • BiZzAr721B
                                BiZzAr721
                                last edited by BiZzAr721

                                EDIT: The pak files created are not playable - I will update when I get it sorted
                                Using all the tricks I know of, I could not get it working anyway from outside directory. It MUST be run from within the folder containing the data folder. It was a chore paking mass folders. It involved using multiple scripts - one I made to copy borpak.exe packer.bat to game folder / another to read from a text file of folder names and create a edited makepak which will output gamename.pak instead of bor.pak, then move to the corresponding folder.
                                I could NOT get it to execute from a batch so I manually went into each folder and ran `makepak.exe' which created a game specific .pak file. phew!

                                And To think - these were once all .pak that I specifically extracted to play on RetroPie ¯_(ツ)_/¯

                                Just for reference, to pack game the command is:
                                borpak -b -d "openbor folder" gamename.pak

                                Time for some Notepad ++ hackery!

                                NOTE
                                Parenthesis will mess up naming EG Dragon Ball (Demo).PAK will be Demo)
                                I got around this by turning space into underscore Dragon_Ball_(Demo).PAK

                                Also & will just end the filename early: battletoads_
                                The good thing is this does not terminate a batch file so I just renamed the few files manually

                                I didn't do this slow, didn't do this fast- I did it half-fast (that joke may be lost in translation)

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

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

                                  Some help with this new version ?

                                  Must i install SDL2 ?
                                  Put the library files on a /lib directory on the OpenBOR/ directory ?

                                  Thanks

                                  Yes... SDL2 is needed
                                  Put additional libaries to lib

                                  use ldd command to check binary for needed dependencies

                                  I posted here how to compile SDL2 version. There are some dependecies installed you need

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

                                    @cyperghost Ok thanks i have miss this because i see there are -dev lib and i was thinking it was only to compile OpenBOR :p

                                    Life is game, just play it !

                                    1 Reply Last reply Reply Quote 0
                                    • BiZzAr721B
                                      BiZzAr721
                                      last edited by BiZzAr721

                                      @cyperghost The latest binary (OpenBOR_3400_pak), is it possible to load .pak from command line like we have been doing? I see you written that the directory issue is fixed. I didn't know if CLI is back as well.
                                      I even ran sudo apt install libsdl2-gfx-dev libvorbisidec-dev libvpx-dev just in case this version needed it as well.
                                      When I open just the OpenBOR main menu using "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ openbor called from a script , the main menu opens showing all the .PAKs. When I choose one, it goes back to ES. Here is runcommand log:

                                      grep: /opt/retropie/configs/openbor/retroarch.cfg: No such file or directory
                                      grep: /opt/retropie/configs/openbor/retroarch.cfg: No such file or directory
                                      grep: /opt/retropie/configs/openbor/retroarch.cfg: No such file or directory
                                      grep: /opt/retropie/configs/openbor/retroarch.cfg: No such file or directory
                                      grep: /opt/retropie/configs/openbor/retroarch.cfg: No such file or directory
                                      Parameters: 
                                      Executing: pushd /opt/retropie/ports/openbor; /opt/retropie/ports/openbor/OpenBOR ""; popd
                                      /opt/retropie/ports/openbor ~
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 1 = Position 32767 (Index 14)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 1 = Position 0 (Index 14)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 1 = Position 32767 (Index 14)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 1 = Position 0 (Index 14)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 0 = Position -32768 (Index 11)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 0 = Position 0 (Index 11)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 0 = Position -32768 (Index 11)
                                      SDL_JOYAXISMOTION - Joystick 0 Axis 0 = Position 0 (Index 11)
                                      shutdown called from load_all_fonts
                                      
                                      ********** An Error Occurred **********
                                      *            Shutting Down            *
                                      
                                      Unable to load font #0!
                                      Release level data...........	Done!
                                      Release graphics data........	Done!
                                      Release game data............
                                      
                                      
                                      Release game data............	Done!
                                      Release timer................	Done!
                                      Release input hardware.......	Done!
                                      Release sound system.........	Done!
                                      Release FileCaching System...	Done!
                                      
                                      **************** Done *****************
                                      
                                      

                                      Here is OpenBOR log:

                                      Warning: couldn't load OpenGL library (No dynamic GL support in video driver)
                                      OpenBoR v3.0 Build 3016, Compile Date: Sep 12 2018
                                      
                                      Game Selected: ./Paks/Fatal Fury - ReBout 2.PAK
                                      
                                      FileCaching System Init......	Enabled
                                      Initializing video............
                                      'data/video.txt' not found.
                                      Initialized video.............	320x240 (Mode: 0, Depth: 8 Bit)
                                      
                                      Loading menu.txt.............	Done!
                                      Loading fonts................	
                                      

                                      Well, it's pretty obvious it is crashing when loading the fonts. Too tired to do anymore tonight.

                                      EDIT
                                      I think I'm making this more difficult than it should be. How do I run OpenBOR from command prompt?

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