3D-Power unter Linux

Aus LinuxUser 09/2000

3D-Power unter Linux

Pinguine in der dritten Dimension

Die Auswahl an Spielen für Linux ist mittlerweile groß. Ob First-Person-Shooter oder Märchenabenteuer – die ganze Bandbreite wird abgedeckt. Aber die volle Pracht entfalten heutige 3D-Spiele nur, wenn sie auf “der richtigen” Hardware laufen.

In unsererm Testlabor haben wir aktuelle Grafikkarten unter die Lupe genommen. Wir beschreiben, was diese leisten, und wie sie installiert werden, und wir erklären, welche Probleme unter Umständen auf Sie zukommen, falls Sie 3D-Spiele einsetzen wollen.

Im Test befanden sich die neueste Karte aus dem Hause Elsa, eine Gladiac mit NVidia GeForce2 GTS Prozessor, eine Voodoo3 3000 von 3dfx und eine Matrox G400DH MAX. Getestet wurden die 3D-Renner auf einem Pentium III mit 1 GHz, einem Dual-Pentium III mit je 550 MHz sowie einem Athlon mit 1 GHz und wurden neben deren Spieleleistung auch auf einfache Installierbarkeit untersucht.

Die Probanden

Die Elsa Gladiac gibt es mit 32 oder 64 MByte Dual Data Rate RAM (DDR-RAM) Grafikspeicher auf dem Markt. Bei einer maximale RAMDAC-Frequenz von 350 Mhz schafft die Karte eine Auflösung von 1900 X 1440 Punkten bei Bildwiederholfrequenzen zwischen 60 und 85 Hz; bei der nicht unüblichen Auflösung 1024 X 768 sind locker 200 Hz drin, also sehr augenfreundlich – sofern es einen Monitor gäbe, der das leistet. Laut Herstellerangaben schaffen die vier parallelen Pixel-Pipelines mit je zwei Texture-Einheiten rund 1.6 GigaTexels pro Sekunde entsprechend 17 Millionen Dreiecken a 20 Pixel.

Der Gladiator aus dem Hause Elsa ist zur Zeit die schnellste Karte im Heim-Bereich

Der Gladiator aus dem Hause Elsa ist zur Zeit die schnellste Karte im Heim-Bereich

Stellvertretend für die Hardware-Schmiede 3dfx kam eine alte Voodoo3 3000 AGP zum Einsatz, da die brandaktuellen Voodoo5-Teststellungen lediglich für die Spiele-Redaktionen reserviert waren. Der angegraute Chip hat zwar ebenfalls einen 350MHz-RAMDAC, verfügt aber nur über 16 MByte SDRAM Arbeitsspeicher und schafft laut Hersteller 333 MegaTexels sowie rund 7 Millionen Dreiecke pro Sekunde.

Die leicht angestaubte Voodoo 3 bietet immer noch eine ordentliche Performance

Die leicht angestaubte Voodoo 3 bietet immer noch eine ordentliche Performance

Die Matrox G400 Max hebt sich gegenüber ihren Konkurrenten mit einem geringfügig schnelleren RAMDAC hervor. Damit sind ergonomische Auflösungen bis 2048 X 1538 Bildpunkte möglich.

Mit der 3D-Unterstützung ist es zur Zeit noch nicht so einfach bei der Matrox G400

Mit der 3D-Unterstützung ist es zur Zeit noch nicht so einfach bei der Matrox G400

Tabelle 1: Technische Daten der drei Grafikkarten

Modell Elsa Gladiac Voodoo 3 Matrox G400 Max
RAMDAC(Mhz) 350 350 360
Z-Buffer 32 bit 32 bit 32 bit
Texture-Größe 2048×2048 256×256 2048×2048
AGP-Geschw. 2x/4x 2x 2x/4x
Texture-Farbtiefe 32bpp 16bpp 32bpp max. Aufl. 1900×1536 2046×1536 2048×1536 Interne Arch. 256 Bit HyperTexel 128 Bit 256 Bit DualBus
Speichertyp DDR RAM SDRAM SDRAM
Speicher (Mb) 32/64 16 32
Pixel Pipelines/TMUs 4/8 1/2 1/2

Treiber Installation

Solange man sich nur an 2D-Spielen erfreuen möchte, hat man keine zusätzliche Arbeit mit der Treiberinstallation. Bei SuSE und Mandrake werden auch gleich die 3D-Fähigkeiten der Voodoo3-Chipsätze berücksichtigt. Treiber von Hand nachinstallieren ist derzeit für Ungeübte eine deutliche Hürde – es ist allerdings zu erwarten, dass die Distributoren besseren 3D-Support liefern werden: SuSE hat mit Version 7.0 zum Beispiel volle Hardware-Beschleunigung für Matrox, ATI und NVidia angekündigt. Dennoch kann man sich bereits jetzt an der Installation der 3D-Treiber versuchen.

