2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

Post Reply
Message
Author
Roman B.

2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#1 Post by Roman B. »

Hallo Leute!

Scheinbar liegt es in der Natur des Menschen sich immer neue Probleme zu schaffen, wenn alles zur Zufriedenheit läuft. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Seit ein paar Tagen verwende ich den Kernel 2.4.0-ac10. Weil im Moment alles so gut funktioniert, habe ich ein neues Ziel vor Augen: Hardwarebeschleunigung unter XFree 4.0.x mit meiner G400.

1. Hierzu habe ich einen neuen 2.4.0er-Kernel mit folgenden Optionen gebacken:

CONFIG_MTRR=y # MTRR (Memory Type Range Register) support
CONFIG_AGP=m # /dev/agpgart (AGP Support)
CONFIG_AGP_INTEL=y # Intel 440LX/BX/GX and I815/I840/I850 support
CONFIG_DRM=y # Direct Rendering Manager (XFree86 DRI support)
CONFIG_DRM_MGA=m # Matrox g200/g400

2. In /etc/X11/XF86Config-4 die folgenden Einträge hinzugefügt:

Section "Module"
# [...]
Load "GLcore"
Load "dri"
Load "glx"
EndSection

3. Nach dem Reboot auf der Konsole die entsprechenden Module mit "insmod agpgart ; insmod mga.o" geladen und mit lsmod kontrolliert ob dies auch erfolgreich passiert ist. -> alles Roger <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

4. X-Server gestartet, /var/log/XFree86.0.log durchsucht und die Einträge

(0): [DRI] installation complete
(II) MGA(0): direct rendering enabled

gefunden, d.h. die Direct Rendering Engine wurde erfolgreich geladen und aktiviert. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

5. Jetzt sollte alles funktionieren. Allerdings wenn ich einen Test mache, ob die Hardware-Beschleunigung aktiv ist, dann erhalte ich miserable Ergebnisse. Genau gesagt eigentlich die selben wie ohne aktivierter Beschleunigung. So liefert z.B. xengine durchschnittlich den Wert 4000 = selber Wert wie ohne Beschleunigung.

Habe ich vielleicht irgendwas vergessen? Hat jemand eine Idee wo der Fehler begraben sein könnte?

MfG Roman!

--
Was schenkt ein Mathematiker seiner Frau zum Hochzeitstag ?
Einen Polynomring, der in einer Intervallschachtelung verpackt ist.

Peter

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#2 Post by Peter »

1. Du brauchst auf jeden Fall Xfree4.02 für 3D + G400 + 2.4.x, da du DRM Version 2.x.x im Xfree brauchst.
2. Am Anfang solltest du alle Tests, ob 3D geht als root machen, erst wenns da klappt, kannst du dir überlegen obs beim User klappt.
3. Ein tolles Tool gibt es auf:
http://dri.sourceforge.net/resources/glxinfo
dies führst du als root aus, wenn er dir am Anfang sagt, das er indirect Rendering benutzt, geht dein 3D wirklich nicht, sonst geht es schonmal.
Wenn glxinfo direct Rendering anzeigt, aber deine Application trotzdem langsam ist, so liegt es an der ihr. Da kann ich dir nicht helfen.

pwk.linuxfan

Markus

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#3 Post by Markus »

xfree 4.0.2 ist nicht nötig um der g400 3d beizubringen. ich habe xfree 4.0.1 installiert und bei mir funktioniert hardware 3d mit der g400 bestens.
was allerdings nötig ist, ist der neue 3d treiber für die g400 von der matrox page (mga_drv.o).
im verzeichnis /usr/X11R6/lib/modules/drivers befindet sich der von xfree4 mitgelieferte mga treiber. den einfach wegsichern und den neuen dorthinkopieren. weiters ist eine an glx angepaßte mesa version notwendig. das ding heißt glxMesa und ist auf dem matrox ftp server zu finden: ftp://ftp.matrox.com/pub/mga/archive/linux/2000
wenn alles ordnungsgemäß installiert ist, kann man noch die datei /etc/glx.conf editieren und anpassen. dannach xserver neu starten und die 3d beschleunigung sollte aktiv sein.

so far ...
markus

Peter

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#4 Post by Peter »

Nie habe ich gesagt, Xfree4.02 sei für 3D + Matrox nötig, aber wenn du die DRM`s vom 2.4. Kernel willst, dann brauchst du`s wohl.

Roman B.

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#5 Post by Roman B. »

