Gentoo Logo

Anleitung für Hardware 3D-Beschleunigung

Inhalt:

1.  Einführung

Was ist 3D-Hardware-Beschleunigung und wofür brauche ich es?

Mit 3D-Hardware-Beschleunigung wird dreidimensionales Rendern vom Prozessor der Grafikkarte übernommen, anstatt wertvolle Rechenleistung der CPU für das Darstellen von 3D-Bildern abzuzweigen. Dies wird auch als "Hardware-Beschleunigung" bezeichnet, im Gegensatz zur "Software Beschleunigung", bei der die CPU mit Hilfe der Mesa Software-Bibliotheken das Zeichnen übernimmt. Während Xorg in der Regel 2D-Hardware-Beschleunigung unterstützt, gibt es bei der 3D-Beschleunigung einige Lücken. Spiele, 3D-CAD und Modellierungen kommen in der Regel nicht ohne 3D-Hardware-Beschleunigung aus.

Wie erhalte ich 3D-Hardware-Beschleunigung?

In den meisten Fällen existieren sowohl binäre als auch Open-Source-Treiber. Letztere sind zu bevorzugen, da wir nun einmal Linux verwenden und Open Source eines unserer Hauptprinzipien ist. In machen Fällen sind binäre Treiber oft die einzige Möglichkeit, insbesondere wenn Ihre Grafikkarte so neu ist, dass noch keine Open-Source-Treiber geschrieben wurden, die die Features der Karte unterstützen. Binäre Treiber sind x11-drivers/nvidia-drivers für nVidia-Karten und x11-drivers/ati-drivers für AMD/ATI-Karten.

Was ist DRI?

Die Direct Rendering Infrastruktur, besser bekannt unter dem Kürzel DRI ist eine effiziente Schnittstelle, die direkten und dennoch sicheren Zugang zur Grafikhardware ermöglicht. Sie beinhaltet Änderungen am X Server, verschiedenen Client-Bibliotheken und dem Kernel selbst. Hauptverwendungszweck für DRI sind schnelle OpenGL Implementierungen.

Was ist der DRM und was verbindet es mit dem normalen Xorg?

Der DRM (Direct Rendering Manager) ist eine Erweiterung zu Xorg, die 3D Hardware-Beschleunigung für bestimmte Karten bereitstellt, indem es die entsprechenden Kernelmodule für Direct Rendering beinhaltet.

Zweck dieser Dokumentation

Diese Dokumentation richtet sich an alle, die Direct Rendering in der Xorg Standardumgebung nicht zum Laufen bekommen. Der DRM funktioniert mit den folgenden Treibern:

  • 3dfx
  • intel
  • matrox
  • nouveau
  • rage128
  • radeon
  • mach64
  • sis300
  • via

Weitere Informationen und Dokumentation erhalten Sie auf der DRI-Homepage.

2.  Installation von Xorg und Kernel-Konfiguration

Installation von Xorg

Lesen Sie bitte unseren Leitfaden zur Xorg Konfiguration um Xorg zu installieren und einzurichten.

Kernelkonfiguration

Zunächst sollte der Chipsatz sondiert werden und die Unterstützung für diesen aktiviert werden.

Befehlsauflistung 2.1: Prüfen des AGP-Chipsatzes

# emerge pciutils; lspci | grep AGP
# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
(Je nach entsprechender Hardware kann dies anders aussehen.)

Wenn Ihr Chipsatz vom Kernel nicht unterstützt wird, könnten Sie unter Umständen Erfolg damit haben agp=try_unsupported als Kernelparameter zu übergeben. Dies wird Intels generische Routinen für AGP Unterstützung verwenden. Um diesen Parameter hinzuzufügen editieren Sie bitte Ihre Bootloader Konfigurationsdatei!

Dies sollte mit meisten, wenn nicht allen, Kerneln funktionieren. In diesem Fall erfolgte die Konfiguration unter einem gentoo-sources Standardkernel.

Befehlsauflistung 2.2: Konfigurieren des Kernels

# ls -l /usr/src/linux 
lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4
(Stellen Sie sicher, dass /usr/src/linux auf
Ihren aktuellen Kernel zeigt.)
# cd /usr/src/linux
# make menuconfig

Befehlsauflistung 2.3: Optionen in make menuconfig

Processor type and features --->
<*> MTRR (Memory Type Range Register) support
Device drivers --->
   Graphics support --->
   <M> /dev/agpgart (AGP Support) --->
      (Die agpgart-Option erscheint unter 64-Bit Kerneln nicht; Wählen Sie einfach die Unterstützung für        Ihren Chipsatz.)
      <M> Intel 440LX/BX/GX, I8xx and E7x05 support
      (Wählen Sie Ihren Chipsatz anstatt des hier genannten.)
   <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
      <M> (Wählen Sie Ihre Grafikkarte aus der Liste aus)

Den Kernel kompilieren und installieren

Befehlsauflistung 2.4: Kompilieren und Installieren des Kernels

# make && make modules_install

Vergessen Sie nicht die grub.conf oder lilo.conf anzupassen und /sbin/lilo auszuführen, wenn Sie LILO benutzen.

Hinzufügen Ihres Benutzes zur Gruppe video

Als Nächstes fügen Sie Ihren Benutzer zur Gruppe video hinzu, wie im link="/doc/de/handbook">Handbuch beschrieben:

Befehlsauflistung 2.5: Hinzufügen eines Benutzers zur Gruppe video

# gpasswd -a username video

3.  Konfiguration von Direct Rendering

Konfiguration von Xorg

Hoffentlich genügt es, wenn Sie Ihren Benutzer zur Gruppe video hinzufügen, um Direct-Rendering zu aktivieren. Es kann aber auch sein, dass Sie eine Datei in /etc/X11/xorg.conf.d/ erstellen müssen. Sie können Sie benennen, wie Sie wollen; stellen Sie nur sicher, dass sie mit .conf endet. Öffnen Sie Ihren Lieblingstexteditor und erstellen Sie eine Datei wie folgt:

Befehlsauflistung 3.1: /etc/X11/xorg.conf.d/10-dri.conf

Section "Device"
  Driver "radeon"
  (Ersetzen Sie radeon mit dem Namen Ihres Treibers.)
EndSection

Section "dri"
  Mode 0666
EndSection

Änderungen in /etc/conf.d/modules

Sie werden den Modulnamen, den Ihre Karte verwendet, zu /etc/conf.d/modules hinzufügen müssen um sicherzustellen, dass das Modul automatisch beim Systemstart geladen wird.

Befehlsauflistung 3.2: /etc/conf.d/modules editieren

(Ändern Sie den Modulnamen wie benötigt.)
modules="intel-agp"

Notiz: Wenn Sie agpgart als Modul kompiliert haben, werden Sie es auch in /etc/conf.d/modules hinzufügen müssen.

4.  3D Beschleunigung testen

Neustart mit dem neuen Kernel

Nachdem Sie Ihren Computer neu gestartet haben und sich als normaler Benutzer angemeldet haben, wollen wir schauen, ob Direct Rendering aktiviert wurde und wie gut es funktioniert. Stellen Sie bitte vor Ausführen dieser Befehle sicher, dass das Paket mesa-progs installiert ist, da glxinfo und glxgears in diesem enthalten sind.

Befehlsauflistung 4.1: Rendering testen

$ startx
(Es ist nicht notwendig Module für Ihren Treiber oder agpgart zu laden, auch wenn Sie diese als Module kompiliert haben.)
(Diese werden automatisch geladen.)
$ glxinfo | grep rendering
direct rendering: Yes
(Kommt hier "No" haben Sie keine 3D Beschleunigung)
$ glxgears
(Prüft die Framerate pro Sekunde (FPS) im Standardfenster. Diese sollte deutlich höher sein, als vor der Konfiguration des DRMs. Führen Sie diesen Test am besten durch, wenn die CPU nicht beschäftigt ist.)

Notiz: Die FPS könnten durch die Aktualisierungsrate Ihres Monitors eingeschränkt sein. Beachten Sie dies, falls glxgears lediglich 70-100 FPS berichtet. games-fps/ut2004-demo oder andere 3D-Spiele sind bessere Werkzeuge zum Benchmarken, da sie Leistungsergebnisse zurückgeben, welche im Alltag auftreten.

Das Meiste aus Direct Rendering herausholen

Wenn Sie weitere Features aktivieren wollen, sei es der Performance halber oder aus anderen Gründen, sollten Sie die Feature Matrix auf der DRI-Webseite oder die Feature Liste auf Sourceforge konsultieren.

5.  Problembehebung

Es funktioniert einfach nicht. Ich habe kein Rendering und ich weiß nicht warum.

Versuchen Sie ein modprobe radeon vor dem Starten des X-Servers (ersetzen Sie radeon durch den Namen ihres Treibers). Versuchen Sie außerdem agpgart direkt in den Kernel zu kompilieren, anstatt ein Modul zu erstellen.

Beim Ausführen von startx erhalte ich folgenden Fehler: "[drm] failed to load kernel module agpgart"

Dies erscheint immer, wenn agpgart direkt in den Kernel einkompiliert wird. Sie können dies getrost ignorieren.

Ich besitze eine Radeon und möchte TV-Out nutzen

Die ursprünglich vom GATOS Projekt entwickelten Treiber wurden in Xorgs Codebasis eingebunden. Sie brauchen nichts besonderes, um TV-Out nutzen zu können; x11-drivers/xf86-video-ati wird gut funktionieren.

Es funktioniert immer noch nicht. Meine Karte ist so neu und megaobercool, dass sie nicht unterstützt wird.

Probieren Sie die binären Treiber aus. Für AMD-Karten, benutze Sie ati-drivers; eine Auflistung gibt es unter http://support.amd.com/us/gpudownload/Pages/index.aspx. Sollte es für Ihre Karte noch keine Treiber geben, probieren Sie fbdev. Er ist langsam, funktioniert aber.

Ich habe eine PCI-Karte, die nicht funktionieren will. Hilfe!

Erstellen Sie eine Konfigurationsdatei in /etc/X11/xorg.conf.d/; benennen Sie sie, wie Sie wollen, so lange sie mit .conf endet. Schreiben Sie folgendes hinein:

Befehlsauflistung 5.1: /etc/X11/xorg.conf.x/10-pcimode.conf

Section "Device"
  Option "ForcePCIMode" "True"
EndSection

6.  Referenzen

  1. http://forums.gentoo.org/viewtopic.php?t=46681
  2. http://forums.gentoo.org/viewtopic.php?t=29264
  3. http://dri.freedesktop.org/
  4. http://www.retinalburn.net/linux/dri_status.html

Feedback

Weitere Vorschläge, Fragen, etc. können an Donnie Berkholz gerichtet werden.



Drucken

Seite aktualisiert 11. September 2011

Die Originalversion dieser Übersetzung wird nicht länger gepflegt

Zusammenfassung: Dieses Dokument ist ein Leitfaden um 3D Beschleunigung unter Verwendung des DRM mit Xorg in Gentoo Linux einzurichten.

Donnie Berkholz
Autor

Jorge Paulo
Bearbeiter

Joshua Saddler
Bearbeiter

Jens Schittenhelm
Übersetzer

Jan Hendrik Grahl
Korrektor

Marcel Klein
Übersetzer

Tobias Heinlein
Übersetzer

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.