Mit Radeon X700 Mesa OpenGL 1.4, mit Radeon HD 4850 nur OpenGL 1.2?

cabriofahrer

Well-Known Member
Auf meinem Hauptrechner, mit einer ATI Radeon HD 4850, nutze ich WindowsXP.
Nachdem es in den Release-Notes zu FreeBSD 7.3 heißt, daß der Kernel die neue Radeon 4xxx Reihe unterstützt, wollte ich es also wissen und installierte ein 7.3 (i386) auf einer externen Festplatte, um die 3D-Beschleunigung mit besagter Karte auf FreeBSD auszuprobieren. Ich habe es jeweils einmal mit xorg7.4 und 7.5 ausprobiert, jeweils libdrm, dri, libGL, libGLU, libglut und mesa-demos mit portupgrade (und den Optionen WITHOUT_NOUVEAU=yes und CPUTYPE=i486) neu kompiliert, so daß ich Mesa 7.6 und überhaupt 3D auf der Radeon 4850 bekomme, aber ein glxinfo | grep Mesa zeigt mir dann nur OpenGL 1.2 an. Glxgears zeigt ca. 1950 fps. 3D-Spiele wie linux-enemyterritory (Q3-Engine) oder UT2004 starten nur im Software-Modus, also nicht spielbar.
Hingegen auf meinem Notebook mit einem Radeon M X700-Chip bekomme ich selbst ohne Mesa 7.6 (also Standard xorg-packages) bei einem glxinfo | grep Mesa OpenGL 1.4 angezeigt. Das scheint dann wohl der feine Unterschied zu sein, um die vorher genannten Spiele 3D-beschleunigt zum Laufen zu bringen. Auch dort liegt glxgears bei ca. 1950 fps.
Wieso bekomme ich mit der Radeon 4850 nur Mesa OpenGL 1.2 und mit der X700 1.4?
 
Wie gesagt spielt es keine Rolle, ob mit xorg 7.4 oder 7.5. Das Notebook hat ein 8.0 installiert, die Installation auf der externen Festplatte für den PC ist ein 7.3, weil laut Release-Notes die 4850 unterstützt wird und weil sich ein 8-stable nicht installieren läßt.
Aber auch auf dem Notebook hatte ich mal ein 7.2 drauf, und mit der X700 funktionierte die 3D-Beschleunigung wunderbar.
i486, weil ohne das sich drm nicht kompilert. Das hatte ich durch Googeln in irgendeiner mailingliste gefunden. Der Prozessor ist aber ein Athlon 64, deswegen weiß ich nicht, ob i686 überhaut gehen würde?
 
Hi cabriofahrer,

Wie gesagt spielt es keine Rolle, ob mit xorg 7.4 oder 7.5. Das Notebook hat ein 8.0 installiert, die Installation auf der externen Festplatte für den PC ist ein 7.3, weil laut Release-Notes die 4850 unterstützt wird und weil sich ein 8-stable nicht installieren läßt.
Aber auch auf dem Notebook hatte ich mal ein 7.2 drauf, und mit der X700 funktionierte die 3D-Beschleunigung wunderbar.
i486, weil ohne das sich drm nicht kompilert. Das hatte ich durch Googeln in irgendeiner mailingliste gefunden. Der Prozessor ist aber ein Athlon 64, deswegen weiß ich nicht, ob i686 überhaut gehen würde?

Da ich schon etwas aus der Geschichte "FreeBSD auf dem Desktop mit 3D-Grafik" raus bin, kann ich nur vermuten, dass die Grafikkarte nicht korrekt erkannt wird. Was gibt denn dmesg bezüglich der Grafikkarte aus - auf beiden Systemen?

Ansonsten tippe ich wie vorher schon geschrieben auf einen unterschiedlich aktuellen Portstree, aber ich ducke mich ja schon ganz flach auf dem Boden:D
 
Also hier auf dem System externe Festplatte / Radeon 4850:

$ dmesg | grep drm
drm0: <ATI Radeon 4800 Series> on vgapci0
info: [drm] MSI enabled 1 message(s)
vgapci0: child drm0 requested pci_enable_busmaster
info: [drm] Initialized radeon 1.31.0 20080613
info: [drm] Setting GART location based on new memory map
info: [drm] Loading RV770/RV790 Microcode
info: [drm] Resetting GPU
info: [drm] writeback test succeeded in 1 usecs
drm0: [ITHREAD]
$

Und hier das Gleiche nochmal für das Notebook mit der Radeon M X700:

drm0: <ATI Radeon Mobility X700 M26> on vgapci0
info: [drm] MSI enabled 1 message(s)
vgapci0: child drm0 requested pci_enable_busmaster
info: [drm] Initialized radeon 1.29.0 20080528
info: [drm] Setting GART location based on new memory map
info: [drm] Loading R400 Microcode
info: [drm] Num pipes: 2
info: [drm] writeback test succeeded in 1 usecs
drm0: [ITHREAD]

Arbeitet die Radeon 4850 nun korrekt?
 
Ohne KMS und GEM unterstützt der r600-Treiber nur OpenGL 1.2. Stimmt also alles.
 
OK, Danke für die Info.
Hier noch ein Update: Habe ioquake3 installiert und das funktioniert wirklich hervorragend auf der Radeon 4850. Aber Linux-Spiele wie ut2004 oder linux-enemyterritory nicht (wohl nur im Softwaremodus). Grundsätzlich muß bei einer Radeon dafür linux_dri installiert sein. Auf der X700 funktionieren diese Spiele damit wunderbar, auf der Radeon 4850 nicht. Woran liegt das genau? Der port linux_dri wird wohl kaum KMS und GEM voraussetzen? Und wann erhalten besagte Technologien Einzug in FreeBSD?
 
Und wann erhalten besagte Technologien Einzug in FreeBSD?

Anscheinend werden wir zumindest von einem Amiga-Bastelprojekt überholt, dass noch nichtmal Xorg verwendet: http://www.phoronix.com/scan.php?page=news_item&px=ODI3MQ

(Satirischer Kommentar, nicht als Flame auffassen)

Ernst: Vielleicht sollte wir auch einfach mal ein Bounty aufgeben. Wenn jeder hier im Forum der danach schon gefragt hat einen 10er gibt, dann kommen wir sicherlich auch auf 600€!
 
Ist ja echt traurig mit dem vom Bastelprojekt überholt werden. Trotzdem sind meine Fragen noch nicht beantwortet, insbesonere warum die Linux-Games mit der Radeon 4850 keine 3D-Beschleunigung bekommen?
 
Ich glaube, dass linux_dri in den Ports ist einfach zu alt. Wenn ich es richtig sehe, basiert es ja auf Mesa3D 7.4. Um 3D mit deiner Karte zu haben, bräuchtest du aber mindestens Version 7.6. Inzwischen gibt es sogar schon 7.8, aber die haben wir ja noch nicht einmal für echte FreeBSD-Programme. Was man da machen kann? Frag mich nicht. Man könnte versuchen selbst ein Update des Ports zu basteln, aber bei dem Linux-Krams ist das meist nicht so einfach, da die Pakete auch untereinander zusammenpassen müssen. :(
 
Kannst ja mal versuchen ein richtiges aktuelles Linux auf ne Partition oder in ein Image zu kloppen und das nach compat zu mounten.

Mesa 7.8 hatte ich hier auf meinem Laptop mal gebaut (für FreeBSD, nicht compat), Resultat: intel kann kein 3D mehr, weil der Support für ohne GEM gestrichen wurde. Dafür bringt der Software-Rasterizer jetzt schon 250fps bei glxgears :S
 
Zurück
Oben