Hallo Markus & Peter!

Danke für die Hilfe. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

In den letzten Tagen habe ich das Problem, auf Grund zeitmangels, ruhen lassen. Am Wochenende werde ich mich ihm wieder (hoffentlich erfolgreich) zuwenden.

@ Markus:
Was hast Du alles machen müssen um Deiner G400 die Hardwarebeschleunigung zu entlocken?

Meine Ausgangspunkte sind folgende:

1. XFree 4.0.2 (installiert mit den "unstable" Paketen vom Debian Server)
2. Kernel 2.4.0-ac10.
3. 2.4.0er-Kernel mit den Optionen:

CONFIG_MTRR=y # MTRR (Memory Type Range Register) support
CONFIG_AGP=m # /dev/agpgart (AGP Support)
CONFIG_AGP_INTEL=y # Intel 440LX/BX/GX and I815/I840/I850 support
CONFIG_DRM=y # Direct Rendering Manager (XFree86 DRI support)
CONFIG_DRM_MGA=m # Matrox g200/g400

4. /etc/X11/XF86Config:

Section "Module"
# [...]
Load "GLcore"
Load "dri"
Load "glx"
EndSection

5. MesaGLX RPM vom Matrox FTP-Server runtergeladen und installiert.

6. Kernel Module (die beim 2.4.0er dabei sind) laden: "insmod agpgart ; insmod mga.o"

Soweit bin ich im Moment.

Nun meine Fragen:

1. Welche Einträge gehören in /etc/glx.conf
2. Mit dem aktuellen Matrox Treiber mga_drv.0 Beta 1.004 startet mein X nicht mehr. Ich habe vorerst eine Downgrade auf 1.003 durchgeführt.
3. Gibt es vom DRI Kernelmodul mga.o auch einen Version von Matrox?
4. Habe ich irgendwas wichtiges vergessen.

Danke schon mal für die Hilfe.

MfG Roman!

PS: Meine Emailadresse ist rbeigel@gmx.at

Peter

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#6 Post by Peter »

Hallo,
als ich meine G400 + 3D zum laufen gebracht habe, war das ohne irgendwelche Treiber o.ä. von Matrox. Die Treiber hat die Linuxgemeinde schon selbst geschrieben, sie befinden sich im Kernel + im Xfree ab 4.02

So gehst du vor:
Deinstalliere alles was du vom Matrox-Server als Treiber installiert hast !
Kernel so kompilieren, wie du geschrieben hast:
G400 DRM als modul
agpgart als modul
Deinen Mainbord-chipsatz (wenn du dir nicht sicher bist, kannst du einfach alle anwählen)
Dann müssen (entgegen deinem Posting) nur
Load "glx"
Load "dri"
in die section modules der /etc/X11/XF86Config !
jetzt sollte der X-Server beim booten automatisch die module reinladen.
PS: Die Geschwindigkeit meiner vorgestellten Version ist z.B. bei quake minimal (1-2 FPS) langsamer als die von Windoof + Neuste Treiber !

Als Anlaufpunkt kann ich dir nur die Seite
http://dri.sourceforge.net empfehlen, dort ist alles ausführlich erklärt.
Auch musst du so nichts in irgendwelche glx.conf Dateien eintragen, es geht also ganz einfach.

Roman B.

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#7 Post by Roman B. »

Hallo Peter!

> Die Geschwindigkeit meiner vorgestellten Version ist z.B. bei quake minimal (1-2 FPS) langsamer als die von Windoof + Neuste Treiber !

Bist Du Dir ganz sicher, daß Quake bei Dir HW-beschleunigt läuft? Zwei Leuten mit 3DFX-Karten habe mir von guten Testergebnissen berichtet.

Was liefert bei Dir "glxinfo" unter dem Punkt "OpenGL renderer string:"?

Bei mir steht "Mesa X11" und das bedeutet, daß *keine* HW-Beschleunigung aktiv ist!

MfG Roman!

Roman B.

Re: 2.4.0 & XF4.0.x & G400 & HW-Beschleunigung

#8 Post by Roman B. »

Sorry Peter!

Ich habe mich verlesen und meinen Fehler erst nach dem Abschicken dieser Nachricht bemerkt <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">

Ich habe gelesen, daß bei Dir Quake mit nur 1-2fps läuft -> Asche auf mein Haupt <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Trotzdem würde mich Deine glxinfo Ausgabe interessieren...

MfG Roman!

Post Reply