Blake Stone - BStone source port
-
@tpo1990 thank You for Your feedback again!
I use the Pi4/4GB with Unofficial RetroPie Buster (Pi4) beta 5 by monkaBlyat
The xboxdrv Documentation I know, but is more generic. So I had hoped You have an bstone adapted script ;)
But anyway, many thanks I will try to map the needed keys and share the result here...Sincerely
-
@tomybyte Your welcome. :-)
Ah i see, then that's why it is not working correctly since you are using a Pi4. As RetroPie has not been officially released for the Pi4 yet it is uncertain to say if the existing source ports that i created a scriptmodule for will work or not.
That is because xboxdrv is able to map keyboard input to any gamepad and people are using different gamepads for their own RetroPie project. I don't have an adapted xboxdrv script for Bstone, but i could probably share my xboxdrv configuration for my own Zeroplus PS4 controller from the Doom Legacy port.
You will have to install xboxdrv from
RetroPie-Setup
and know whatbuttons
your X360 gamepad is using in order to get a proper workingxboxdrv config
for Bstone. You could then manually edit that specific config file that i created to get it to work with your X360 controller for Bstone. Let me know if you want this.Until the Pi4 get's an official RetroPie release i can not help you any further than this.
What i can say is that i will probably get a Pi4 soon with the 4 gb RAM.
Sincerely
-
@tpo1990 it would be a pleasure if You can share Your xboxdrv script!
The Pi4 is a rocket! Your Return to Castle Wolfenstein run perfect smoothly! I love him ;)
Sincerely -
@tpo1990 so this is a working xboxdrv configuration in my Blake Stone - Aliens of Gold.sh
#!/bin/bash sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \ --detach-kernel-driver \ --silent \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --trigger-as-button \ --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RX=x2,ABS_RY=y2,ABS_Z=lt,ABS_RZ=rt \ --ui-axismap X1=KEY_A:KEY_D,Y1=KEY_S:KEY_W,X2=KEY_A:KEY_D,Y2=KEY_UP:KEY_DOWN \ --evdev-keymap BTN_SOUTH=a,BTN_EAST=b,BTN_NORTH=x,BTN_WEST=y,BTN_TL=lb,BTN_TR=rb,BTN_THUMBL=tl,BTN_THUMBR=tr,BTN_MODE=guide,BTN_SELECT=back,BTN_START=start,BTN_TRIGGER_HAPPY3=du,BTN_TRIGGER_HAPPY4=dd,BTN_TRIGGER_HAPPY1=dl,BTN_TRIGGER _HAPPY2=dr \ --evdev-absmap ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \ --ui-buttonmap du=KEY_W,dd=KEY_S,dl=KEY_LEFT,dr=KEY_RIGHT,a=KEY_LEFTCTRL,b=KEY_SPACE,y=KEY_Y,lb=KEY_A,rb=KEY_D,start=KEY_ENTER,x=KEY_ESC \ & "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "bstone" ""
The only problem is if I exit the game and go back to retropie interface the retropie controls are lost. Also if I kill the xboxdrv after game again with sudo killall > /dev/null 2>&1 xboxdrv
-
@tomybyte Good to hear that RTCW runs great on a Pi4. I haven't had any other tests other than on my Pi3B. :-)
It seems like you have already figured out the xboxdrv configuration. What is your xboxdrv configuration file called and where did you put it?
Xboxdrv should only start once a port or emulator is running on your RetroPie system and then after you exit that same port, it you should stop xboxdrv so than you can control as normal.
-
@tomybyte You can add to the
killall
command on a new line in your script.Below is the script I use to launch Abuse in DOSBox using xboxdrv for mouse emulation:
#!/bin/bash sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --config /opt/retropie/configs/xboxdrv/abuse.xboxdrv >/dev/null & /opt/retropie/emulators/dosbox/bin/dosbox -c "mount c /home/pi/RetroPie/roms/pc-data" -c "c:" -c "cd ABUSE" -c "ABUSE.EXE" -c "exit" sudo killall >/dev/null xboxdrv sleep 1
I'm not sure if the
sleep 1
command is actually required but I keep it so that there's a one second delay between the xboxdrv process being stopped and ES launching and the two processes shouldn't coincide. -
@tpo1990
If I start xboxdrv configuration upper the retropie menu does not work, because the retropie mappings are overwritten.
But withsudo killall > /dev/null 2>&1
in the last line ALL xboxdrv processes will be killed.
Then the retropie menu also does not work any more.
I can not find a solution for that at the moment...Sincerely
-
@tomybyte Did you try @dudleydes 's solution?
It should only be necessary to kill xboxdrv service and then the RetroPie mappings should work as normal again.
Let me check my stop command for xboxdrv and get back to you later.
-
Hi @tpo1990
so I found the solution for my Pi4...
To reuse xboxdrv You have to start it on boot:
RetroPie Setup > Configuration / Tools > xboxdrv - XBox / XBox360 gamepad driver > Enable xboxdrv
after that You have two configurations:
/opt/retropie/configs/all/retroarch-joypads
Xbox 360 Wireless Receiver (XBOX).cfg > with disabled xboxdrv
Xbox Gamepad (userspace driver).cfg > with enabled xboxdrv
Then You can kill it and start it again and again!e.g. Blake Stone - Planet Strike.sh
#!/bin/bash sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \ --detach-kernel-driver \ --silent \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --trigger-as-button \ --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RX=x2,ABS_RY=y2,ABS_Z=lt,ABS_RZ=rt \ --ui-axismap X1=KEY_A:KEY_D,Y1=KEY_S:KEY_W,X2=KEY_A:KEY_D,Y2=KEY_UP:KEY_DOWN \ --evdev-keymap BTN_SOUTH=a,BTN_EAST=b,BTN_NORTH=x,BTN_WEST=y,BTN_TL=lb,BTN_TR=rb,BTN_THUMBL=tl,BTN_THUMBR=tr,BTN_MODE=guide,BTN_SELECT=back,BTN_START=start,BTN_TRIGGER_HAPPY3=du,BTN_TRIGGER_HAPPY4=dd,BTN_TRIGGER_HAPPY1=dl,BTN_TRIGGER_HAPPY2=dr \ --evdev-absmap ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \ --ui-buttonmap du=KEY_W,dd=KEY_S,dl=KEY_LEFT,dr=KEY_RIGHT,a=KEY_LEFTCTRL,b=KEY_SPACE,y=KEY_Y,lb=KEY_A,rb=KEY_D,start=KEY_ENTER,x=KEY_ESC \ & "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "bstone_ps" "" sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --daemon --detach --dbus disabled --detach-kernel-driver --id 0 --led 2 --deadzone 4000 --silent --trigger-as-button --next-controller --id 1 --led 3 --deadzone 4000 --silent --trigger-as-button
Sincerely
-
@tomybyte That would probably work, but i think it is better to have a specific config file to include all your xboxdrv configurations for the ports or emulators that you have installed on your RetroPie system. If I update the
scriptmodule
for Bstone, it may just replace yourBlake Stone.sh
file in yourPorts
folder. In this way you will probably need to manually keep a backup of your changes. -
@tpo1990
letting you know that something is up with blake stone.
i cant get it to load anymore on both my pi3 running 4.5, and my pi4 running 4.6here is the error
[VID] Applying texture upscale. /opt/retropie/supplementary/runcommand/runcommand.sh: line 1255: 1832 Bus error /opt/retropie/ports/bstone/bstone --data_dir /home/pi/RetroPie/roms/ports/bstone/aog
here is the whole list
Parameters: Executing: SDL_VIDEO_KMSDRM_CRTCID=49 SDL_VIDEO_KMSDRM_MODEID=39 /opt/retropie/ports/bstone/bstone --data_dir /home/pi/RetroPie/roms/ports/bstone/aog BStone v1.2.6 ========== Looking for game content. Found "Blake Stone: Aliens Of Gold (shareware)" v3.0. Content source: custom dir Data path: "/home/pi/RetroPie/roms/ports/bstone/aog/" Mod path: "" Profile path: "/home/pi/.local/share/bibendovsky/bstone/" [SND] Initializing audio [SND] ------------------ [SND] Channel count: 2 [SND] Sample rate: 44100 Hz [SND] Mix size: 40 ms [SND] Effects volume: 10 / 20 [SND] Music volume: 5 / 20 [SND] OPL3 type: DosBox DBOPL [SND] Resampling interpolation: Linear [SND] Resampling low-pass filter: On [VID] Initializing hardware accelerated video system. [VID] Initializing task manager. [VID] Creating renderer manager. [VID] Getting display mode. [VID] -------------------- [VID] Common configuration [VID] -------------------- [VID] Renderer: auto-detect [VID] Is windowed: true [VID] Window positioned: false [VID] Windowed x: 0 [VID] Windowed y: 0 [VID] Windowed width: 640 [VID] Windowed height: 480 [VID] UI stretched: false [VID] Widescreen: true [VID] 2D texture filter: nearest [VID] 3D texture image filter: nearest [VID] 3D texture mipmap filter: nearest [VID] Texture anisotropy: 1 [VID] Texture upscale filter: none [VID] Texture upscale xBRZ factor: 0 [VID] Anti-aliasing kind: none [VID] Anti-aliasing value: 1 [VID] -------------------- [VID] Initializing 3D renderer. [VID] Trying to initialize "OpenGL 3.2 core". ERROR: [VID] [REN_3D_GL_UTL_MK_CTX_INIT] Failed. [VID] Trying to initialize "OpenGL 2.0". [VID] Device features [VID] =============== [VID] V-Sync: true [VID] V-Sync requires restart: false [VID] Texture max dimension: 4096 [VID] Viewport max width: 4096 [VID] Viewport max height: 4096 [VID] Anisotropy: false [VID] Anisotropy max degree: 1 [VID] Non-power-of-two textures: true [VID] Mipmap auto-generation: true [VID] Samplers: true [VID] MSAA: true [VID] MSAA (render-to-window): false [VID] MSAA requires restart: false [VID] MSAA max degree: 4 [VID] Vertex input max locations: 16 [VID] Initializing shader program. [VID] Initializing shader variables. [VID] Creating texture manager. [VID] Initializing 2D resources. [VID] Creating UI index buffer. [VID] Creating UI vertex buffer. [VID] Creating UI vertex input. [VID] Creating 2D filler index buffer. [VID] Creating 2D filler vertex buffer. [VID] Creating 2D filler vertex input. [VID] Creating UI texture. [VID] Creating 2D 1x1 black texture. [VID] Creating 2D 1x1 white texture. [VID] Creating 2D 1x1 fade texture. [VID] Initializing 3D flooring. [VID] Creating 3D flooring index buffer. [VID] Creating 3D flooring vertex buffer. [VID] Creating 3D flooring vertex input. [VID] Creating 3D flooring 1x1 solid texture. [VID] Initializing 3D ceiling. [VID] Creating 3D ceiling index buffer. [VID] Creating 3D ceiling vertex buffer. [VID] Creating 3D ceiling vertex input. [VID] Initializing 3D fade. [VID] Creating 3D fade index buffer. [VID] Creating 3D fade vertex buffer. [VID] Creating 3D fade vertex input. [VID] Create 3D fade texture. [VID] Initializing player's weapon. [VID] Creating player's weapon index buffer. [VID] Creating player's weapon vertex buffer. [VID] Creating player's weapon vertex input. [VID] Creating player's weapon sampler. [VID] Initializing command buffers. [VID] Creating common command buffer. [VID] Creating 3D command buffer. [VID] Creating 2D command buffer. [VID] Initializing command buffers. [VID] Initializing samplers. [VID] Creating UI sampler. [VID] Creating sprite sampler. [VID] Creating wall side sampler. [VID] Creating fade sampler. [VID] Applying texture upscale. /opt/retropie/supplementary/runcommand/runcommand.sh: line 1255: 5134 Bus error SDL_VIDEO_KMSDRM_CRTCID=49 SDL_VIDEO_KMSDRM_MODEID=39 /opt/retropie/ports/bstone/bstone --data_dir /home/pi/RetroPie/roms/ports/bstone/aog
not sure whats going on here
-
@tpo1990 ok so i did find the problem. bibendovsky has now got OPENGL in his build. and it does not play nice with the Pi either the Pi3 or Pi4. i am talking with him but we just started so no answer yet. and for some reason we it will not swtich to the software mode to lunch even though it does have a auto detect.
so the only work around i have found is to build from a older version. 1.1.16 is the last version that only uses
software
.once i get a better answer ill update here
-
I'd like to try to recompile the 1.1.16 source code to try on the RPI4. Is there a location I can go to?
-
@RussellB https://github.com/bibendovsky/bstone/releases?after=v1.2.0-beta.6
1.1.16 will be a little down the page
-
@ExarKuniv Thanks. Unfortunately my Linux development skills are not the same as my Windows development skills so reviewing the code I'm a bit lost. Is ther a pre-compiled binary for RPI3/4 1.1.6 somewhere available for download?
-
@RussellB said in Blake Stone - BStone source port:
@ExarKuniv Thanks. Unfortunately my Linux development skills are not the same as my Windows development skills so reviewing the code I'm a bit lost. Is ther a pre-compiled binary for RPI3/4 1.1.6 somewhere available for download?
Ok, now learned how to cmake and make under Linux. :-)
-
@RussellB said in Blake Stone - BStone source port:
@RussellB said in Blake Stone - BStone source port:
@ExarKuniv Thanks. Unfortunately my Linux development skills are not the same as my Windows development skills so reviewing the code I'm a bit lost. Is ther a pre-compiled binary for RPI3/4 1.1.16 somewhere available for download?
Ok, now learned how to cmake and make under Linux. :-)
Just confirming that compiling 1.1.16 and using that works on the RPI4 for Both Aliens of Gold and Planet Strike.
-
-
@ExarKunIv If he has updated his port to a newer version it might break the compatibility with the Pi since the scriptmodule pulls/clones straight from his git repository. Let me see if I get the same result and if the latest version doens't work, then I will look into building a solution.
@RussellB Nice, that's how I started out with Linux and Raspberry Pi since I wanted to see what other ports could be run a single board computer such as the Pi. Just keep on learning and eventually you will get there like me. Thanks :-)
-
@tpo1990 the newest version still works on the pi3 just fine. but the auto select for the video drivers is broken for the Pi.
so you need to make a config file called
bstone_config.txt
and have this in it
vid_renderer "software"
and you have to drop it into
/home/pi/.local/share/bibendovsky/bstone
once there is will start just fine.
i know i should of updated a while ago, i just got a little lazy. sorry
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.