OpenRA Source Port for C&C Red Alert, Tiberium Dawn, and Dune 2000
-
These are the steps I followed to get OpenRA up and running on my pi 4 with some help from one of the OpenRA devs (This will not set everything up to work through retropie directly, I dont have that level of experience yet, so hopefully others can step in and get a script module working, or help me make one). Im sure there are more efficient ways of doing some of these steps but I am still learning how to do some of this stuff. If so, please pardon my ignorance. :) If you run into any issues please let me know.
First download the latest release source code tar.gz from https://github.com/OpenRA/OpenRA/releases and unpack into your
/home/pi/
directory.Next we will need to get some dependencies and other packages to run OpenRA successfully:
sudo apt install mono-devel libfreetype6 libopenal1 liblua5.1-0 libsdl2-2.0-0 xdg-utils zenity wget dbus-x11
The mono-devel package in our repository isnt up to date enough so we will need to get it from its own repository:
sudo apt install apt-transport-https dirmngr gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/debian stable-raspbianbuster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update sudo apt install mono-devel
Next we need to download .Net sdk libraries from:
https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.201-linux-arm32-binariesPlace the dotnet.tar.gz file in your
/home/pi/
directory and run:mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.1.201-linux-arm.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet
Note that the above commands will only make the .NET SDK commands available for the terminal session in which it was run. So youll need to finish compiling OpenRA in one session or youll need to edit your shell profile to permanently add the commands.
Next, change directories to the OpenRA directory where the source files are and run:
make dependencies
Then run:
make all
Last we will need to create .sh scripts to launch each game (make sure path to game files is correct for your system!):
For Red Alert:
#!/bin/bash /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/mono /home/pi/OpenRA/OpenRA.Game.exe Engine.LaunchPath="$(readlink -f $0)" Game.Mod=ra Game.LockMouseWindow=true "$@" -- :0 -s 0 dpms -nolisten tcp vt1
For C&C:
#!/bin/bash /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/mono /home/pi/OpenRA/OpenRA.Game.exe Engine.LaunchPath="$(readlink -f $0)" Game.Mod=cnc Game.LockMouseWindow=true "$@" -- :0 -s 0 dpms -nolisten tcp vt1
For Dune 2000:
#!/bin/bash /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/mono /home/pi/OpenRA/OpenRA.Game.exe Engine.LaunchPath="$(readlink -f $0)" Game.Mod=d2k Game.LockMouseWindow=true "$@" -- :0 -s 0 dpms -nolisten tcp vt1
If you want to use original game music and video please see here:
-
Performance isnt very good. Im thinking that its because im stuck using 1080p mode. If we could drop the res some how I think it would speed things up.
-
If we run the game without the x session (using SDL 2) its possible to run the game in windowed mode and set a specific resolution in game. The performance increases greatly, however the mouse pointer no longer seems to line up properly with objects in the game. I think this is because the display resolution doesnt match the render resolution. So what I tried to do was run the game through runcommand so that a specific display resolution could be set. Only problem is that when I run the game through runcommand the game will no longer launch properly. I had the same issue with OpenRCT2. Running a simple shell script to launch the both games works but as soon as I pass it through runcommand I have issues and the game wont launch.
-
@quicksilver did you get this to work any better?
sorry to bump a old topic
-
@exarkuniv yes I was able to run it with pretty good performance using XINIT like we did for some of the other ports.
-
@quicksilver said in OpenRA Source Port for C&C Red Alert, Tiberium Dawn, and Dune 2000:
Next, change directories to the OpenRA directory where the source files are and run:
make dependencies
Then run:
make all
thats great to hear. i did try but i got a little lost at this part.
so do you mean just the OpenRA folder or do i need to go a little deeper then that. i did try it at OpenRA and it just gave me a error about not finding
dependencies
-
@exarkuniv you should just have to navigate to where the openra source files are and run those two commands. It's been a while since I've done it though so I'm not 100% sure.
-
@quicksilver thats what i thought.
make dependencies
did not work.ill try it again. with a clean build and see what i get and let you know
-
@quicksilver ok i got it working. i think some dependencies did not install the first time i tried
so my question is for making the .sh scripts
what part of what you have listed do i need to change to launch the games?
i dont know what part of your scripts is the path to the game files
sorry -
@quicksilver said in OpenRA Source Port for C&C Red Alert, Tiberium Dawn, and Dune 2000:
@exarkuniv yes I was able to run it with pretty good performance using XINIT like we did for some of the other ports.
Hello there i manage to run it but its very slow
What did you exactly to make it run with good performance ??? -
@retropi19 youll need to run it using XINIT and lower the resolution
-
@quicksilver said in OpenRA Source Port for C&C Red Alert, Tiberium Dawn, and Dune 2000:
@retropi19 youll need to run it using XINIT and lower the resolution
I did run it with xinit but there is no setting in options for the resolution,how can i lower it?
-
@retropi19 in game there should be resolution settings. May have to set it to windowed mode or something too. I can't remember off the top of my head what the ideal settings are. When I have a chance I can boot up the game and see what settings I was using.
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.