Linux Support (rs)

From AssaultWiki
Jump to: navigation, search
The Linux mascot.
Tux Fragger

Ubuntu, Kubuntu, Xubuntu, Debian

Sa pripremljenim .deb paketom

Snimite AssaulCube sa Ubuntu skladišta paketa. Pokrenite instalaciju i igra će biti snimljena na Vaš računar. Potom mоžete lako pokrenuti igru iz menija za programe.

Drajveri za grafičku kartu

Iako ostali delovi snimanja i podešavanja same igre ne predstavljaju problem za korisnika, potrebni grafički drajveri mogu da predstavljaju problem za snimanje i podešavanje. Ako već imate neku igru snimljenu na računaru i pokretanu u punoj brzini onda verovatno nećete morati ništa dodatno da podešavate za AssaultCube. Da biste proverili da li treba nešto da podešavate ili ne, možete pokrenuti igru iz terminala i potražiti liniju koja počinje sa Renderer:. Ako ta linija da u nastavku MESA kao drajver, moraćete malo da se pomučite da podešavate da biste omogućili da igra radi punim kapacitetom.

Postoji više načina da instalirate drajvere za grafičku kartu na Ubuntu sistemu, verovatno ćete pomoću ovih uputstava uspeti da izađete na kraj sa instalacijom (zavisno od tipa grafičke karte): instalacija drajvera za NVIDIA grafičke karte, instalacija drajvera za ATI grafičke karte i opšti način za instalaciju drajvera grafičkih karti.

Otklanjanje grešaka

Ako AssaultCube igra ne radi dobro ili imate problema da je pokrenete na Ubuntu sistemu, proverite sledeće:

  • da je Compiz i bilo koji drugi program koji obezbeđuje dodatne vizulne efekte isključen dok je uključena igra.
  • da imate potreban drajver za grafičku karticu (pročitaj sekciju iznad).
  • da računar na kome se pokreće igra zadovoljava minimalne zahteve igre.

Ostale distribucije

Prevođenje AssaultCube igre

Ako je potrebno da prevedete neki deo koda za vaš operativni sistem, pratite sledeće korake:

  • Otvorite terminal
  • Uverite se da su sve potrebne biblioteke snimljene i dostupne – to možete proveriti pokretanjem sledeće komande:
sudo apt-get install build-essential libsdl1.2debian libsdl1.2debian-pulseaudio libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev libopenal1 libopenal-dev libvorbis-dev

Ova komanda će da snimi sve potrebne pakete ako one već nisu snimljeni. Odaberite Yes ako progam bude pitao da li da snimi odabrane pakete. Nakon toga sveje spremno za prevođenje, pređite u direktorijum igre

cd ~/AssaultCube/source/src

i pozovite prevođenje igre komandama:

make install
make clean

Čestitamo, AssaultCube igra bi nakon ovih komandi trebao da je prevedena i da može da se pokrene. Možete je jednostavno pokrenuti pokretanjem datoteke assaultcube.sh.

Prevođenje OpenAL 1.0

Ako vaša distribucija ne pruža način za snimanje paketa libopenal1, moraćete da je prevedete sami. Prvo pokupite najnoviji izvorni kod sa adrese: http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx Potom snimite program cmake (sudo apt-get install cmake) i ako već nemate snimljen build-essential paket snimite i njega (sudo apt-get install build-essential). Raspakujte openal arhivu za izvornim kodom, pređite u raspakovani direktorijum i pokrenite komandu:

cmake .

Potom ćete morati da uredite tekstualnu datoteku CMakeCache.txt gde je potrebno pronaći ove dve linije:

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

i izmeniti /usr/local u /usr zatim pokrenuti komande

make
sudo make install

Možete proveriti da li je instalacija protekla dobro komandom:

ls -l /usr/lib/libopenal.so.1*

gde bi trebalo da dobijete listu od nekoliko datoteka.

Biblioteke

AssaultCube je pisan u jeziku C++ i koristi OpenGL, FMOD i SDL uz neke dodatne biblioteke. U suštini, Linux i mnogi sistemi slični Unix sistemu koriste sistem paketa. Vaši programi nisu nezavisni, već je za njihov rad potreban određen broj paketa (biblioteka ili programa) koje su unapred snimljeni na vaš računar. Ovakvom organizacijom se štedi na prostoru i olakšava se ažuriranje. Mi ćemo ovde da snimimo dodatne pakete, pre svih SDL biblioteke (bez kojih igra ne može da radi).

Terminal Method

Postoji više načina da se instaliraju paketi, prvo ćemo pogledati metod kojim se iz terminala instaliraju paketi. Pre toga ćemo ažurirati sistem, komandom za ažurirnje, a potom ćemo drugom komandom dodati neophodne pakete. Pod pretpostavkom da koristite sistem baziran na Debian distribuciji, sledeće komande će raditi. Ako koristite neku drugu distribuciju potrebno je koristiti komande te distribicije, emerge (Gentoo), yast(2) (SuSE), yum (RHEL) ili neke druge: Komanda za ažuriranje sistema:

Komanda za ažuriranje sistema:
sudo apt-get update

Komanda za snimanje paketa sa bibliotekama:

Biblioteka Komanda
SDL sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-mixer1.2
SDL-dev (only needed for compiling) sudo apt-get install libsdl1.2debian-dev libsdl-image1.2-dev libsdl-mixer1.2-dev

Možda je potrebno da omogućite još par dodatnih skladišta paketa da biste mogli da snimite sve gore navedene pakete. Evo kako to da uradite Ubuntu Skladišta.

Ubuntu

Ubuntu Skladišta

Fedora/Debian/RedHat

Potrebna skladišta paketa su podrazumevano dostupna.

SuSE

OpenSuSE Build Service

Instalacija sa menadžerom paketa

Drugi način da se instalira SDL je da koristite (ako to vaša distribucija sadrži) menažer paketa za instalaciju paketa (na primer Ubuntu ima Synaptic, Fedora PackageKit itd.). Instalacija paketa sa menadžerom paketa je naravno jednostavnija, samo je potrebno pretražiti listu i obeležiti pakete koje želite da instalirate. Menadžer paketa će sam da se pobrine da instalira sve dodatne pakete koji su neophodni da bi paketi koje ste vi odabrali radili. Da biste pokrenuli Synaptic na Ubuntu distribuciji ili na nekoj distribuciji sličnoj Debian distribuciji (koja koristi GNOME kao grafičko okruženje), odaberite meni 'System->Administration', i kliknite na Synaptic Package Manager. Program će od zatražiti da unesete root šifru (ili šifru administratora, na novijim sistemima), potom će paket biti instaliran. Da biste instalirali paket koji je neophodan, kliknite na Search (Pretraži) i unesite u polje za pretragu sdl, potom pokrenite pretragu. Program će da traži i prikazaće sve pakete koji imaju sdl u svom imenu. Odaberite sledeće pakete:

Biblioteka Paketi koje treba odabrati
SDL libsdl-image1.2, libsdl-mixer1.2, libsdl1.2debian
SDL-dev (needed for compiling only) libsdl1.2debian-dev libsdl-image1.2-dev libsdl-mixer1.2-dev

Nakon što ste štiklirali male kvadratiče levo od imena paketa, kliknite na dugme Apply. Synaptic će prozor sa listom svih potrebih pakete koji moraju da se instaliraju. Pritisnite Apply ponovo. Potpuno je svejedno koji način instalacije odaberete, oba imaju za cilj snimanje potrebnih paketa na računar (Synaptic pruža grafički prikaz, dok su apt-get i apitude mnogo brži za korišćenje sa par linija koje je potrebno uneti).

Sada su instalirani pakete, sada možemo da pogledamo poznate probleme koji mogu da se jave.

Otklanjanje grešaka

Ako AssaultCube igra ne radi dobro ili imate problema da je pokrenete na vašoj distribuciji, probajte da instalirate sve SDL pakete i druge zahtevane. Možda imate već instalirane neke pakete, ali bi trebalo da instalirate i sve druge kako bi bilo kompletnije, što može da pomogne AC da proradi. Potom, pređite u direktorijum src unutar direktorijum igre. Potom pokrenite sledeće komande (za prvu komandu koristiti menadžer paketa na vašoj distribuciji)

$ yum install gcc-c++ SDL* zlib zlib-devel openal openal-devel
$ ln -s ../include/AL AL
$ ln -s ../include/GL GL
$ make install

Dodatne Linux napomene

Očigledno, igra će raditi sa samo paketima koje smo instalirali, ali neki Linux korisnici su primetili da postoji dosta drugih dodatnih stvari koje treba uraditi da bi igra dobro radila.

Problem zamrzavanja

U ovom delu podrazumevaćemo da je SDL instalirano dobro, i da igra može da se pokrene iz treminala ( '$sh assaultcube.sh' ). Problem o kome će ovde biti reči je odnosi se na zamrazavanje i kočenje u igri. Prvi put kada sam pokrenu igru na Ubuntu verziji Hardy Heron, instalirao sam biblioteke I pokrenuo igru, ali umesto tečne igre sa mojih 4 GB RAM, imao sam samo 126 MB upošljeno... Razlog je što je Ubuntu koristio MESA drajvere. Ovi drajveri su zadavali dosta problema Ubuntu igračima. Sam drajver MESA DRI (Direct Rendering Infrastructure) nije baš prikladan za igre (možda čak ni za programe koji koriste OpenGL). Kako da znam da li koristim MESA drajvere?

Komanda u terminalu
glxgears -info

Ova komanda će prikazati prozor u kome će se nalaziti dva zupčanika koji se brzo okreću. Na osnovu teksta koji ispiše program jasno ćete moći da odredite da li vaš sistem koristi MESA drajvere. Ako je odgovor potvrdan, moraćete da instalirate nove drajvere.

