z okazji najnowszego StarWars Humble Bundle tworzę ten poradnik. Żadne z gier w tej wyprzedaży nie są na Steamie dostępne na Linuksa, ale dzięki temu, że swego czasu uwolniono kod Jedi Academy, to możemy dzisiaj korzystając z projektu OpenJK (nie mylić z OpenJDK) sami skompilować sobie grę i nie dość, że będziemy ją mieli natywnie, to jeszcze dodatkowo ze wszystkimi bajerami, które nie są dostępne dla użytkowników Windowsa.
Uwaga! Ten poradnik jest raczej dla Linuksowych zapaleńców. Zwykłym graczom będzie zapewne najłatwiej uruchomić grę przez wine. W tym poradniku proponuję zainstalować wszystko do katalogu Publiczny, ale jak wolicie inny to zastąpcie go dowolnym. Zastępujcie też USER swoją nazwą użytkownika.
Na początku nie ma wyjścia. Uruchamiamy windowsowego Steama przez wine i pobieramy Jedi Knight Academy (jakieś 1,2 GB).
Jak proces się skończy, to wyłączamy Steama (i zapominamy o wine) i kopiujemy potrzebne nam pliki gry (katalog GameData) do katalogu docelowego:
Kod: Zaznacz cały
cd ~/Publicznny
mkdir JediAcademy
cp -R ~/.wine/drive_c/Program Files\ \(x86\)/Steam/SteamApps/common/Jedi\ Academy/GameData JediAcademy
Kod: Zaznacz cały
sudo apt-get install build-essential cmake git libopenal-dev libpng12-dev libjpeg8-dev zlib1g-dev
Instalujemy zależności dla SDL:
Kod: Zaznacz cały
sudo apt-get install build-essential mercurial make cmake autoconf automake libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libibus-1.0-dev
Kod: Zaznacz cały
sudo apt-get install build-essential mercurial make cmake autoconf automake libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev libgl1-mesa-dev-lts-utopic libesd0-dev libdbus-1-dev libudev-dev libgles1-mesa-dev-lts-utopic libgles2-mesa-dev-lts-utopic libegl1-mesa-dev-lts-utopic libibus-1.0-dev
OK. Teraz przechodzimy do prawdziwej zabawy. Zacznijmy od optymalizacji kompilatora (niech gra działa najwydajniej, jak to możliwe!).
P.S. Poniższe opcje będą działać jedynie dla okna terminalu, w którym zostały użyte. Dla każdego innego okna trzeba je powtórzyć.
Kod: Zaznacz cały
export CFLAGS="-march=native -O2"
export CXXFLAGS="${CFLAGS}"
Kod: Zaznacz cały
cd ~/Publiczny
hg clone https://hg.libsdl.org/SDL SDL
cd SDL
mkdir build_dir
cd build_dir
../configure --prefix=/home/USER/Publiczny/SDL/build_libs
make
make install
Kod: Zaznacz cały
cd ~/Publiczny
git clone https://github.com/JACoders/OpenJK.git
cd OpenJK
mkdir build_dir
cd build_dir
cmake -DCMAKE_INSTALL_PREFIX=/home/USER/Publiczny/JediAcademy/GameData/ -DCMAKE_INCLUDE_PATH=/home/USER/Publiczny/SDL/build_libs/include/SDL2/ -DCMAKE_LIBRARY_PATH=/home/USER/Publiczny/SDL/build_libs/lib/ ..
make openjk_sp.x86_64
make install
Jeszcze taki drobiazg:
Kod: Zaznacz cały
mkdir -p /home/USER/.local/share/openjk/base/
ln -s /home/USER/Publiczny/JediAcademy/GameData/OpenJK/* /home/USER/.local/share/openjk/base/
Kod: Zaznacz cały
cd ~/Publiczny/JediAcademy/GameData
LD_LIBRARY_PATH=/home/USER/Publiczny/SDL/build_libs/lib/ ./openjk_sp.x86_64
Kod: Zaznacz cały
sudo apt-get install wget
Kod: Zaznacz cały
cd ~/Publiczny/JediAcademy/GameData
wget http://icons.iconarchive.com/icons/3xhumed/mega-games-pack-18/256/StarWars-Jedi-Knight-Academy-2-icon.png
echo "cd /home/USER/Publiczny/JediAcademy/GameData\nLD_LIBRARY_PATH=/home/derda/Publiczny/SDL/build_libs/lib/ ./openjk_sp.x86_64" > start.sh
chmod +x start.sh
Kod: Zaznacz cały
cd ~/Pulpit
echo "[Desktop Entry]/nName=OpenJK/nComment=Play Jedi Knights Academy/nExec=/home/USER/Publiczny/JediAcademy/GameData/start.sh/nIcon=/home/USER/Publiczny/JediAcademy/GameData/StarWars-Jedi-Knight-Academy-2-icon.png/nTerminal=false/nType=Application/nCategories=Game;" > openjk.dekstop
P.S. Poradnik napisałem trochę z pały, więc za wszelkie uwagi serdecznie dziękuję i je uwzględnię.
Pozdro.