LAKI PINGVINI<>
122006<><>

XGL i AIGLX 3D grafička okruženja

Nova dimenzija desktopa

Spremite se – više ništa nije kao što je bilo

Ideja o grafičkom okruženju koje će iskorišćavati resurse grafičkog podsistema nije nova. Mac OS X već izvesno vreme koristi Quartz Extreme koji za rendering elemenata okruženja koristi OpenGL, a sve to uz upotrebu direktne 3D akceleracije grafičkog podsistema. Sunov projekat Looking Glass predstavlja drugu koncepciju koja bi trebalo da dvodimenzionalni desktop proširi za još jednu dimenziju, takođe na račun grafičkog hardvera. I Windows Vista se sa Aerom grupiše u skupinu sistema koji imaju sličnu tehnologiju, ovoga puta zasnovanu na DirectX-u.

Kada je GNU/Linux u pitanju, stvari su tekle malo drugačije. Looking Glass postoji i na Linuxu, sa Live diskom, ali je testiranje ove skalamerije na aktuelnoj konfiguraciji sa podržanom grafičkom karticom (isto tako svežeg datuma) pokazalo da okruženje ima performanse nalik najnovijoj video-igri instaliranoj na sistem sa prvom generacijom GeForce kartica. Prve vesti o projektima koji su izrasli u ono što bi danas zaista moglo da se koristi pojavile su se relativno davno, dok su pre izvesnog vremena na Internet procureli video-snimci GLX desktopa u razvoju. Niko se tada nije nadao da ćemo uskoro osetiti nešto slično kod kuće, a još manje na hardveru koji smo imali tada, a koji mnogi imaju i sada.

No, na svu sreću, projekti su dobro iskoordinirani pa su prve test verzije počele da se pojavljuju na Internetu izazivajući lavine oduševljenja korisnika GNU/Linuxa. Ipak, dalje usavršavanje je bilo neophodno pošto su okruženja sa uključenim efektima bila prilično nestabilna. Druga polovina godine na izmaku bila je presudna jer su tek tada projekti postali dovoljno stabilni i upotrebljivi za svakodnevni rad. Kažemo projekti jer su se paralelno razvila dva koja pružaju slične mogućnosti uz neke funkcionalne razlike.

XGL

XGL predstavlja X server koji ima mogućnost korišćenja sposobnosti grafičkih čipova pomoću njihove podrške za OpenGL s kojim je povezan pomoću glitz biblioteke. Na taj način XGL podržava hardversku akceleraciju koju grafičke karte pružaju, na osnovu koje omogućava razne grafičke efekte i podršku za kompozitne menadžere prozora.

Iako je XGL slobodan softver, pre objavljivanja izvornog kôda dugo je razvijan iza zatvorenih vrata pa zajednica nije imala previše uticaja na njegovu koncepciju i razvoj. Projekat je pokrenuo David Reveman, programer koji radi za Novell, a prvo izdanje je objavljeno 2. januara 2006. godine. XGL je prvi put prikazao Novell, a prva poznatija distribucija koja je implementirala ovaj softver jeste, naravno, openSUSE.

Dakle, XGL je poseban X server koji zahteva dobre OpenGL performanse. Ono što je u slučaju ovog servera bitno naglasiti jeste da će vlasnici ATI i Nvidia kartica morati da instaliraju vlasničke drajvere koji omogućavaju dovoljno dobre performanse za funkcionisanje XGL-a. Pošto obe pomenute kompanije ne pokazuju tendencije za otvaranjem njihovih drajvera, budućnost XGL-a je nažalost vezana za vlasničke drajvere kada su pomenute kartice u pitanju.

Accelerated Indirect GLX – AIGLX

Drugi projekat koji je postao operativan nešto kasnije od XGL-a jeste AIGLX koji su razvile fondacija X.org i zajednica Fedora. Od verzije 7.1 X.org servera AIGLX je postao deo njega, što mu pre svega dozvoljava njegova koncepcija.

Za razliku od XGL-a koji predstavlja zaseban X server, AIGLX je nadogradnja X.org servera što mu je omogućilo, kao što je pomenuto, da postane deo njega. Drugim rečima, AIGLX omogućava indirektni GLX (biblioteka koja povezuje OpenGL i X server) rendering X serveru pomoću hardverske akceleracije grafičkog podsistema. Na taj način X dobija podršku za širok spektar efekata i podršku za kompozitne window menadžere.

AIGLX je „indirect” zbog toga što AIGLX šalje komande X serveru koji ih prosleđuje grafičkoj karti. XGL je pak „direct” jer sam server direktno šalje informacije grafičkom čipu. Za razliku od XGL-a za koji je potrebno instalirati vlasničke drajvere, AIGLX koristi DRI (Direct Rendering Interface) drajvere pa sve podržane kartice (na kojima je testiranje AIGLX-a dalo pozitivne rezultate), osim nVidijinih, funkcionišu na potpuno slobodnim drajverima.

