OpenBOR 6xxx OpenBeta Testphase
-
@SinisterSpatula Please rename or delete GL4ES.
-
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 $
-
@SinisterSpatula hmmm.... what is the result of
ldd OpenBOR
?
I'm really just guessing now. I never compiled this on a RPi1/0illegal instruction is usually 99% caused by providing RPi incompatible packages
-
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 $
-
@SinisterSpatula sorry!
Posted wrong. It looks all fine!
@mitu Can you help here please? -
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.
-
@SinisterSpatula I posted wrong! Sorry! I've tagged mitu. I think he can help
-
@SinisterSpatula Moment .... what image did you use? A preinstalled one?
-
@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.
-
@SinisterSpatula Okay then wait for an answer from mitu. I think he can help
-
@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.
-
@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 :(
-
@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
-
@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.
-
@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?
-
@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 -
@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?
-
@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
-
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)"
-
Sorry to drag you both into something silly, I've just got my heart set on getting this to work lol, and I truly appreciate the assistance :)
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.