Igranje na Linux platformi

Windows je dominantna igračka platforma na personalnim računarima već petnaestak godina, i to s razlogom. Microsoft je uložio dosta truda i novca u razvoj programskog interfejsa DirectX, koji je omogućio igre sa grafikom i zvukom na nivou namenskih sistema poput igračkih konzola. Direct3D kao deo DirectX-a postao je de fakto standard na osnovu koga se projektuju novije generacije grafičkih kartica, a sve ovo je za posledicu imalo da je najveći broj video igara za PC pisan samo za Windows. To ipak ne znači da se na drugim operativnim sistemima ne može igrati, a videćemo i kako

Ivan Todorović Direct3D nije jedini interfejs putem koga se može pristupiti akceleratorskim funkcijama grafičke kartice. Drugi poznati interfejs je OpenGL, naročito popularan u profesionalnim aplikacijama, ali nije redak ni u igrama (recimo ceo serijal Quake koristi OpenGL za grafiku, kao i ranije Biowareove RPG igre). OpenGL nije striktno vezan ni za jednu platformu, tako da postoji i na Unixolikim operativnim sistemima poput Linuxa. Grafika naravno nije jedina komponenta video igara – za pristup zvučnom hardveru mogu se koristiti ALSA (na Linuxu) ili multiplatformski OpenAL interfejs, pandan OpenGL-u, što znači da uslovi za pravljenje igara za ostale operativne sisteme i te kako postoje. Problem je naravno u isplativosti ovakvih poduhvata, pošto treba uložiti dodatno vreme, trud i novac za razvoj i testiranje na manje popularnim platformama. Fokusiranje na razvoj čiste DirectX aplikacije samo za Windows je svakako jednostavnije i u najvećem broju slučajeva isplativije.  

 
Firma Loki Software bila je poznata pre desetak godina po portovanju brojnih Windows klasika na Linux, pa se tako nativno mogu igrati Heroji 3, Quake 3, Alpha Centauri i drugi naslovi iz zlatnog doba PC gejminga. Ne treba zaboraviti ni brojne open-source klonove popularnih komercijalnih igara, pa tako imamo FreeCiv (napravljen po ugledu na Civilizaciju), FreeCol (besplatni klon Kolonizacije), OpenTTD (legendarni Transport Tycoon Deluxe), Frozen Bubble (arkadni hit Puzzle Bubble) i druge. Takođe, nakon što su izvorni kôdovi igara iz serijala Quake pušteni u javnost, pojavilo se mnoštvo besplatnih modifikacija visokog kvaliteta, među kojima je i odlični multiplejer deathmatch Warsow. Što se tiče igara novijeg datuma, mahom se radi o delima manjih timova nezavisne scene (tzv. „indie“) čije su igre daleko od mejnstrim žanrova, pa tako mogu biti interesantne i korisnicima „alternativnih“ operativnih sistema. Između ostalih, za Linux nativno postoje serijal horor igara Penumbra, logička zavrzlama World of Goo i veoma popularna multiplejer igra Heroes of Newerth.
 

 
Kako instalirati i igrati ovakve igre na Linuxu? U slučaju besplatnih naslova izbačenih pod GPL licencom (kao što su spomenuti FreeCiv i Frozen Bubble), njih ćete najćešće naći direktno u paket menadžeru distribucije koju koristite, pa se instalacija svodi na jednostavno upisivanje imena u pretragu i kliktanja na „Install“, odnosno isto kao što biste instalirali i bilo koji drugi program. Kod komercijalnih portova dobijate celokupan instalacioni disk (ako negde uspete da ga pronađete), pa se instalacija svodi na ubacivanje ili montiranje diska i pokretanje glavnog instalacionog programa. Pojedini naslovi poput Quake 3/4 i Unreal Tournament 2004 dolaze samo sa instalerima za Linux koji se mogu skinuti sa Interneta, dok vam je za instalaciju svejedno potrebna i prodajna verzija diska koja sadrži instalaciju za Windows. Linux instaler će odatle povući potrebne data fajlove koji su potrebni za igru, nevezano za platformu.
 

 
Ono što nikako ne treba zaboraviti je da, ukoliko igra koristi hardversku akceleraciju grafičke kartice, obavezno morate imati instaliran odgovarajući drajver i uključenu akceleraciju. Postojanje akceleracije ćete najlakše proveriti upisivanjem komande „glxinfo | grep rendering“ (bez navodnika) u komandni terminal, a ako dobijete izlaz „Direct rendering: Yes“, spremni ste za igranje. Ako je odgovor negativan, morate instalirati drajver za grafičku karticu. Prvi način (koji ne preporučujemo) je skidanje drajvera sa sajta proizvođača vašeg čipa (AMD, Nvidia ili Intel), dok je drugi način direktno iz paket menadžera, s tim što prethodno u podešavanjima morate omogućiti korišćenje vlasničkih paketa (na Ubuntuu i Mintu) ili ubaciti dodatni repozitorijum koji sadrži ovakve drajvere (kao što je RPMForge na Red Hatu, Fedori i derivatima). Ubuntu i Mint trenutno pružaju najjedinostavniju instalaciju grafičkog drajvera, tako da njih i preporučujemo kao distribucije za opštu upotrebu (uključujući igranje).
 

 
Iako gejming scena (kakva-takva) na Linuxu ipak postoji, ona očigledno nije ni približnog obima kao što je ona na Windowsu. To ne znači da su igrači na Linuxu u (velikom) hendikepu, jer postoji način da se Windows igre pokreću i na ovom operativnom sistemu uz vrlo visok stepen uspešnosti. Na Linuxu već više od petnaest godina postoji softver pod imenom Wine (akronim od Wine Is Not an Emulator), čija je uloga pokretanje Windows programa pod ovim sistemom. Kao što mu ime kaže, Wine nije emulator. Emulacija podrazumeva izvršavanje programa pisanih za jednu hardversku platformu na nekoj drugoj, čime se mašinske instrukcije jednog računara prevode u instrukcije drugog. Ovde to nije slučaj – Windows programi su pisani za istu arhitekturu kao i Linux x86/x64 programi, pa je “samo” potrebno premostiti razlike između softverskih slojeva koji razlikuju Windows od Linux programa.
 

 
Recimo, Windows programi najčešće kreiraju svoje prozore pozivom funkcije CreateWindowEx, pa će Wine ovu funkciju adaptirati u odgovarajuće pozive koji će napraviti prozor pod sistemom X Windows na Linuxu. Isto važi i za igre – kako DirectX ne postoji na Linuxu, svi Direct3D pozivi biće adaptirani u OpenGL, DirectSound u ALSA interfejs i slično. Naravno, pokretanje OpenGL igara za Windows je još lakše (po Wine) jer ima manje stvari koje treba premostiti. Iako sve ovo zvuči poprilično komplikovano za izvedbu, Wine je napravio ogromne korake poslednjih godina, pa veliki broj Windows igara na Linuxu radi bez ikakvih problema. Instaliranje i konfiguracija Wine se instalira na vrlo jednostavan način. Dovoljno je otvoriti paket menadžer (recimo Synaptic na Ubuntuu i Mintu), uneti „wine“ u polje za pretragu i štiklirati odgovarajući paket. Nakon što je Wine instaliran, treba pokrenuti konfiguracionu alatku iz prečice u menijima, ili direktno komandom „winecfg“ iz terminala. Ovde se može podesiti verzija operativnog sistema koji se imitira (preporučujemo Windows XP), mount tačke diskova (folderi u koje će biti „montirani“ diskovi C: i D: ) i slično. Ovo je bitno pošto Wine održava sopstvenu Registry bazu i hijerarhiju foldera, jer se na taj način obezbeđuje neometano izvršavanje Windows aplikacija (odnosno stvaraju se uslovi da one „misle“ da se izvršavaju u autentičnom Windows okruženju).
 

 
Prva stvar koju treba izbeći je direktno pokretanje već instaliranih igara sa Windows particija. Istini za volju, postoje igre koje se bez problema mogu „šetati“ s računara na računar i koje će po prvom pokretanju napraviti sve potrebne Registry ključeve (recimo World of Warcraft), ali je najveći broj igara ipak potrebno instalirati u Wine-u. Tako da ćete dobiti ispravno konfigurisanu igru i uredno postavljene prečice u menijima. Verovatno ste primetili da sve veći broj igara traži razne „zavisnosti“ da bi se uopšte pokrenule. Nije retkost da vam je potreban najnoviji DirectX, a uz to morate imati instalirane nove Visual C++ Runtime biblioteke i PhysX, dok neke izričito traže da morate imati odgovarajuću verziju Internet Explorera i .NET frameworka. Kako bi prevazišli ovu gnjavažu, autori sa sajta winetricks.org napravili su skriptu kojom se sa Interneta jednom komandom mogu “povući” odgovarajući paketi. Skriptu Winetricks verovatno možete instalirati direktno iz paket menadžera vaše distribucije, a ako ne, onda je pronađite na pomenutom sajtu gde se nalazi i uputstvo za instalaciju.
 

 
Posle toga, preko Winetricks-a možete ubacivati potrebne komponente jednom komandom. Recimo, ako igra zahteva Visual C++ 2008 Runtime biblioteku, XviD kodek, Internet Explorer, Windows Media Player, DirectX, PhysX i osnovne Windows fontove, komanda “winetricks vcrun2008 xvid ie6 wm9codecs directx9 d3dx9 physx corefonts” će povući pomenute pakete i instalirati ih (naravno, prethodno morate imati instaliran i konfigurisan Wine). Alternativno, možete pozvati komandu winetricks bez parametara nakon čega će biti pokušana instalacija apsolutno svih podržanih paketa, ali ovo nije preporučljivo zbog potencijalnih kolizija koje mogu nastati.

