5.10. Linux og 3D-kort

Som så mange andre styresystemer understøtter Linux 3D-kort. I Linux bliver 3D grafikken produceret efter et system, der hedder OpenGL. OpenGL er netop frigivet i Open Source form fra SGI. Indtil dette skete var Mesa en meget anvendt emulering.

OpenGl er et grafisk standard bibliotek, som bruges af programmer til at kommunikere med 3D grafikkortet. OpenGl blev udviklet af SGI (Silicon Graphics), til at bruge i deres meget kraftige grafiske arbejdsstationer. OpenGl blev introduceret i 1992 og er med tiden blevet et af de mest brugte 2D og 3D grafiske API (application programming interface). I dag bliver OpenGl varetaget af en uafhængig sammenslutning af firmaer inden for 3D-branchen.

Hvis man ønsker at skrive en driver til et 3D grafikkort, som gør brug af OpenGl teknologien, kræver det, at man skal betale for en licens og for en bekræftelse på, at driveren er kompatibel med OpenGl.

Linux brugere har alligevel mulighed for at bruge OpenGl bibliotekerne ved hjælp af det før omtalte Mesa.

Mesa er et 3D grafisk bibliotek, som indeholder et API, der minder uhyre meget om det, man finder i OpenGl.

Mesa er en såkaldt "Open Source" klon af OpenGl, som er gratis at downloade og bruge. For at bruge 3D grafikkort i Linux bliver man først nødt til at installere den Mesa driver, som passer til éns grafikkort. Mesa understøtter (på nuværende tidspunkt) følgende grafiske chips:

Når dette er gjort, vil programmer, som skal bruge 3D kortet, køre vha. Mesa biblioteket. Læs mere om Mesa på http://www.mesa3d.org og om OpenGl på http://www.opengl.org

Som du kan se er det langt fra alle 3D-grafikkort, som understøttes i Linux. Dette skyldes, at det er "private", som (indtil videre) laver de fleste af driverne til Linux, hvilket også gør, at de ikke er nær så stabile og hurtige som dem til Windows.

De bedst understøttede 3D-kort er nok 3Dfx kortene. Der kommer heldigvis hele tiden nye drivere, først og fremmest til de store fabrikanters 3D-kort.

5.10.1. Installation af 3D grafik kort under Linux

5.10.1.1. 3Dfx

3Dfx var blandt de første 3D-kort, som blev tilgængeligt, for Linux brugere. Dette skyldes, at 3Dfx kortene kører med et system, som hedder Glide, der har været ret nemt at få overført til Linux. Der findes to forskellige typer af Glide drivere til Linux:

Der findes en, som understøtter Voodoo1, Voodoo2 og Voodoo Rush, der findes på http://glide.xxedgexx.com/3DfxRPMS.html)

Og en der understøtter Voodoo Banshee og Voodoo3 kan findes på http://glide.xxedgexx.com/3DfxRPMS_vb_glibc.html)

Voodoo Banshee og Voodoo3 er både et 2D og 3D kort, så når du installerer denne driver, bliver din 2D-driver i X også opdateret. Når du har hentet den driver, som du skal bruge, skal den installeres. Dette gøres således efter du har hentet Glide RPM pakken.

[root@linus /root]#  rpm -Uvh Glide*.rpm

Når dette er gjort skal Mesa installeres. Mesa findes på http://www.mesa3d.org) og ligger i to tar.gz filer (MesaLib og MesaDemos), som begge skal downloades. Når de to filer er hentet og udpakket, skal Mesa compiles (oversættes). Læs dokumentationen inden du går i gang:

[root@linus mesa]#  make linux-glide

Du skal nu finde ud af, hvor i dit system de færdigt oversatte filer skal kopieres hen, derefter skal du gøre som følger:

[root@linus mesa]#  cd include/
[root@linus include]#  cp -r GL/ /usr/include/
[root@linus include]#  cd ../lib
[root@linus lib]#  cp -d * /usr/lib/
[root@linus lib]#  ldconfig

Nu skulle dit 3Dfx kort virke uden problemer. Hvis du ønsker at teste dit 3Dfx kort, skal du skrive:

[root@linus lib]#  /usr/local/glide/bin/test3Dfx

Nu skulle der gerne komme et roterende 3Dfx-logo.

Bemærk! Da din nuværende installation kommunikerer direkte med 3Dfx-kortet, bliver du nødt til at køre dine 3Dfx applikationer som root. Da dette kan være irriterende og samtidigt kan udgøre en sikkerhedsrisiko, findes der en måde, hvorpå man kan undgå dette problem. Dette gøres med et såkaldt 3Dfx kernel module. Når først dette modul er installeret, vil de programmer (og spil), som skal bruge 3DFx-kortet, kommunikere via /dev/3Dfx. Denne løsning har ydermere den fordel, at du kan bestemme, hvem der skal have adgang til kortet, men det har samtidig den ulempe, at hastigheden på 3Dfx-kortet bliver nedsat en smule.

Det omtalte modul er at finde på http://www.xs4all.nl/~carlo17/3dfx/. For at installere det skal du downloade tar.gz-filen, og skrive følgende:

[root@linus /root]#  mkdir dev3dfx
[root@linus /root]#  cd dev3dfx/
[root@linus dev3dfx]#  tar -zxvf ../Dev3Df*.tar.gz
[root@linus dev3dfx]#  make
[root@linus dev3dfx]#  cp 3dfx.o /lib/modules/`uname -r`/misc
[root@linus dev3dfx]#  mknod /dev/3dfx c 107 0
[root@linus dev3dfx]#  insmod 3dfx

Derefter skal du redigere dit init-scripts under /etc/rc.d således, at kommandoen insmod 3dfx bliver kørt, hver gang du booter din computer.

Ved hjælp af programmet GlideControl, som er at finde på http://www.ling.ed.ac.uk/~oliphant/gc/, kan man indstille dit Voodoo1 eller Voodoo2 kort under Linux.

Skulle der være problemer, kan det være en god ide at kigge forbi the 3Dfx Linux newsgroup, som er at finde på news://news.3dfx.com/3dfx.glide.linux. Skriv et venligt spørgsmål til denne newsgroup, vent en dags tid eller noget i den stil, og dit svar skulle være kommet. En anden - efter sigende - rigtig god hjemmeside til at komme igang er http://www.3dfxgamers.com/.

5.10.1.2. nVidia Riva chipsæt

nVidia er et af de eneste firmaer, som officielt selv er ved at udvikle Linux-drivere til deres grafik-chipsæt.

Deres drivere er at finde på http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html. Yderligere information om installation af disse drivere er også at finde på denne side. Man skal dog lige være opmærksom på at disse drivere er på udviklingsstadiet, så de er ikke nær så hurtige og fejlfrie som dem, du muligvis kender fra Windows.

5.10.1.3. Matrox G200

Matroxs G200 chipsættet har for 3D delens vedkommende i en del tid været understøttet i X. For nylig frigav Matrox specifikationer til 3D delen, hvilket har medført, at der er kommet nogle midlertidige drivere. De kan hentes på http://www.on.openprojects.net/glx/. Læs den FAQ fil, som ligger på siden, for at finde ud ad, hvordan du installerer driverne.

Installationen indeholder en modificeret udgave af Mesa samt et "glx" modul, som gør det muligt for X at arbejde med Mesa (OpenGl) kommandoer. Ifølge rygter skulle Mesa blive en del af X, fra og med XFree86 version 4.0. G200 driverne er under kraftig udvikling og er ligesom nVidas drivere ikke særligt hurtige eller stabile. Så sørg for at læse dokumentationen, før du går i gang.