-This only works properly on 64 Bit Ubuntu, the 32bit Raspberry OS still have issues with fullscreen, missing S3TC and mouse grab.
-Ubuntu comes with "pulseaudio" this causes problems with audio with every OpenAL app, incluiding this one, pulseaudio must be removed
Code: Select all
sudo apt-get remove pulseaudio
-Im experiecing a crash when loading Freespace 2 assets, it looks like FSO cant load some of the .wav files somehow. That is fixed by enabling "disable all sounds" in wxlauncher, but, thats not a real fix. But Wing Commander Saga work with sound.
-UPDATE-
Updated source code in order to successfully build on ARM64, tested on Ubuntu Desktop. Fullscreen is now working fine again, and S3TC support is enabled on driver.
-UPDATE-
Updated build instructions to my git fork to enable mod support on RPI. Wing Commander Saga can now be played, a full freeware game.

This is the classic Freespace 2 game from 1999, getting it to work is petty much stright forward, i had to compile a launcher and a fs2open binary.
I had to use a rather old version of the source code since the up to date version needs OpenGL 3.1 minimum. So i tested it working with 3.6.18, 3.7.0 and 3.7.2 versions, anything newer than that needs OpenGL 3.2.
So lets start with this guide.
Part 1 : Compiling & installing Wxlauncher
Open a terminal and run these commands
Code: Select all
sudo apt-get install build-essential libopenal-dev libwxgtk3.0-gtk3-dev git python3-markdown cmake libsdl2-dev
git clone https://github.com/scp-fs2open/wxLauncher
cd wx*
cmake ./
sudo make install
on 32 bit Raspberry OS you also need to install "python-markdown".
Part 2 : Compiling Fs2 Open bin
Now that you have the launcher up and running you need to compile FS2_Open.
Open a terminal and run these commands
Code: Select all
sudo apt-get install libopenal-dev libjansson-dev libjpeg-dev liblua5.1-dev libogg-dev libpng-dev libsdl-dev libtheora-dev libvorbis-dev automake libswscale-dev libavcodec-dev libavformat-dev
git clone https://github.com/Shivansps/fs2open.github.com
cd fs2open.github.com
./autogen.sh --enable-debug
sed -i -e 's/-mtune=generic -mfpmath=sse -msse -msse2/ /' ./mongoose/Makefile
sed -i -e 's/-mtune=generic -mfpmath=sse -msse -msse2/ /' ./code/Makefile
sed -i -e 's/-mtune=generic -mfpmath=sse -msse -msse2/ /' Makefile
make -j4
What you need to change is the same on every file, use a text editor and the search, seach for "-mtune" when you find -mtune, delete from that line "-mtune=generic -mfpmath=sse -msee -msse2". Those are x86 specific compiler flags that dont work on arm. These appear 2 times on each of the 3 files.
Part 3 : Making the fs2 root folder & configuring wxlauncher
1) Create a folder called "fs2_open" on the user folder (/home/pi/).
2) Copy the "fs2_open_3_7_2_DEBUG" executable file from the "fs2_open_3_7_2/code" folder on the source code you just compiled on this root folder.
3) You are ready to drop mods folder or the retail files in here. The retail files you are gona need are:
Code: Select all
root_fs2.vp
smarty_fs2.vp
sparky_fs2.vp
sparky_hi_fs2.vp
stu_fs2.vp
tango1_fs2.vp
tango2_fs2.vp
tango3_fs2.vp
warble_fs2.vp
4) launch wxlauncher from accessories menu.
5) Basic Settings-> Browse for Game Root folder -> select the "fs2_open" folder you just created.
6) Select "fs2_open_3_7_2_DEBUG" as"fs2 open executable".
7) Video Resolution: 1280x720 MAX, Depth: 16 or 32 bits, Texture Filter: Bilineal, Anisotropic: off, anti-aliasing:off
8) Playback device: Select vc4_hdmi if you are running off HDMI audio, dont enable EFX.
9) Go back to Welcome and save the profile.
-Note: Changing window resolution dosent work with the Freespace 2 demo files, it will always run in 800x600 in a window no matter what you set, this however works for the retail game files.
Here is a video guide and gameplay.
https://www.youtube.com/watch?v=TA6ew4aXpl4
Wing Commander Saga gameplay
https://www.youtube.com/watch?v=1Q5ByKGL5to