ATI i nVidia grafičke karte

Da bismo promenili drajvere za ATI i nVidia grafičke karte, koristićemo alat pisan u jeziku Python od strane Italijana, Alberto Milone. Njegov alat, pod imenom Envy, je veoma koristan, jer nam pruža mogućnost da promenimo drajvere ATI ili NVIDIA graficke karte u grafičkom okruženju. Da bi instalirali program potrebno je da unesete sledeću komandu u terminal:

Komande u terminalu
sudo apt-get remove envyng
sudo rm -R /usr/share/envy
sudo apt-get install envyng-gtk

Prve dve komande će osigurati da ne postoji neka verzija Envy programa instalirana (možete je preskočiti ako ste sigurni da ovaj alat nikad nije bio instaliran na računaru). Sada kada je EnvyNG instaliran na Ubuntu sistemu, možemo da instaliramo drajvere! Zapravo samo jedan drajver je potreban da se instalira, jedan koji preporučuje ATI, ili najnoviji od firme nVidia. Dakle sada pokrenite EnvyNG iz menija 'Applications->System tools', potom kliknite na EnvyNG (potom unesite šifru administratora). Odaberite iz levog menije grafičku kartu koju koristite i pritisnite dugme da instalirate ručno drajver. Click on the left menu the graphical card you use (ATI or nVidia), and then install MANUALLY the driver (za nVidia drajver, može se desiti da drajver ne radi ako ste instalirali sve dodatne drajvere, morate instalirati samo najnovije potrebne drajvere. Ako i dalje imate problem sa kočenjem i zamrzavanje preporučuje se da koristite zvanični instalacijoni program firme nVidia. Ako je vaša verzija kernela suviše nova moguće je da će drajver kočiti ili prosto neće radit). Pogledajte sliku ekrana ovde.

Nakon instalacije drajvera, vaša tastatura će biti postavljena na: US raspored. Ako želite da koristite AZERTY raspored umesto QWERTY rasporeda, morate ručno da izmenite datoteku xorg.conf sledećom komandom:

Komanda u terminalu
gksudo gedit /etc/X11/xorg.conf

Kada otvorite datoteku xorg.conf, izmenite liniju koja sadrži odeljak "InputDevice" Odeljak je dat: Pre izmene:

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"

Nakon izmene: (fr)

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "fr" # fr ==> FRENCH

Za nemački raspored tastatera na tastaturi podešavanja teba da budu nalik:

Nakon izemene: (de)

Section "InputDevice"
    Identifier     "Generic Keyboard"
    Driver         "kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "de"
    Option         "XkbOptions" "lv3:ralt_switch"
EndSection

Ponovo pokrenite računar: videćete nVidia početni ekran pre nego što budete videli uvodni Ubuntu ekran za prijavu korisnika.

Efekti grafičkog okruženja

Instalirali ste biblioteke, ažurirali ste drajvere, ipak igra još uvek nije sasvim tečna. Kada pokrećete igru uvek dolaz do prelaza igre sa punog ekrana na prozorski režim. Ovaj problem je vezan za Compiz i njegov način rada. Iako je sve sada dobro, deo resursa grafičke karte i i dalje koristi grafičko okruženje Ubuntu sistema, pa može doći do kočenja i zamrzavanja slike. Jedini način da se to ublaži je da se onemoguće svi dodatni efekti grafičkogokruženja (kao što su Compiz i Beryl).

Grafičko okruženje i AssaultCube

Dok koristite grafičko okruženje o opštem slučaju želite ubranje miša i zaštitu ekran podešenu po svojim potrebama, ali dok igrate želeli biste da su oni isključeni. Da bi olakšali život napravljena je skripta koja ovo omogućava (zaštita ekrana nije generalno problem, ali nekima je bila, dok ubrzavanje miša predstavlja problem, i uglavnom je potcenjena od strane početnika).

Skripta koja sledi se može postaviti u /usr/local/bin/ direktorijum pod imenom ac, skripta pretpostavlja da ja igra snimljena u direktorijum /opt/AC_v1.01. Ako napravite prečicu pod imenom svnac ova skripta će pretpostavljati da je igra snimljena u /usr/local/src/AC/trunk/ac folder ... vi možete da podesite ovu skriptu prema vašim potrebama..

#!/bin/sh
# symlink svnac will call SVN-AC instead of AC
APPDIR=/opt/AC_v1.01
GUI=$(echo $0 | grep -c svnac)
if [ "$GUI" -eq "1" ]
then
	APPDIR=/usr/local/src/AC/trunk/ac/
fi
cd $APPDIR
xset m 0 0
xset s off
./assaultcube.sh $*
xset m default
xset s default

Interesantni delovi skripte su oni koji sadrže linije sa xset: prva linija isključuje problem miša, a druga problem paljenja zaštite ekrana.