Iz teorije u praksu

Tekstualno opisivanje izrazito vizuelne materije je jako teško što je verovatno uzrok nastanka izreke da jedna slika govori više od hiljadu reči. Tome, na sreću, obično možemo da doskočimo i objavimo i neke ilustracije uz članak. Nažalost, ovoga puta ni to nije dovoljno. U ovoj priči se slobodno može reći da jedan video-zapis govori više od hiljadu slika, ali ćemo se potruditi da kombinacijom reči i slika dočaramo efekte koje XGL i AIGLX omogućavaju. Dakle, da probamo.

Efekti poput senki prozora i providnosti bili su dostupni i do sada, pomoću sposobnosti okruženja ili X servera. No, AIGLX i XGL su doneli potpuno hardverski opskrbljene senke i providnost za sve elemente okruženja, dok su njihovo korišćenje i manipulacija nikad lakši. Pomoću skroll točkića je moguće menjati stepen providnosti celokupnog prozora, što korisniku omogućava da elegantno baci pogled na sadržaj radne površine ispod aktivnog prozora. Prikazivanje sadržaja prozora se u sadržajnom smislu ne menja pa će dešavanja unutar njega nastaviti da se prikazuju bilo koji stepen providnosti da je zadat. Dakle, sve se dešava u realnom vremenu.

XGL i AIGLX raskidaju tradiciju kompaktnih grafičkih elemenata na radnoj površini. U prevodu, elementi su do sada bili čvrsto definisani tako da je prozor, recimo, uvek bio i ostao četvorougaonog oblika sa pravim ivicama. Kada se XGL ili AIGLX aktiviraju, celokupni elementi postaju elastični i savitljivi (wobbly) pa je moguće „uhvatiti” jedan kraj prozora i povući ga u stranu pri čemu će se ceo prozor deformisati i promeniti svoju striktno pravougaonu strukturu. Tokom maksimizacije prozora takođe će dolaziti do uvijanja, a minimizacija je ispraćena fade efektom. Ista stvar važi i za menije ili tooltipove koji se takođe pojavljuju sa fade efektom i elastičnošću. Plastično objašnjeno, elementi se ponašaju kao da su napravljeni od gume.

Inovacije koje se tiču produktivnosti i lakoće korišćenja okruženja takođe postoje pa se XGL i AIGLX ne tiču samo nove šminke okruženja. Kombinacija ’Alt + Tab’ sada izgleda vrlo lepo pa se radna površina zatamnjuje i blago povlači u pozadinu dok se na traci postavljenoj po sredini ekrana prikazuju umanjeni prikazi prozora. Ukoliko se pak na radnoj površini nalazi veliki broj pokrenutih aplikacija, pritiskom na jedan taster je moguće poređati umanjene prikaze njihovih prozora kako bi bilo lakše pronaći željeni prozor. Ukoliko ste imali kontakata sa Mac OS X-om i videli kako radi Expose, očekujte istu stvar.

Na kraju, glavni motiv kojim se ilustruju 3D sposobnosti XGL-a i AIGLX-a jeste Cube. Kocka predstavlja prikaz izmene virtuelnih radnih površina koje su raspoređene kao četiri strane kocke, naravno ukoliko su definisane četiri virtuelne površine, dok se geometrijsko telo menja u zavisnosti od broja otvorenih virtuelnih radnih površina. Rotacija kocke se može kontrolisati na više načina, mišem i tastaturom, dok ju je kombinacijom tastera ’Ctrl’, ’Alt’ i levog tastera miša moguće rotirati kursorom. Najbolja ilustracija funkcionisanja cubea, ali i mogućnosti XGL-a i AIGLX-a jeste postavljanje polovine prozora u kom teče video-reprodukcija na jedan, a druge polovine prozora na drugi desktop i pomeranje ivice koja ga deli za 45 stepeni kombinacijom tastature i miša. Ivica kocke će tada biti na sredini ekrana, dok će u prozoru „prelomljenom” na pola nastaviti da se prikazuje sadržaj. Dakle, sve radi u realnom vremenu na leđima grafičkog podsistema.

Jedan klik i gotovo

Priča o instalaciji softvera na Linuxu ume da postane naporna ukoliko se željeni softver ne zapakuje za distribuciju koja se koristi. Na svu sreću, u slučaju uključivanja AIGLX-a u X.org, sve što smo videli do sada može se dobiti vrlo lako. U nekim slučajevima je dovoljan jedan klik.

