Suggestions for ports #2
-
@sleve_mcdichael Thanks for breaking it down. I appreciate it.
-
@exarkuniv Thank you! I appreciate your hard work on this.
-
@sleve_mcdichael said in Suggestions for ports #2:
@drdave79 you've got conflicting scripts in RP's own
scriptmodules
dir, and in the customext/RetroPie-Extra/scriptmodules
location. Delete the ones in/home/pi/RetroPie-Setup/scriptmodules/
.Which files exactly in home/pi/retropie-setup/scriptmodules? I have archivefuncs.sh, helpers.sh, inifuncs.sh, packages.sh and system.sh. When I delete these, I can no longer get into the retropie menu. So I had to restore them.
-
@drdave79 the ones mentioned in the error:
/home/pi/RetroPie-Setup/scriptmodules/ports/rednukem.sh /home/pi/RetroPie-Setup/scriptmodules/supplementary/joystick-selection.sh
-
@sleve_mcdichael That makes sense and fixed it. Thank you again.
-
This list is not directed at anyone in particular, more a note to myself to try these games out. Probably good candidates for retropie as they are free and open source.
0 A.D. - an Age of Empires type strategy game.
https://play0ad.com/
https://github.com/0ad/0adSuper Tux Kart - A kart racing game
https://supertuxkart.net/Main_Page
https://github.com/supertuxkart/stk-codeFlightGear - A realistic flight simulator
https://wiki.flightgear.org/Howto:Build_and_run_FlightGear_on_Raspberry_Pi_4
https://github.com/FlightGear/flightgear -
@quicksilver there is already one in RetroPie-Extra-unstable for Super Tux Kart - A kart racing game
i have not tried it yet
-
added new games to RetroPie -Extras
we now have
Abuse port
OpenDune Dune2 on OpenRA engine
Relive R.E.L.I.V.E - Oddworld: Abe's Oddysee and Oddworld: Abe's Exoddus
added to libretrocores
Ir-duckstation
Fixed
easyrpg-player
enjoy all
-
I modified the script module for supertuxkart for use with a pi 4
#!/usr/bin/env bash # This file is part of The RetroPie Project # # The RetroPie Project is the legal property of its developers, whose names are # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source. # # See the LICENSE.md file at the top-level directory of this distribution and # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md # rp_module_id="supertuxkart" rp_module_desc="SuperTuxKart" rp_module_licence="GPL3 https://sourceforge.net/p/supertuxkart/code/HEAD/tree/main/trunk/COPYING?format=raw" rp_module_section="exp" rp_module_flags="!mali !x86" function depends_supertuxkart() { getDepends xorg } function install_bin_supertuxkart() { [ -f "$md_inst/supertuxkart" ]] && rm -rf "$md_inst/"* aptInstall supertuxkart } function remove_supertuxkart() { aptRemove supertuxkart } function configure_supertuxkart() { addPort "$md_id" "supertuxkart" "SuperTuxKart" "XINIT:$md_inst/supertuxkart.sh" cat >"$md_inst/supertuxkart.sh" << _EOF_ #!/bin/bash /usr/games/supertuxkart _EOF_ chmod +x "$md_inst/supertuxkart.sh" }
Im not sure if everything above is correct or makes sense (im still trying to teach myself how to do this stuff) but it did install and run fine for me on my pi 4. There was an initial warning about my version of openGL not being sufficient but the game still seems to run just fine.
I removed the glshim stuff from the original script module as I dont believe its needed for the pi 4 and according to the notes it runs too slow on a pi 3.
-
function remove_minecraft() {
-
@sleve_mcdichael d'oh how'd I miss that
-
@quicksilver nicely done. I'll add it to the main repo.
-
@exarkuniv said in Suggestions for ports #2:
@quicksilver nicely done. I'll add it to the main repo.
hi
When you will add the avp i gave you and the other things like
thunderbird,vlc etc?? -
@retropi19 I did not forget about AVP. But I did forget the others you gave me.
I came across them the other day.
Just been busy. I'll be adding them in a few days -
Added new scripts to my Github
audacity epiphany-browser gtkboard kraptor kweb librecad libreoffice mixx mypaint piegalaxy putty thunderbird videolan
forgot about
supertuxkart
enjoy all
-
@quicksilver said in Suggestions for ports #2:
supertuxkart
[ -f "$md_inst/supertuxkart" ]] && rm -rf "$md_inst/"*
What is this for? It looks like it's leftover from the Minecraft scriptmodule you adapted(?) this from, where it looks like it is meant to remove a previous compiled version, which now won't be replaced because the install module has been changed to use an
apt
package instead. This seems like a pretty unique situation, is this really applicable here?Also taking a hint from the official supertux (sans "kart") module, there is:
function _update_hook_supertux() { # to show as installed in retropie-setup 4.x hasPackage supertux && mkdir -p "$md_inst" }
We should probably add a similar function to, as it says, "show as installed in retropie-setup."
Do we really need to mess about with
$md_inst/supertuxkart.sh
? In the Minecraft module, this script does more than just launch the game. Can we just make theaddPort
command "XINIT:/usr/games/supertuxkart
" and do away with the extra script in$md_inst
?You can add
moveConfigDir
for network backup of saves and configs:moveConfigDir "$home/.config/supertuxkart" "$md_conf_root/supertuxkart"
If this is for Pi 4 only you'll want to change the module flags:
rp_module_flags="!all rpi4"
...or something else that might allow higher-end devices too (I'm not fluent in module flags. For example I don't even know what "mali" is. But why would this not run on x86?)
I haven't tested this yet. Can probably try tomorrow. Does it run well on RPi4?
#!/usr/bin/env bash # This file is part of The RetroPie Project # # The RetroPie Project is the legal property of its developers, whose names are # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source. # # See the LICENSE.md file at the top-level directory of this distribution and # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md # rp_module_id="supertuxkart" rp_module_desc="SuperTuxKart - a free kart-racing game inspired by the Mario Kart series" rp_module_licence="GPL3 https://sourceforge.net/p/supertuxkart/code/HEAD/tree/main/trunk/COPYING?format=raw" rp_module_section="exp" rp_module_flags="!all rpi4" function _update_hook_supertuxkart() { # to show as installed in retropie-setup 4.x hasPackage supertuxkart && mkdir -p "$md_inst" } function depends_supertuxkart() { getDepends xorg } function install_bin_supertuxkart() { aptInstall supertuxkart } function remove_supertuxkart() { aptRemove supertuxkart } function configure_supertuxkart() { addPort "$md_id" "supertuxkart" "SuperTuxKart" "XINIT:/usr/games/supertuxkart" moveConfigDir "$home/.config/supertuxkart" "$md_conf_root/supertuxkart" }
-
@sleve_mcdichael I'm still trying to decipher what all the different functions do so it's certainly possible my first attempt at a script module has things that don't make sense. So I appreciate your feedback!
I would assume that the game would run on x86 as that's probably it's native environment. However I don't have a way to test that. Performance is good on my pi 4.
-
@quicksilver im in the same boat with the flags, all i know that if a
x86
flag is there it will not install on the Pi. that is all i have figured out, lol -
@exarkuniv thanks for adding my scripts
Will you add also the log2ram as a script or to be installed automatic with your extras??Also can you add george box86 scripts?
git clone --branch emulator https://github.com/GeorgeMcMullen/rp-box86wine /home/pi/RetroPie-Setup/ext/rp-box86wineemu/
-
Well I'm somewhat fluent, I guess. I don't know what all the different individual flags mean but I know basically how the function works.
For starters, the exclamation point ("
!
") is a negator symbol, it means "not." You can exclude certain platforms this way."!mali !x86"
for example means "not mali, and not x86; anything else is okay." As I said before I'm not sure what "mali" is; "!x86
" would be used in cases like Minecraft: Pi Edition where the software is based entirely around ARM architecture and would not work on a PC, not because it doesn't have the resources, but because it doesn't speak the language.Alternatively, you can restrict it to certain platforms, for example
"!all rpi4"
;!all
disables it everywhere and thenrpi4
re-enables it on RPi4 only.""
(or, simply not setting anrp_module_flags=
variable) will enable a module on all platforms, while using"!all"
will disable it, everywhere.It doesn't make much sense to just copy the flags from another module that's using different software; if you don't know what ones to use, start with either
""
or"!all"
and then either disable or enable it on individual platforms as you are able to test.It looks like we can see the
system.sh
functionget_platform()
for a list of the platforms and their flags.
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.