Yesterday I wanted to test my new RTX3070 GPU with a Linux driving free & open simulation game that I had already tried several times in the past, it’s Speed Dreams, recently updated to version 2.3 beta.
The game is also available as an Appimage but running it on Arch Linux gives me an error:
"/usr/lib/libcurl.so.4: undefined symbol: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation"
The Flatpak version I find in GNOME Software is not up-to-date enough and I’ve decided to build from source. The stable release is available for most Linux distributions (Ubuntu,Mint,Fedora ecc..).
Here you can find full Speed Dreams 2.3.0 Beta 1 changelog:
Building Speed Dreams 2.3.0 Beta 1 on Linux
Necessary dependencies
- Working OpenGL Driver and header files / associated libraries
- CMake https://cmake.org/download/
- SDL 2.0.x http://www.libsdl.org/
- PLIB 1.8.5 http://plib.sourceforge.net/
Linux: Be careful to compile plib with -fPIC on AMD64 if you run a 64 bit version. - OpenAL soft 1.18 https://www.openal-soft.org/openal-releases/
- libOGG 1.3.x http://downloads.xiph.org/releases/ogg/
- libVorbis 1.3.x http://downloads.xiph.org/releases/vorbis/
- ENet 1.3.x http://enet.bespin.org
Linux: Be careful to compile ENet with -fPIC on AMD64 if you run a 64 bit build. - Expat 2 https://github.com/libexpat/libexpat/releases
- libpng https://sourceforge.net/projects/libpng/files/
- zlib https://sourceforge.net/projects/libpng/files/zlib/
- libjpeg https://ijg.org/files
- cURL 7.x https://curl.se/download/ OR https://github.com/curl/curl/releases
- OpenSceneGraph https://github.com/openscenegraph/OpenSceneGraph/
- FreeSOLID 2.1.2 http://sourceforge.net/projects/freesolid
- FreeType 2 http://sourceforge.net/projects/freetype
- SDL2_mixer 2.0.4 https://www.libsdl.org/projects/SDL_mixer
In my Arch Linux installation I only needed these:
$ sudo pacman -S jdk-openjdk enet SDL2_mixer OpenSceneGraph
On Ubuntu/Debian/Mint you need to install:
$ sudo apt-get install build-essential cmake-curses-gui or cmake libopenscenegraph-3.4-dev freeglut3-dev libvorbis-dev libsdl2-dev libopenal-dev libenet-dev libexpat1-dev libjpeg-dev libplib-dev libpng-dev libcurl4-openssl-dev
Type of installation
It is possible to install the basic package or full version with extra circuits and cars that we will install in this tutorial.
Source download
Download the five installation archives
https://sourceforge.net/projects/speed-dreams/files/2.3.0/
speed-dreams-src-base-2.3.0-b1-r8589.tar.xz
speed-dreams-src-hq-cars-and-tracks-2.3.0-b1-r8589.tar.xz
speed-dreams-src-more-hq-cars-and-tracks-2.3.0-b1-r8589.tar.xz
speed-dreams-src-wip-cars-and-tracks-2.3.0-b1-r8589.tar.xz
speed-dreams-src-unmaintained-2.3.0-b1-r8589.tar.xz
Version numbers may differ when you read the article (that’s why I’m not posting direct links) but the procedure will always be the same.
Create a new $HOME/sd folder and copy the 5 archives you just downloaded into it.
Inside sd folder, create a 2.3 subfolder and unpack & merging the archives.
$ cd $HOME/sd
$ mkdir 2.3
$ cd 2.3
$ for file in ../*.xz; do tar xvfa $file; done
Source configuration
In 2.3 folder create the build directory
$ mkdir build
$ cd build
Execute source configuration
$ cmake -D OPTION_OFFICIAL_ONLY:BOOL=ON ..
Any errors and missing libraries will be shown.
Cannot find plib header files error
Even if you have plib installed you may still get “Cannot find plib header files” error caused by a known issue in locating this library affecting this installation.
Use the ccmake tool to manually enter the plib library path
$ ccmake -D OPTION_OFFICIAL_ONLY:BOOL=ON ..
in PLIB_INCLUDE_DIR enter /usr/include/plib path and repeat the configuration.
However, check your plib path installation.
Installing Speed Dreams
$ make
$ sudo make install
To run game give the command:
$ speed-dreams-2
Of course it is possible to create a desktop icon, with GNOME use the handy tool Alacarte to associate one with speed-dreams-2 command.
Other installations
It is also possible to perform customized installations or download the latest sources from SVN (trunk), instructions are in the INSTALL.txt file present in the base archive.
Leave a Reply