Bei NVidia liegen die XFree86-4.0-Treiber und die nötigen Kernel-Module als RPM-Paket beziehungsweise mit einem Installations-Skript vor. Die Beschreibung im Kasten “Installation der NVidia-Treiber bei Mandrake 7.1” läßt sich auch auf andere Distributionen übertragen.

Bei Linux-Varianten, die einen aktueller XFree86-4.0 X-Server enthalten, kann man sich unter Umständen den Download der X-Binaries sparen und diese nur bei eventuellen Problemen (wie bei der Mandrake aufgetreten) nachziehen. Sollten Sie auf das Experiment mit dem neuen X-Server verzichten wollen, so können Sie die Hardware auch mit XFree 3.3.6 3D-beschleunigt betreiben. Durch die langsamere GLX-Architektur werden NVidia-Chips allerdings nicht optimal ausgereizt.

Installation der NVidia-Treiber bei Mandrake 7.1

$DOWNLOAD=/tmp
cd $DOWNLOAD
# Hier kann man auch auf einen der Mirror-Server
# ausweichen: ftp://ftp.xfree86.org/pub/XFree86/MIRRORS
DLPATH=ftp://ftp.xfree86.org/pub/XFree86/4.0/binaries
wget $DLPATH/Linux-ix86-glibc21/Xmod.tgz
wget $DLPATH/Linux-ix86-glibc21/Xxserv.tgz
DLPATH=ftp://ftp1.detonator.nvidia.com/pub/drivers/english
wget $DLPATH/XFree86_40/0.9-2/NVIDIA_kernel-0.9.tar.gz
wget $DLPATH/XFree86_40/0.9-2/NVIDIA_GLX-0.9-2.i386.rpm
#Entfernen des symbolischen Links auf den
#alten X-Server und einrichten des Neuen
cd /etc/X11
rm -f X
ln -s /usr/X11R6/bin/XFree86 X
#
cd /usr/X11R6
tar -xzf $DOWNLOAD/Xxserv.tgz
tar -xzf $DOWNLOAD/Xmod.tgz
rm lib/modules/extensions/libglx.a
rm lib/modules/extensions/libGLcore.a
rm lib/libGL.so.1
rm libGL.so.1.0
cd $DOWNLOAD
tar -xzf NVIDIA_kernel-0.9-3.tar.gz
cd NVIDIA_kernel-0.9-3
./install.sh
cd $DOWNLOAD
rpm -i --nodeps NVIDIA_GLX-0.9-3.i386.rpm
# in /etc/X11/XF86Config-4 in Section "Device":
# Driver   "nv"    ersetzen durch   Driver   "nvidia"

Links zu wichtigen Grafik-Homepages

Xi-Graphics-Homepage http://www.xig.com/
Mesa-Treiber http://www.matrox.com/mga/drivers/3rd_party/glx.htm
3dfx-Homepage http://www.3dfx.com/
Elsa-Homepage http://www.elsa.com/
Linux-3dfx-Homepage http://linux.3dfx.com
OpenGL-Homepage http://www.opengl.org/
Homepage des freien X-Servers http://www.xfree86.org/
Nvidia-Treiber für XFree86 4.0) http://www.nvidia.com/drivers/xfree86_40.html

Der Matrox G400 kann man auf dreierlei Arten 3D-Fähigkeiten einhauchen: Indem man zum Beispiel auf den kommerziellen AcceleratedX von Xi-Graphics (US$ 49,- Single-Head, US$ 129,- Multi-Head) zurückgreift, oder etwa durch bequeme Installationen des kostenlosen UTAH-GLX Treiber in Form eines RPM-Pakets für XFree86-3.3:

DLPATH=http://www.matroxusers.com/driver/Linux
wget $DLPATH/rpm/glxMesa-20000328-1.i586.rpm
rpm -i glxMesa-20000328-1.i586.rpm

Die Installation des kommerziellen Treibers ist dank eines Text-User-Interfaces ebenfalls ein Kinderspiel. Auch lassen sich mit diesem Produkt beide Ausgänge der DH-MAX im Dual-Head-Betrieb nutzen. Wer unter Linux das Letzte aus seiner Matrox-Karte herausholen möchte, muss den steinigen Weg wählen und kann mit ein bisschen Geschick und Glück eine hardware-beschleunigte XFree86-Version aus dem CVS-Verzeichnis des DRI-Projektes kompilieren – unsere (zugegebenermassen nicht intensiven) Versuche in diese Richtung blieben jedoch erfolglos.

Treiber für Voodoo3 (und Voodoo4/5) gibt es direkt bei den Linux-Web-Seiten des Chip-Herstellers. Üblicherweise möchte man bildschirmfüllend spielen – dann reichen die Treiber für XFree86-3.3 vollauf. Wer aber auf eine Darstellung im Fenster nicht verzichten möchte, benötigt die 4er Version. Die RPM-Pakete lassen sich bequem installieren – allerdings führt ohne fundierte Linux-Kenntnisse kein Weg zur ursprünglichen 3.3er-Version zurück:

