První linuxové krůčky: Šlapeme na 3D pedál
To nejhorší (instalaci) už máme za sebou. Fajn... Ale co dál? Jednou z nejčastějších otázek linuxových začátečníků je, jak zprovoznit 3D akceleraci na grafické kartě. Mám pro vás dvě zprávy, dobrou a špatnou. Ta dobrá je, že 3D pod Linuxem chodí (podle tvrzení mnoha linuxáků obvykle o nějaké ty framy rychleji na stejném HW ve stejné aplikaci :-) ), ta špatná je, že není podpora pro všechny karty, které akcelerují pod okenními systémy. Takže jak to vlastně je?
Když začnete pátrat po 3D podpoře grafických karet v Linuxu, brzo narazíte na stránky http://dri.sourceforge.net. DRI (Direct Rendering Infrastructure) je systém pro přímý přístup k hardwaru grafiky. DRI je integrováno v Xfree86 4.x a v Mesa což je open source implementace API OpenGL. Projektem podporované čipsety jsou ATI, Matrox, 3dfx a Intel. A jéje... Už jako bych to slyšel! Kde je moje NVidia nebo SIS a podobně. Nebojte se, tím to zdaleka nekončí. Existují jiné projekty a také přímá podpora některých výrobců (NVidia, ATI, VIA, Matrox). Takže shrnuto, sečteno a podtrženo... 3D akcelerace je v Linuxu možná pro tyto grafické čipy:
- ATI
dri.sf.net - ATI Rage, Mach64 a RadeOn
RadeOn 8500 a vyšší, přímo firmou ATI - 3dfx
dri.sf.net - Matrox
dri.sf.net
Parhelia chipsety přímo firmou Matrox - Intel
dri.sf.net - NVidia
přímo firmou NVidia - VIA
pouze Apollo CL266, přímo firmou VIA - SIS
dri.sf.net, pouze některé chipy, v XFree86 4.3 podpora vypnuta, je až v XFree86 4.4 - S3/VIA
utah-glx.sf.net, pouze některé chipy Savage a Twister
dri.sf.net chipy S3Virge
Dále je plánovaná nebo rozpracovaná podpora pro:
- Trident
- SiliconMotion
- SIS 6326 chipy
- 3Dlabs
Jak vlastně 3D akcelerace v Linuxu funguje?
V Linuxu je použito 3D rozhraní OpenGL. To je ,jak už jsme si řekli, zakomponováno do XFree86. Pro přímý přístup k hardware grafické karty jsou ještě potřeba moduly jádra pro příslušný grafický chip a případně modul pro sběrnici AGP (není nutný vždy, protože např. ovladač dodávaný firmou NVidia, splňuje přímo funkci ovladače AGP).
Pro některé grafické karty (zpravidla ty, které jsou podporovány přímo projektem DRI) je nutné v konfiguračním souboru XF86Config-4 (v /etc/X11) v sekci "Module" zapnuty moduly glx, dri. Pokud chcete, aby DRI mohli používat i běžní uživatelé v Linuxu, ne jen superuživatel root, je nutné aby v konfiguračním souboru byla tato sekce:
Section "DRI" Mode 0666 EndSection
Není možné věnovat se podrobně v jednom článku všem grafickým kartám. Ukážeme si proto postup konfigurace pro nejrozšířenějších grafických karet - ATI a NVidia - v distribucích Madrake a Debian, které mají podporu přímo od výrobce. Pro ostatní grafické čipy odkazuji čtenáře na server dri.sf.net, na kterém najdete všechny potřebné informace.
V Debianu najdete balíčky s ovladači NVidia staré verze 1.0-2880, dají se použít pro starší chipsety TNT2 a GeForce2 (možná i některé GeForce3). Pro novější chipy je možné najít na Internetu zdroje s balíčky, obsahující mladší verze ovladačů. Pokud máte přímo horkou novinku a vaše grafická karta potřebuje ovladač poslední verze, který v balíčku ještě neexistuje, nic není ztraceno. Na stránkách společnosti NVidia je možné si stáhnout instalátor poslední verze ovladačů i pro OS Linux, dokonce pro různé architektury. Ukážeme si 2 různé postupy, jeden bude aktualizací balíčků pro Debian 3.0 s poslední verzí ovladače, kdy je třeba vytvořit jaderný modul a instalaci ovladače staženého ze stránek NVidia.