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

    OpenBOR 6xxx OpenBeta Testphase

    Scheduled Pinned Locked Moved Ideas and Development
    betaopenbor
    520 Posts 54 Posters 292.8k 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.
    • S
      SinisterSpatula
      last edited by SinisterSpatula

      @cyperghost Still trying to get this working with no success on the pi zero :( Are we sure that @julenvitoria was using Galina? Which scriptmodule do you think they used before overwriting the binaries? I was using http://raw.githubusercontent.com/crcerror/OpenBOR-63xx-RetroPie-openbeta/master/scriptmodules/openbor-6xxx.sh and so everything went into /opt/retropie/ports/openbor-6xxx/ instead of /opt/retropie/ports/openbor

      If I try launching it via Emulation Station [OpenBOR - Module Selection Script] all I see in my /dev/shm/runcommand.log is:

      Executing: pushd /opt/retropie/ports/openbor-6xxx; /opt/retropie/ports/openbor-6xxx/OpenBOR ""; popd
      /opt/retropie/ports/openbor-6xxx /home/pi/RetroPie/roms/ports
      /opt/retropie/supplementary/runcommand/runcommand.sh: line 1012:  6166 Illegal instruction     /opt/retropie/ports/openbor-6xxx/OpenBOR ""
      /home/pi/RetroPie/roms/ports
      
      

      On a successful launch from my pi3b+ I see this instead, so there is a difference here:

      Executing: pushd /opt/retropie/ports/openbor-6xxx; /opt/retropie/ports/openbor-6xxx/OpenBOR "/home/pi/RetroPie/roms/ports/openbor/TMNT_RP_1_1_1.pak"; popd
      /opt/retropie/ports/openbor-6xxx ~
      

      Edit: Ok, I found a missing line that Pi3 had that zero didn't. I added it to the zero's emulator's config, and now the executed command looks the same for both, but the zero still gives the "illegal instruction".
      The missing line was:

      openbor = "pushd /opt/retropie/ports/openbor; /opt/retropie/ports/openbor/OpenBOR; popd"
      

      If I try launching it from CLI [sudo ./OpenBOR] I see this:

      pi@gpicase:/opt/retropie/ports/openbor-6xxx $ sudo ./OpenBOR
      LIBGL: Initialising gl4es
      LIBGL: v1.1.1 built on Jul 11 2019 21:41:34
      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 Full 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
      LIBGL: Hardware vendor is Broadcom
      LIBGL: Targeting OpenGL 2.0
      LIBGL: glX Will try to recycle EGL Surface
      LIBGL: Current folder is:/opt/retropie/ports/openbor-6xxx
      Illegal instruction
      pi@gpicase:/opt/retropie/ports/openbor-6xxx $ ^C
      
      pi@gpicase:/opt/retropie/ports $ /opt/retropie/ports/openbor-6xxx/OpenBOR "/home/pi/RetroPie/roms/ports/openbor/TMNT_RP_1_1_1.pak"
      Illegal instruction
      pi@gpicase:/opt/retropie/ports $
      

      Edit: I've tried Galina, I've tried Dmitri, both give me illegal instruction error. Even fresh off the compiler, just doing ./OpenBOR
      I thought maybe it was because I was sending video over GPIO pins (Retroflag Gpi case) so I tried taking it out of the case, removing the GPIO video settings, hooked up to TV with HDMI, still same "illegal instruction". Not sure what else I can try.

      Edit: Looks like this might be a problem with my particular retropie image. Another friend was able to compile and launch Anna on zero using a different image. So right now I'm also trying Anna and if that fails, it has to be my image.

      Edit: Anna failed "illegal instruction" so this has to be a problem with my image, no doubt about it.

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

        @SinisterSpatula Please rename or delete GL4ES.

        1 Reply Last reply Reply Quote 0
        • S
          SinisterSpatula
          last edited by SinisterSpatula

          I tried a fresh 4.4 image and got the same results. I'm really stuck and not understanding why I keep getting this Illegal Instruction error. Only thing I can think of is a problem with my OpenGL libraries, or the binary itself that is getting compiled is not compatible with pi zero? Or I'm still doing something else wrong.

          Edit: Just deleted libGL.so.1 tried ./OpenBOR and still illegal instruction.

          pi@gpicase:/opt/retropie/ports/openbor-6xxx $ sudo rm -r lib/
          pi@gpicase:/opt/retropie/ports/openbor-6xxx $ ls
          Logs  OpenBOR  OpenBOR.elf  Paks  Saves  ScreenShots
          pi@gpicase:/opt/retropie/ports/openbor-6xxx $ ./OpenBOR
          Illegal instruction
          pi@gpicase:/opt/retropie/ports/openbor-6xxx $ ^C
          pi@gpicase:/opt/retropie/ports/openbor-6xxx $
          
          cyperghostC 1 Reply Last reply Reply Quote 0
          • cyperghostC
            cyperghost @SinisterSpatula
            last edited by cyperghost

            @SinisterSpatula hmmm.... what is the result of ldd OpenBOR?
            I'm really just guessing now. I never compiled this on a RPi1/0

            illegal instruction is usually 99% caused by providing RPi incompatible packages

            1 Reply Last reply Reply Quote 0
            • S
              SinisterSpatula
              last edited by

              I think you're right, because I just followed the exact same steps on my Pi3 that I'm doing on my pi zero, and it worked perfectly, no error, brought up the BOR gui menu. So I must be compiling for pi3 still, somehow?
              Here's the output of ldd OpenBOR on my zero:

              pi@gpicase:/opt/retropie/ports/openbor-6xxx $ ldd OpenBOR
                      /usr/lib/arm-linux-gnueabihf/libarmmem.so (0xb6f00000)
                      libSDL2-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0 (0xb6e03000)
                      libSDL2_gfx-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libSDL2_gfx-1.0.so.0 (0xb6de5000)
                      libGL.so.1 => ./lib/libGL.so.1 (0xb6c81000)
                      libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6c58000)
                      libvorbisidec.so.1 => /usr/lib/libvorbisidec.so.1 (0xb6c2e000)
                      libogg.so.0 => /usr/lib/arm-linux-gnueabihf/libogg.so.0 (0xb6c20000)
                      libvpx.so.4 => /usr/lib/arm-linux-gnueabihf/libvpx.so.4 (0xb6b23000)
                      libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0xb6ae9000)
                      libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6ac2000)
                      libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6a43000)
                      libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6904000)
                      libasound.so.2 => /usr/lib/arm-linux-gnueabihf/libasound.so.2 (0xb6817000)
                      libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6804000)
                      libbrcmEGL.so => /opt/vc/lib/libbrcmEGL.so (0xb67cb000)
                      libbrcmGLESv2.so => /opt/vc/lib/libbrcmGLESv2.so (0xb67a6000)
                      libbcm_host.so => /opt/vc/lib/libbcm_host.so (0xb677f000)
                      libvcos.so => /opt/vc/lib/libvcos.so (0xb6765000)
                      libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0xb674f000)
                      libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0xb662c000)
                      libXext.so.6 => /usr/lib/arm-linux-gnueabihf/libXext.so.6 (0xb660d000)
                      libXcursor.so.1 => /usr/lib/arm-linux-gnueabihf/libXcursor.so.1 (0xb65f4000)
                      libXinerama.so.1 => /usr/lib/arm-linux-gnueabihf/libXinerama.so.1 (0xb65e1000)
                      libXi.so.6 => /usr/lib/arm-linux-gnueabihf/libXi.so.6 (0xb65c3000)
                      libXrandr.so.2 => /usr/lib/arm-linux-gnueabihf/libXrandr.so.2 (0xb65aa000)
                      libXss.so.1 => /usr/lib/arm-linux-gnueabihf/libXss.so.1 (0xb65a0000)
                      libXxf86vm.so.1 => /usr/lib/arm-linux-gnueabihf/libXxf86vm.so.1 (0xb658b000)
                      librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6574000)
                      /lib/ld-linux-armhf.so.3 (0xb6f16000)
                      libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6547000)
                      libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb63ff000)
                      libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0xb63d0000)
                      libXrender.so.1 => /usr/lib/arm-linux-gnueabihf/libXrender.so.1 (0xb63b7000)
                      libXfixes.so.3 => /usr/lib/arm-linux-gnueabihf/libXfixes.so.3 (0xb63a2000)
                      libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0xb6397000)
                      libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0xb6382000)
                      libbsd.so.0 => /lib/arm-linux-gnueabihf/libbsd.so.0 (0xb6359000)
              pi@gpicase:/opt/retropie/ports/openbor-6xxx $
              
              cyperghostC 1 Reply Last reply Reply Quote 0
              • cyperghostC
                cyperghost @SinisterSpatula
                last edited by cyperghost

                @SinisterSpatula sorry!
                Posted wrong. It looks all fine!
                @mitu Can you help here please?

                S mituM 2 Replies Last reply Reply Quote 0
                • S
                  SinisterSpatula @cyperghost
                  last edited by SinisterSpatula

                  Sorry I'm sure this is a dumb question, but where or how do I get that installed or placed where needed? :) Still learning. Oh ok. Back to the drawing board I guess lol. I'm going to try a different image for the zero and see if I have better luck.

                  cyperghostC 2 Replies Last reply Reply Quote 0
                  • cyperghostC
                    cyperghost @SinisterSpatula
                    last edited by

                    @SinisterSpatula I posted wrong! Sorry! I've tagged mitu. I think he can help

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

                      @SinisterSpatula Moment .... what image did you use? A preinstalled one?

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        SinisterSpatula @cyperghost
                        last edited by

                        @cyperghost Most recently I used a stock image: retropie-4.4-rpi1_zero.img which should be stock standard, nothing but enabling ssh, samba, I did a fake-hw-clock to stop the system file checks on every boot, I installed xboxdrv (I like to use that for gamepad remapping to keyboard keys. That's all I've done I'm pretty sure.

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

                          @SinisterSpatula Okay then wait for an answer from mitu. I think he can help

                          1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @cyperghost
                            last edited by

                            @cyperghost said in OpenBOR 6xxx OpenBeta Testphase:

                            @mitu Can you help here please?

                            I can try, but it looks like the problem is that the binary/some parts of it (gl4es ?) are compiled for a RPI3, while the PI0 has a different CPU, thus some optimized instructions in the binary will not work for it.

                            cyperghostC 1 Reply Last reply Reply Quote 0
                            • S
                              SinisterSpatula
                              last edited by

                              @mitu that's what it seems like to me too. What's weird though, is if you look in this thread starting here: https://retropie.org.uk/forum/post/191200 another member was able to compile this beta for the zero. They don't say what they did or how they did it though :(

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

                                @mitu No it's compiled by the scriptmodule and GL4ES is deleted. So it's ARM6 instructions. I've never compiled on Pi1/0 platforms and I don't have one available.

                                ldd looks okay

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @cyperghost
                                  last edited by

                                  @cyperghost said in OpenBOR 6xxx OpenBeta Testphase:

                                  No it's compiled by the scriptmodule and GL4ES is deleted

                                  Ah, then it's not the CPU instructions mismatch.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    SinisterSpatula @mitu
                                    last edited by

                                    @mitu Well, it could be... See I'm doing the scriptmodule first. But then I'm compiling again, and overwriting the binary with my own. I'll try just the scriptmodule alone, maybe that's the issue?

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

                                      @SinisterSpatula Then the GL4ES is wrong. The scriptmodule uses a prepacked GL4ES made for RPi3 therefore I asked to delete this.

                                      Maybe you can compile GL4ES on your platform.
                                      Instructions are here
                                      https://github.com/ptitSeb/gl4es

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        SinisterSpatula @cyperghost
                                        last edited by

                                        @cyperghost Yeah, just to clarify, I was doing script module, then compiling my own openbor executable, and my own GLES4, and overwriting them both, into the folder of where the scriptmodule installed to. Is the script module able to change the compiling flags to the needed ones for zero? Or would I need to modify those before compiling?

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

                                          @SinisterSpatula The scriptmodule has nothing to do with compiling flags. It's the patch itself.

                                          Compiling flags are set to

                                          CFLAGS         += -marm -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard -fomit-frame-pointer -ffast-math -O2
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            SinisterSpatula
                                            last edited by SinisterSpatula

                                            Would you happen to know what the flags should be for the zero? I'm guessing these are working for pi3 but for zero it needs to be something other

                                            Edit: looks like this maybe? "mcpu=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp (alias for vfpv2)"

                                            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.