DLATH=http://linux.3dfx.com/open_source/download
wget $DLPATH/SRPM/Device3Dfx-2.3-5.src.rpm
wget $DLPATH/glibc21/Glide_V3-2.60-16.i386.rpm
wget $DLATH/glibc20/XFree86-SVGA-3.3.5-4.i386.rpm
rpm -Uvh Glide_V3-2.60-16.i386.rpm
rpm -Uvh XFree86-SVGA-3.3.5-4.i386.rpm
# Folgendes wird für non-root-user benötigt:
rpm --rebuild Device3Dfx-2.3-4.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/Device3Dfx-2.3-4.i386.rpm

Fallstricke bei der Voodoo3-Konfiguration

Falls eine Voodoo3-Karte bei 3D-Spielen mit weniger als 2 fps (Frames per Second) herumdümpelt, dann liegt offensichtlich ein Konfigurationsfehler vor. Abhilfe können möglicherweise folgende Punkte schaffen:

  • X-Server mit 16 Bit Farbtiefe starten
  • chmod a+x /dev/dri/card0 bzw. chmod a+x /dev/3dfx
  • libGL und libGlide prüfen
  • tdfx- oder 3dfx-Modul neu kompilieren

Magische Sprüche für Q3A und Konsorten

Aufgrund stetiger Veränderungen im Direct Graphic Access Layer (DGA) können Spiele gelegentlich nicht ordentlich mit dem Mauszeiger umgehen. Wenn der Pfeil wie wild umherhüpft, hilft bei Q3A zum Beispiel die Option +set in_dgamouse 0. Bei anderen Spielen gibt es oft ähnliche Software-Schalter. Ein Blick ins README kann nicht schaden.

Tabelle 2: 2D Speed Index

Grafikkarte Treiber Pentium III 1000 Athlon 1000
16bpp 24bpp 16bpp 24bpp
Elsa Gladiac Nvidia-0.94 353,9 224,4 337,9 218,2
Matrox G400 Xfree86-4.0 227,1 144,9 163,9 104,6
STB Voodoo 3 3000 Xfree-4.0.0-3dfx 172,9 111,8 184,8 0

Im Vergleich

Die Elsa Gladiac ist beim 2D-Leistungstest (siehe Tabelle 2) etwa doppelt so schnell wie die etwas angestaubte Voodoo3 3000. Bei den allermeisten 2D-Spielen hat dies aber keinen Einfluss auf den Fun-Faktor, ebenso wie mit der Matrox G400, die sich etwa in der Mitte ansiedelt. Allerdings zeigte dieses Produkt beim Athlon-System einen deutlichen Leistungsrückgang gegenüber seinem Erzfeind, während die 3dfx-Karte bei 24 Bit gar nicht erst arbeiten wollte.

Bei First-Person-Action-Shootern zählt jeder Frame pro Sekunde. Hier schlägt der Gladiator aus dem Hause Elsa seine Konkurrenten um Längen. Insbesondere der Treiber der Matrox G400 bleibt weit hinter den Fähigkeiten der Karte zurück. In Abbildung 1 sieht man übrigens recht deutlich, dass bei geringen Auflösungen schwächere Prozessoren mit dem NVidia-Flaggschiff nicht mithalten können – bei einer Auflösung von 1024×768@32 liegen alle drei Testsysteme gleichauf bei gut spielbaren 52 fps. Schade nur, dass die Stabilität des NVidia-Treibers nur auf den Pentium-III-Rechnern überzeugen konnte: Bei einem weiteren Athlon- und einem Celeron-Testsystem waren Systemabstürze keine Seltenheit.

Fazit

Als robuste 2D-Karte für Linux empfiehlt sich die Matrox G400. Der mit Abstand schnellste 3D-Chip im Test verträgt sich noch nicht mit jedem System und lässt den Kauf einer NVidia-basierten Grafikkarte zum Glücksspiel werden – deshalb kann ein Griff zur bewährten Voodoo3 viel Nerven sparen.

Für den Anfänger empfiehlt sich eine Installation von Treibern, die als RPM-Paket vorliegen. Hier reicht ein einziger Befehl, und der Spielespaß kann beginnen. Dass dabei Leistungseinbußen hinzunehmen sind, wird durch die Tatsache wieder aufgewogen, dass anschließend das grafische Login noch funktioniert und andere X-Anwendungen wie gewohnt starten.

Für die etwas fortgeschritteneren Anwender ist die Installation der Grafikarte ein vielleicht willkommener Anlass, sich etwas eingehender mit dem Innenleben des X-Servers auseinanderzusetzen. Aber Vorsicht – hier sollte jeder Schritt genau überlegt werden, und es empfiehlt sich auch, die Dokumentation lieber einmal mehr als einmal weniger zu lesen.

Insgesamt hat die Unterstützung der 3D-Karten unter Linux einen gewaltigen Sprung nach vorne gemacht, so dass nun langsam aber sicher auch eingefleischte Spieler darüber nachdenken dürfen, ob sie nicht auf eine stabile Grundlage wechseln – mit künftigen Distributionen dürfte dann auch die lästige Treiberinstallation der Vergangenheit angehören.

LinuxUser 09/2000 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben