Suggestions for ports
-
UltrastarDX (a karaoke game) is still under active development. A recent bit of code now allows for smooth 1080p video playback on a Pi4 - until now, due to the way the legacy code worked, only SD content was playing smoothly.
https://github.com/UltraStar-Deluxe/USDX/pull/530I'd love the game to be included in Retropie!
-
So I have been playing around with compiling open source ports of quite a few games. So far I have successfully built on my Pi 4: OpenRCT2 (roller coaster tycoon 2), OpenRA (red alert, C&C, Dune 2k), Dhewm3 (Doom 3), OpenJK (SW Jedi Knight:Jedi Academy), Xash3d (Half-Life), Serious-Engine (Serious Sam first and second encounter), VCMI (Heroes of Might and Magic 3). I can now successfully launch all these games through retropie/runcommand. Most of them I have played quite a bit without any real issues and I feel like some of them are ready for prime time on the pi. I would just need a little help putting together a script module to automate the build process. If anyone has the skills and time to help me with that please let me know and I would be glad to walk anyone through how to build these game engines on the pi.
-
@Renard said in Suggestions for ports:
UltrastarDX (a karaoke game) is still under active development. A recent bit of code now allows for smooth 1080p video playback on a Pi4 - until now, due to the way the legacy code worked, only SD content was playing smoothly.
https://github.com/UltraStar-Deluxe/USDX/pull/530I'd love the game to be included in Retropie!
Edit: tested this and it works
There is a guide in the link for installation
https://www.sebastian-segerer.de/post/ultrastar-deluxe-raspberry-pi/
Not sure if it's as simple as running this...
sudo apt-get install git automake make gcc fpc \ libsdl2-image-dev libavformat-dev libswscale-dev \ libsqlite3-dev libfreetype6-dev portaudio19-dev \ libportmidi-dev liblua5.3-dev libopencv-highgui-dev git clone https://github.com/UltraStar-Deluxe/USDX cd USDX ./autogen.sh ./configure make sudo make install
-
@quicksilver I'm working on my own scripts for openjk and RBDOOM3 (Working, script plan on posting it as soon as I get accurate information for the Help variable and a couple other things. Dhewm should be similar. Have you looked at the libretro version of dhewm?
I will need some help testing. I am running on a x86_64 system and I plan on reading the docs for RPi installs and add the appropriate code to the script.
For OpenJK I am at the point where it builds, I need to identify all the files that need to be installed (binaries, libraries, etc) in the /opt folder. Also still trying to get the cmake switches right for the romdir in home with the binaries in /opt.
-
@gderber said in Suggestions for ports:
Have you looked at the libretro version of dhewm?
Unfortunately I found out it's for 64 bit systems only so it wouldn't compile on my pi 4. Dhewm3 pushes my pi 4 to the max (and I'm overclocked), only way to make it playable is at 640x480 and almost all of the quality settings set to lowest. So I'd imagine that dhewm3+retroarch might be a tall order even if it were possible.
-
@quicksilver Okay. Dhewm is more useful then.
For OpenJK what cmake args did you use? Besides the files listed in the build documentation did you need to install anything else into the /opt folder?
Did you do install Jedi Outcast too or only Jedi Academy?
-
@gderber I only installed jedi academy so far. Jedi outcast is considered WIP and doesnt look like its been touched in a while. I wasnt sure what state it was in, and I am mainly interested in ports that will allow playing all the way through the single player campaign with minimal issues. Ill probably try it out eventually though.
To make JK:Jedi Academy I first installed dependencies.
sudo apt-get update && sudo apt-get install libjpeg8-dev libpng12-dev zlib1g-dev freeglut3-dev cmake git libsdl2-dev
Cloned the repository
git clone https://github.com/JACoders/OpenJK.git jka
and compiled
cd jka mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=~/jka/ make -j4 make install
Then I copied the game files from my windows installation to ~/jka/JediAcademy/
Then I run the game with
/home/pi/jka/JediAcademy/openjk_sp.arm
-
@quicksilver said in Suggestions for ports:
If anyone has the skills and time to help me with that please let me know and I would be glad to walk anyone through how to build these game engines on the pi.
Fork the RetroPie-Setup on Github and add your ports there, I could review your additions and provide suggestions.
-
@mitu Do you mind looking at some of mine?
Doom3 BFG:
https://raw.githubusercontent.com/gderber/RetroPie-Setup/feature/doom3_bfg/scriptmodules/ports/rbdoom3_bfg.shPatch for wolf4sdl:
https://github.com/RetroPie/RetroPie-Setup/pull/3163
The following are partially tested. Haven't tried running it yet (I'm on a ssh connection to my retropie system):
Gzdoom:
https://raw.githubusercontent.com/gderber/RetroPie-Setup/feature/gzdoom/scriptmodules/ports/gzdoom.shOpenJK (JediAcademy); build / install tested.:
https://raw.githubusercontent.com/gderber/RetroPie-Setup/feature/openjk_ja/scriptmodules/ports/openjk_ja.shROTT: Updates and bugfixes to ZeroJay's ROTT install script
https://raw.githubusercontent.com/gderber/RetroPie-Setup/feature/rott/scriptmodules/ports/rott.sh -
@mitu I appreciate the offer, as always you are a big help! Now to learn the ins and outs of GitHub. :)
And also a little preview of what I have working
Doom 3 with classic Doom mod:
Jedi knight -jedi academy running in 1600x1200 resolution:
-
@quicksilver dam those look nice.
how well does doom3 play?
-
@ExarKunIv it's playable at 640x480 on lowest graphical settings and with my pi 4 overclocked (I'll try without overclock soon just for a comparative baseline). Game runs pretty much fullspeed this way except when there are a lot of lighting effects happening at once, in which case there are noticable frame-rate dips. So far I haven't encountered any game breaking bugs and I feel like the game can be completed. I also have classic doom mod and resurrection of evil expansion running. Only real issue I have encountered is that when launching the game through runcommand and an x session (x is required, otherwise there are game breaking graphical issues), quitting the game closes the game but not the x session so you are left at a black screen. Cntrl-alt-backspace closes the x session so I'm using that as a work around for right now.
-
@quicksilver very cool
i saw your post about the x session issue. its cool that we can get these working and in the future it will exit smoothly. from my take on what buzz said.
im more the happy to wait as long as there is a work around. which there is.
great work on all of this. im still on the Pi3 so anything i do it dated and most likely not working on my rig.
but hey it all about learning right :) -
@ExarKunIv openjk is running really well on my pi 4 I suspect you could follow my above directions to get it running on your pi 3. I bet it would be playable.
-
@quicksilver might give that a try
-
@quicksilver i get a
internal compiler error
but im still on 4.5.14 since that is the only version i can get Nblood to work on. so im not surprised about getting errors
im not that worried about it. most of these will wait till i have a Pi4. -
@ExarKunIv said in Suggestions for ports:
@quicksilver i get a internal compiler error
It sometimes happens when you're out of memory. Likely un-noticeable on a Pi4 with 2 or 4Gb of RAM.
-
@mitu If thats the case could he just increase the amount of swap?
-
@gderber said in Suggestions for ports:
Doom3 BFG:
https://github.com/gderber/RetroPie-Setup/tree/feature/doom3_bfgLooks good overall.
- Incorrect license header - missing the license type (GPL3). See how other modules are adding it. It's important when generating the package license summary page (https://retropie.org.uk/stats/licences/).
- missing help header (
rp_module_help
) - should at least indicate where you should copy your game files (.pk4
). md_ret_requires
should be a file, not a folder, indicating the build process has completed succesfully.- run
make clean
during the build, so it always starts with a clean build. game_data_doom3_bfg
doesn't do much, fold it intoconfigure
. If the folder should be user writable, usemkUserDir
instead of a simplemkdir
(remember that the setup script runs asroot
).addPort
inconfigure
looks wrong - look up the function definition inhelpers.sh
or how it's used in other scriptmodules. Last parameter should be the launch command.
https://github.com/gderber/RetroPie-Setup/tree/feature/wolf4sdl
Looks fine, but I don't know this port enough to know if the line removed is ok or not.
General comments for all the
.sh
files- use hard tabs for indentation (see the weird spacing in
game_data_doom3..
) - don't have 2 empty new lines.
-
@mitu Thank you!
For the Wolf4SDL script, the removed line, I had based that on this comment on the Hexen2 pull request. I changed it back, and the other non-essential change, swapping the order of the if statement checking for the *.sod and *.sdm files. I swapped the order so it'd match the order for the main wolfenstein data files.
In both cases, they are not a requirement for the actual goal of getting a start-up script for a unified SOD launcher. So now a total of 2 lines added, no other changes.
For the rest thank you for looking at them, the feedback helped me a lot with these.
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.