OpenBOR finally working fine on RETROPIE with ES
-
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 thedata
folder. It was a chore paking mass folders. It involved using multiple scripts - one I made to copyborpak.exe packer.bat
to game folder / another to read from a text file of folder names and create a editedmakepak
which will outputgamename.pak
instead ofbor.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 EGDragon Ball (Demo).PAK
will beDemo)
I got around this by turning space into underscoreDragon_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 manuallyI didn't do this slow, didn't do this fast- I did it half-fast (that joke may be lost in translation)
-
@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 libuse
ldd
command to check binary for needed dependenciesI posted here how to compile SDL2 version. There are some dependecies installed you need
-
@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 -
@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 ransudo 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? -
@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
-
Thank you @zanac
To install:
We need the binary @zanac thankfully provided to us!
Get it from here: https://drive.google.com/open?id=1CphOM9RoniMhAaAsBeAbSnQUXn4WW8VHThen we need some dependencies!
Tested with current RetroPie image v 4.4 (md5sum: 56988addb60361a2257a61c69d9fceac) on RPi 3B 1.2We need following dependencies before
install withsudo 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 -
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. -
@zanac
I can confirm Hardware filter (simple, bilinear) is working
Full/Window screen is working
Software filters are working
Scaling is workingVideo 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
-
@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 ;) -
@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();
-
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 ;) -
@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?
-
@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?
-
@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?
-
@bizzar721 The older ports can still be used for Dingux
-
@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 -
@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. -
@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.
-
@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 :)
-
@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 ;)
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.