OpenBOR 6xxx OpenBeta Testphase
-
@julenvitoria Wow! Now I'm really impressed!
So you compiled GL4ES and OpenBOR on a RPi0/1 ;)
I've never done this and assumed it would lack on those CPUs.
So thank you for your reports ;)The modules (PAKs) you use are also playing an important role. Some creaters use only oversized graphics and I think that this will throttle down speed. On a x86 mashine with 16GB of RAM this does not really matter but our Pies lack memory and need optimized games. So I think that is the reason why HE-MAN lacks. Because Avengers for example uses much more animations and has much more features.
-
@julenvitoria Hi there! I am super interested in compiling the same version that you did. I'm starting to research this now, and wondered if you have any pointers you can share.
-
@cyperghost so I'm trying to do exactly what @julenvitoria did and install OpenBOR Beta with GL4ES. I was able to compile GL4ES and I put it's resulting file next to the openbor binary, after it installed using your scriptmodule for 6xxx. When I try to launch 6xxx it just says missing shared library "libvpx.so.1" which is a video codec it seems. Maybe I'm not following the right process? I'm really lost and confused. Also if I try to follow the "Confident about compiling" steps, I get stuck on applying the patch. When it applies the patch it always fails at chunk 4, and then fails to make because of that. I was trying Dimitri patch. Ok, I think I'm maybe seeing the problem, the patch is supposed to insert +webm in the makefile (which provides libvpx.so.1). Do I need to wait for a new patch? And I think I can't use the "one liner installs" because those are meant for pi3, right?
Edit: I am really trying here LOL. I was able to "patch the files" manually, but when I go to build it complains that version.h isn't there. So I see version.sh and run it, but that fails because it doesn't know the git functions being called. hmmmm
-
@SinisterSpatula said in OpenBOR 6xxx OpenBeta Testphase:
And I think I can't use the "one liner installs" because those are meant for pi3, right?
Yes, that's RPI3 only
On which RetroPie version you are currently? I tried just for 4.4
For the libvpx try this command
sudo apt install libvpx-dev
-
@cyperghost Thanks for your reply, I checked and I already have libvpx-dev because when I used the scriptmodule it installed that I believe. (tells me already latest version). I've started over, and I think I'm really close. I'm using Retropie 4.4 on pi-zero. I've got openbor-master directory ready to build, that was created from the master.zip you provided, I then manually patched the Makefile, the opengl.c, and sdlport.c by hand. I think the version.sh is not meant to be ran directly and instead I'm supposed to use build.sh instead. Just figuring out what paramenters I need to give build.sh right now.
-
@SinisterSpatula No the parameter for compiling is
make BUILD_PANDORA=1
you can usemake clean-all BUILD_PANDORA=1
to remove old compile attempts before. -
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
make BUILD_PANDORA=1
Ahh I see, so I did the clean, and then I run
make BUILD_PANDORA=1
this is what I get:Compiling PANDORA Port: openbor.c... In file included from openbor.c:14:0: openbor.h:44:24: fatal error: version.h: No such file or directory #include "version.h"
That's why I started to look at version.sh and build.sh. - I realize now that these are meant for building linux and other platforms.
-
@SinisterSpatula Please revert back and use the this patch
wget https://raw.githubusercontent.com/crcerror/OpenBOR-Raspberry/master/patch/4-Galina.diff
remove the master folder and do the produce again.
-
The 4-Galina.diff also fails to patch on Hunk #4 at 572. The master.zip I'm using is from:
https://github.com/DCurrent/openbor/archive/master.zip
is that right? I can try manually patching by hand again. -
@SinisterSpatula No... Use
wget https://github.com/crcerror/OpenBOR-Raspberry/archive/master.zip
This is an older version (8 month or so) and this works with patch 4 and this is the best tested so far ;) Because this is the one @julenvitoria is using.It could be that in newer version from DCurrent some support is dropped. So it would be fine if you report back if this is working for you.
-
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
make BUILD_PANDORA=1
Thank you so much, it's patching and compiling just fine now. All my problems stemmed from using the wrong master.zip :)
-
@SinisterSpatula Not at all the wrong master file ;)
It seems that during development phase the OpenBOR binary can't be compiled on RPi1/0 anymore. The developer team of OpenBOR removed some SDL libaries from source code. So this could be the fault.Thanks for your feedback!
-
@cyperghost Hi again, so sorry I could use some more advice. I used the "oneliner install" to build the directories, install dependencies, place the Module Selection Script, etc. Then I overwrite the binary with the compiled one, and the libGL.so.1 compiled one. I think it's all working. However, when I launch the beta using the Selection Script, it's saying
No config found for system openbor
. I guess this is related to/opt/retropie/configs/SYSTEMNAME/emulators.cfg
I guess my question is do I need to do the scriptmodule instead for it to setup the emulators.cfg for me? And the "oneliner" does not do that?I'm trying the scriptmodule method, then overwriting, now... Edit: no, still not working. I recorded all the steps I performed, in case it's helpful, to see what I'm doing wrong? https://sinisterspatula.github.io/SuperRetropieGuides/OpenborBeta6510
-
@SinisterSpatula said in OpenBOR 6xxx OpenBeta Testphase:
And the "oneliner" does not do that?
Exactly the scriptmodule sets everything up into the right place. The right place for the
OpenBOR
binary is located to/opt/retropie/ports/openbor
The config is located to/opt/retropie/configs/ports/openbor/emulators.cfg
What happens if you start the fresh compiled
OpenBOR
binary?
You have to set it to executive, therefore usechmod +x OpenBOR
and then start with./OpenBOR
then you should see the init screen. -
Thanks again! I did all of this again on my pi3b+ and got a working configuration going with the Beta. I could not figure out how to map controller inputs, but I used xboxdrv as a workaround and it's running good on that system. So now I'll use the pi3b as a blueprint for what I should change on my zero. :) I want to make a guide on this to help others in our facebook group to set this up on theirs also, and it would also be very cool to explore how you did the oneliner, and see if I could make my own oneliner for them to use, or at least a build from source option (scriptmodule) like you did for pi3b.
-
@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.
-
@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 $
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.