Linux Support (rs)
Contents
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
Fedora/Debian/RedHat
Potrebna skladišta paketa su podrazumevano dostupna.
SuSE
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.