OpenRA on RaspberryPi - OpenRA/OpenRA GitHub Wiki
OpenRA is now playable on an unmodified Raspberry Pi 4. Improved performance is achievable by overclocking and adjusting graphics settings. Until an official release is made for the Pi, you will need to compile from source:
- Install Raspberry Pi OS with desktop, Buster (version 10) or later.
- Install the latest Mono per these instructions
- If using 64-bit Raspberry Pi OS, you may need to install using the Debian repository (
stable-buster
) instead (ofstable-raspbianbuster
), as theamd64
architecture may not be available in that release.
- If using 64-bit Raspberry Pi OS, you may need to install using the Debian repository (
- Install required packages per INSTALL.md
- Following the compiling instructions, focusing on the Linux/Mac section or use this quick-start:
- Download the latest release source tarball (*.tar.bz2) from here
mkdir ~/OpenRA
tar xvjf ~/Downloads/OpenRA-release-YYYYMMDD-source.tar.bz2 -C ~/OpenRA
cd ~/OpenRA
make
-
./launch-game.sh
if in desktop environment, otherwisexinit ./launch-game.sh Game.Mod=ra -- :0 vt$XDG_VTNR
(wherera
=Red Alert)
OpenRA is "unplayable" on a Raspberry Pi-3 (tested with gpu-mem = 512) but you can actually run it. The heat-indicator will get triggered on the top-right, warning you that your RaspberryPi is getting hot (80-85+'C).
See Also:
- Make sure you have Raspbian Stretch installed on your Pi
- You need a established connection via network-cable or WiFi to get the server working at the end
The following list provides package dependencies required for running OpenRA as dedicated server. This is a community initiative, be prepared to get your hands dirty.
sudo apt-get install mono-runtime libmono2.0-cil libsdl2-2.0 \
libmono-system-core4.0-cil libmono-system-drawing4.0-cil libmono-system-data4.0-cil \
libmono-system-numerics4.0-cil libmono-system-runtime-serialization4.0-cil \
libmono-system-xml-linq4.0-cil libgl1-mesa-dri liblua5.1-0
wget https://github.com/OpenRA/OpenRA/releases/download/release-20180307/openra_release.20180307_all.deb
sudo dpkg -i openra_release.20180307_all.deb
sudo cp /usr/lib/openra/launch-dedicated.sh /usr/lib/openra/my-dedicated.sh
Note: replace the release-verion with the current openRA version if a later one exists.
Now edit /usr/lib/openra/my-dedicated.sh
server settings as explained at installation steps.
Start the server with ./my-dedicated.sh
, you can tell that it's working when you see the message Master server communication established
Make sure you have forwarded the necessary ports for your OpenRA server in your router.
You can look up the address of your Raspberry PI with this command (substitute eth0
as necessary):
ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
sudo su
useradd --system --home=/usr/lib/openra --create-home --shell=/sbin/nologin openra
cat << EOF > /lib/systemd/system/openra.service
[Unit]
Description=OpenRA Dedicated Server
[Service]
ExecStart=/usr/lib/openra/my-dedicated.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
WorkingDirectory=~
User=openra
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload # Optional unless the service already existed.
systemctl enable --now openra.service
systemctl status openra.service