Pinebookpro gaming part 3

This time we will be doing a pure stock Debian 9 Stretch aarch64 that the PinebookPro ships with. I always keep the stock system installed on the eMMC and use other systems off the microSD (Manjaro, NetBSD) I have kept this because Debian 9 ships with a 32bit userland and 64bit kernel, and some games/programs are just not ready yet for 64bit space (which Manjaro aarch64 is – the code builds there but crashes and I need to figure out why )

This time we will build a native Linux 32-bit ARM launcher for Half-Life 1 called xash3d and play Half-Life and some of the mods – namely the legendary Counter Strike 1.3 and 1.6

There is a detailed howto on the project’s Github page already (, but we will just go through the steps here

You will need the standard Debian development tools/SDL2-dev/cmake

# apt-get install build-essential cmake libsdl2-dev libsdl1.2-dev libsdl2-mixer-dev ..etc

Lets create a working directory for the sources and call it SRC and store the build files there

mkdir ~/SRC
cd ~/SRC
git clone --recursive
cd xash3d
git clone hlsdk/
cd engine
git clone
cd ..
mkdir -p build
cd build
cmake -DHL_SDK_PATH=../hlsdk/ -DXASH_VGUI=no -DXASH_NANOGL=yes -DXASH_GLES=yes ..
make -j4

Should say [100%] Built target xash

We have compiled the xash engine, lets get the game done now

cd ~/SRC
git clone
cd hlsdk-xash3d
mkdir build
cd build
cmake ../
make -j4

Should say [100%] Built target server

Now lets prepare the actual Game data directory and copy over the compiled arm32 binaries

mkdir ~/HalfLife
cd ~/HalfLife
cp ~/SRC/xash3d/build/engine/ .
cp ~/SRC/xash3d/build/game_launch/xash3d .
cp ~/SRC/xash3d/build/mainui/ .
cp ~/SRC/hlsdk-xash3d/build/cl_dll/ .
cp ~/SRC/hlsdk-xash3d/build/dlls/ .

Now we need to prepare the actual Game Data and move them from an installed Windows or Wine environment.
You can download the Half Life 1 ISO from and install it in Wine on x86_64 Linux or Windows in Qemu :)

Once you install this under Qemu Windows or Linux x86_64 under Wine you need to copy over the valve directory as it is and place it to the PinebookPro ~/HalfLife directory

cd ~/HalfLife

Launch the game with the following command (save it as a launcher script) 

LD_LIBRARY_PATH=. ./xash3d -dev 5 

The game runs fine and multiplayer works well too.

For MODs to play I have chosen  Counter Strike 1.3 (1.3 is better supported)  and 1.6

The approach is the same, install the CounterStrike on Windows Qemu or under Wine and copy over the scstrike directory to ~/HalfLife on the Pinebookpro

cd ~/HalfLife

Launch the game with the following command (save it as a launcher script)

LD_LIBRARY_PATH=. ./xash3d -dev 5 -game cstrike

As of now the Counter Strike 1.6 does not work well, you can run around the maps as Gordon Freeman, With 1.3 its better, one can connect to the public servers but cannot choose the team (CS or T) .. need to investigate that ..

There is an older CS16 client source repo before it went close-sourced here 

git clone -b v1.32

Perhaps this could be compiled  natively on the Pinebookpro aarch64 Debian9 so that Counter Strike could be fully playable on this platform.

Reference material :



About astr0baby

Please run Adblock or similar... we have been told to do so since Carl Sagan wrote the Contact .
This entry was posted in Uncategorized. Bookmark the permalink.

1 Response to Pinebookpro gaming part 3

  1. looks like a great little box! Oddly enough Im posting from my ASUS NovaGo! Yay ARM!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.