Preduslov za funkcionisanje pomenutog softvera jeste spreman grafički podsistem. U slučaju XGL-a, kao što je pomenuto, biće potrebni vlasnički drajveri bilo da se radi o nVidia ili ATi karticama. AIGLX pak odlično sarađuje sa čipovima koji su DRI podržani. Kada se radi o Nvidia čipovima, treba pomenuti da oni sada (serija 9) podržavaju GLX_EXT_texture_from_pixmap ekstenziju bez čije podrške AIGLX neće raditi. Moguće je da će na nekim starijim Nvidia karticama, poput GeForce4 MX440 na primer, AIGLX proraditi tek nakon dodavanja reda

Option ”AddARGBGLXVisuals” ”True”

u Section „Device” fajla /etc/X11/xorg.conf usled problema sa programabilnim pipelineovima.

OpenSUSE je bio prva distribucija koja je integrisala neku od pomenutih tehnologija i, naravno, radi se o XGL-u. Fedora i Mandriva su odlično uradile ovaj posao, omogućavajući korisnicima lako uključivanje i korišćenje opisanih tehnologija. Fedora Core 6 u meniju System > Preferences ima opciju Desktop Effects i kada se ona aktivira, potrebno je kliknuti na Enable Desktop Effects kako bi akcija mogla da počne. U pitanju je AIGLX. Mandriva pak pruža izbor između XGL-a i AIGLX-a u okviru Mandriva Control Centra, pomoću alata drak3d, pa je takođe dovoljan jedan klik kako bi se odabrana opcija aktivirala. Ubuntu ima vrlo dobro uputstvo za XGL i AIGLX na zvaničnom vikiju, dok je isti slučaj i sa Gentoo Linuxom.

Jasno vam je da ovo nije rat

Iako se u kuloarima mutila priča o novom flameu i pravljenju tabora, naročito zato što su na „stranama” Novell koji aktivno forsira XGL i Red Hat odnosno Fedora u okviru koje se razvijao AIGLX. Ipak, priče o flameovima nemaju realnu osnovu, već korisnici imaju priliku da odaberu rešenje za sebe. Isti slučaj je i sa composite window managerima gde je u početku jedini bio Compiz, ali je ekipa programera nakon odbijanja njihovih predloga od strane razvojnog tima Compiza napravila fork pod nazivom Beryl koji pruža nešto više mogućnosti za podešavanja. Compiz je ipak još uvek default na većini distribucija. Dakle, sloboda izbora i ništa više.

Naravno, nekakav sud treba doneti. Projekti imaju dosta zajedničkog kôda, no putevi kojima su krenuli koncepcijski su različiti. Činjenica da je XGL razvijan iza zavese nije za pohvalu, mada sada to nema velike važnosti. AIGLX je pak deo X.orga što uliva dodatno poverenje, a činjenica da funkcioniše na DRI drajverima jeste jak vetar u leđa ovoj nadogradnji X servera. Praktična prednost AIGLX-a jeste mogućnost korišćenja OpenGL-a u radu sa aplikacijama pa igre rade i pod AIGLX-om.

• • •

Testiranje opisanog softvera je donelo jako zanimljiva iskustva. Korisnički ugođaj pri korišćenju je poseban jer samo ponašanje okruženja predstavlja nešto potpuno novo što do sada nismo mogli da probamo na svojim GNU/Linux sistemima. Jedno i po časovno igranje sa AIGLX-om bilo je vrlo zabavno, mada je svirepo maltretiranje okruženja sa pokrenutim aplikacijama pokazalo očuvanu stabilnost. Čini se, moguće subjektivno, da je AIGLX nešto stabilniji. Nedavno su se na lokaciji YouTube.com pojavili vrlo atraktivni snimci demonstracije XGL-a na touchscreenu. Bilo je interesantno gledati rotiranje kocke na pritisak kažiprsta na površinu ekrana.

Šlag na torti je to što AIGLX radi bez ikakvih problema sa matorom GF4 MX440 karticom, na računaru sa prvom generacijom procesora Athlon XP i 256 MB radne memorije. Dakle, za XGL/AIGLX nije potrebno kupovati nov računar ili delove, već će raditi i na većini računara koji se danas mogu naći u našim domovima. Da li je resurse računara pametnije trošiti na vijugave prozore ili nešto korisnije, procenite sami. Bitno je da postoje obe mogućnosti.

Ivan JELIĆ

 
XGL i AIGLX 3D grafička okruženja
Šta mislite o ovom tekstu?
KRename 3.0.12
EasyTAG 1.99.12

Platforma:
GNU/Linux
Cena:
GNU/GPL
Adresa:
http://www.freedesktop.org/wiki/Software/Xgl
Adresa:
http://fedoraproject.org/wiki/RenderingProject/aiglx
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2015. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 2.54
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera