Quantcast
Channel: Astr0baby's not so random thoughts _____ rand() % 100;
Viewing all articles
Browse latest Browse all 183

Pinebookpro gaming part 3

$
0
0

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 (https://github.com/FWGS/xash3d/wiki/Building-and-running), 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 https://github.com/FWGS/xash3d
cd xash3d
git clone https://github.com/ValveSoftware/halflife hlsdk/
cd engine
git clone https://github.com/FWGS/nanogl
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 https://github.com/FWGS/hlsdk-xash3d
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/libxash.so .
cp ~/SRC/xash3d/build/game_launch/xash3d .
cp ~/SRC/xash3d/build/mainui/libxashmenu.so .
cp ~/SRC/hlsdk-xash3d/build/cl_dll/client.so .
cp ~/SRC/hlsdk-xash3d/build/dlls/hl.so .

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 Archive.org and install it in Wine on x86_64 Linux or Windows in Qemu :)

https://archive.org/details/HalfLifeGameOfTheYearEdition

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

https://www.moddb.com/mods/counter-strike/downloads/counter-strike-13

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

https://github.com/FWGS/cs16-client/tree/v1.32 

git clone -b v1.32 https://github.com/FWGS/cs16-client

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

Reference material : https://www.reddit.com/r/RetroPie/comments/8zydae/guide_running_halflife_and_possibly_other_goldsrc/

 


Viewing all articles
Browse latest Browse all 183

Trending Articles