Kada ste konfigurisali Wine i instalirali sve preduslovne pakete putem Winetricks-a, najzad je trenutak i za pokretanje same igre. To možete učiniti direktno putem prečice u meniju koju je Wine napravio tokom instalacije same igre.

Iako u teoriji sve deluje vrlo optimistično, nije retkost da ćete sa pojedinim igrama imati manjih ili većih problema. Neki naslovi rade samo u prozoru ali ne i u fullscreen režimu, neki krahiraju kada se uključi ili isključi određena grafička opcija, i slično. Da ne biste potrošili polovinu dana na pronalaženje rešenja na Internetu, u okviru projekta Wine postoji baza testiranih aplikacija zajedno sa njihovim statusom, i dostupna je na adresi appdb.winehq.org.

 

 

Već na početnoj stranici možete videti da su najispitivanije aplikacije upravo igre, jer su one najinteresantnije većini kućnih korisnika (profesionalci koji koriste Windows-only aplikacije poput Photoshopa i AutoCAD-a će ionako izbrojati još nekoliko stotina evra za Windows, pošto ovako glomazne i složene aplikacije mogu pokazivati razne „bubice“ pod Wine-om).

 

 

Za svaki program, odnosno igru, možete videti status pod najnovijom verzijom Wine-a, zatim način na koji je treba pravilno instalirati, kao i listu šta sve radi a šta ne radi i kakve korake treba preduzeti da bi se problemi prevazišli. Iako na prvi pogled sve može delovati kao beznadežno gubljenje vremena, u praksi je situacija daleko pozitivnija – ogroman broj igara je savršeno igriv, a ako i postoji neki problem u podrazumevanom načinu pokretanja, rešenje nije komplikovano i dovoljno je ispratiti navedene instrukcije.

 

 

Za uspešno igranje igara na Linuxu, bez obzira da li se radi o nativnim naslovima ili Windows igrama preko Wine-a, ne treba zaboraviti glavni preduslov koji smo spomenuli, a to je ispravno instaliran drajver za grafičku karticu. Generalno, ako vam treba Linux distribucija opšte upotrebe na kojoj planirate i da se igrate, najbolje je ići na „mainstream“ varijante kao što su Ubuntu i Mint. Baš zato što su najčešće korišćene, „baza znanja“ na Internetu im je najveća i najlakše ćete pronaći rešenje vašeg problema. Neke druge manje prijateljski nastrojene distribucije jesu interesantne za učenje samog Linuxa, ali takođe i rešavanje eventualnih problema može biti daleko napornije.

Toliko od nas – za sada. Srećno igranje!

 

Ostani u toku

Prijavi se na newsletter listu i jednom nedeljno cemo ti poslati email sa najnovijim testovima i vestima iz sveta tehnologije.

Hvala!

Uspešno ste se prijavili na na naš newsletter! Proverite vaš email nalog kako bi potvrdili prijavu.

Možda vam se svidi