Erfahrungen mit freien Grafiktreibern

Yamagi

Possessed With Psi Powers
Teammitglied
Da die Unterstützung von Grafikkarten unter FreeBSD noch immer
durchwachsen ist, auf der andereren Seite aber die Treiber langsam in
Bereiche kommen, wo sie praxistauglich sind, ist es an der Zeit einmal
zu sammeln, was geht und was nicht geht. "Warum?", wird nun so mancher
fragen. Es sind mehrere Punkte. Einmal ist da schlicht die Tatsache, das
Google nicht sonderlich hilfreich ist, da FreeBSDler anscheinend nicht
gern über ihre Erfolge sprechen. Es ist entsprechend schwer vor dem
Hardwarekauf herauszufinden, was funktioniert und was nicht. Dann wird
amd64 als Architektur immer beliebter, praktisch jeder neue Rechner hat
durch die günstigen Speicherpreise genügend Arbeitsspeicher, dass i386
nicht mehr ausreicht und der nVidia-Blob dort nicht läuft. Nicht zuletzt
ist dort nVidia, von denen man wohl nie Hilfe sehen wird, im Gegenteil.
Neuerdings sagt man, dass der Blob für FreeBSD/i386 in Sachen
Zuverlässigkeit und Geschwindigkeit ja nicht so gut sei und überhaupt
ist FreeBSD ja eine Plattform mit geringerer Priorität. Jeder möchte
diese Zeichen bitte für sich deuten. Verübeln kann man nVidia es aber
kaum, schließlich ist FreeBSD in Sachen Marktanteil unbedeutend und
anders als Sun bezahlt das Projekt die Treiberentwicklung nicht. Dann
ist da der vielleicht wichtigste Punkt, die Tatsache, dass es inzwischen
wirklich gut funktionierende Grafikhardware für FreeBSD Abseits von
nVidia gibt, es kaum einer weiß und das Geheul über die schlechte
Unterstützung entsprechend groß ist.

Die soll ein Sammelthread werden, kein Diskussionsthread. Daher vorweg
ein paar freundschaftliche Regeln und Hinweise, um deren Einhaltung ich
bitten möchte, damit es hier übersichtlich und hilfreich bleibt:

- Nur Berichte freier Treiber, beim nVidia-Blob wissen wir, dass er
funktioniert. :)

- Welche Architektur, i386 oder amd64 oder vielleicht ganz was anderes?

- Welche Hardware genau? Also der Chipname und gern auch den Namen der
Grafikkarte.

- Welche Software? Sprich, die verwendete Betriebssystemversion, die
Version des X.org Server, des Treiber, wenn verändert auch bitte das
Datum des DRM und die Versionen von dri, libGL und linux_dri.

- Was funktioniert und was funktioniert nicht? Wichtig sind hier vor
allem die 2D-Beschleunigung per XAA oder EXA, XVideo (xv), randr und
3D-Beschleunigung. Dazu idealerweise die Ausgabe der Programme xvinfo
und glxinfo, sowie die X.org Logdatei.

- Wenn 3D-Beschleunigung funktioniert, was geht genau? Nur Vollbild oder
auch im Fenster? Nur ein Fenster oder sogar mehrere nebeneinander?

- Benchmarks. Für 2D die Ausgabe von benchmarks/gtkperf aus den Ports.
Dies gibt einen guten Überblick über die 2D-Geschwindigkeit. Für 3D
gibt es viele Möglichkeiten. glxgears ist eher weniger geeignet, Quake
3 oder ioQ3 sind da besser.

- Ist der vt-Switch möglich, also kann man auf die Konsole
zurückschalten und dann wieder in X.org, ohne das es zu Abstürzen oder
Verlust des Bildes kommt?

- Eine subjektive Einschätzung. Also ob alles stabil läuft, ob die
Darstellung zäh ist, etc.

- Bitte nur direkte Nachfragen im Stil von "Sag mal, geht eigentlich XYZ
bei dir?". Alles andere wie "Hilfe, mein dri geht nicht!" bitte in
eigene Threads.

Diese Regeln sind nicht in Stein gemeißelt, es wäre aber schön, wenn sie
zumindest grob als Leitfaden beachtet werden würden. Und an dieser
Stelle schon einmal "danke" an alle Mithelfenden, die sich finden
werden. :)
 
Zuletzt bearbeitet:
ATi Radeon X1950 Pro (R570)

Die Hardware:
So, ich beginne dann auch gleich mit einer ATi Radeon X1950 Pro. Die
Karte basiert auf dem R570 Chipsatz von ATI, der letzten vollständigen
Eigenentwicklung von ATi vor der Übernahme durch AMD. AMD wiederum hat
Anfang 2008 die komplette Hardwaredokumentation offen gelegt, was
inzwischen zu einer guten Unterstützung geführt hat.
Die Radeon X1950 Pro war Ende 2006 das Topmodell von ATi, heute zählt
die Karte zur oberen Mittelklasse. Da sie zur R500-Familie gehört, hat
sie noch eine dedizierte 2D-Einheit, welche weitgehend der
Vergängergenerationen R400 und R300 entspricht. Eine 2D-Unterstützung
war daher schon wenige Tage, nachdem die Spezifikationen offen lagen
möglich. Der 3D-Teil ist ein Hybrid, seitens der Hardware neuentwickelt
legt er den Grundstein für die Nachfolger R600 bis R800, auf logischer
Ebene dem R300 recht ähnlich ist er ähnlich zu programmieren. Initiales
3D gab es daher im Mai 2008. Inzwischen sind die Treiber einige
Versionen weiter und die Unterstützung weitestgehend von
Kinderkrankheiten geheilt.
Ich habe meine Karte neu gekauft, es gibt noch immer welche im Handel.
Der Preis ist mit ca. 85 Euro sehr moderat und der gebotenen Leistung
locker entsprechend. Meine von Asus gebaute Karte mit dem genauen Namen
"Asus EAX1995Pro" verfügt über einen PCI-Express Anschluss der ersten
Generation, 256 Megabyte GDDR3 Speicher und - das ist das vielleicht
wichtigste - einen selbstregelnden Lüfter. Dieser ist im Betrieb so
leise, das er im geschlossenen Gehäuse nicht hörbar ist, durch die
eigene Regelung das auch unter FreeBSD. Durch die moderate TDP von 65W
kann die Karte auch auf passive Kühlung umgebaut werden.
Wie jede moderne Grafikkarte belegt auch diese 2 Slots, bei meinem
Mainboard kein großes Problem. Sie ist recht lang, halbe PCI-Baulänge
und wird über einen PCIe-Stromanschluss gespeist. Zum Lieferumfang
gehören neben der Karte selbst ein Adapterkabel für den Strom und leider
nur ein DVI->DSUB-Adapter, obwohl die Karte über zwei DVI-Ausgänge
verfügt. Hinzu kommen das Anschlusskabel für den TV-Ausgang, Treiber-CDs
für Windows und ein hässliches CD-Etui.

Die Software:
Die R500 werden erst seit kurzem unterstützt, neue Versionen liefern
daher meist noch nennenswerte Verbesserungen. Daher entschied ich mich
für das Neueste, was ich ohne große Probleme in mein System integrieren
konnte.

DRM: Der DRM wird zwar mit dem Kernel ausgeliefert, steht aber alleine
da, kann also herumkopiert werden, wie man will. Ich kopierte also die
Verzeichnisse sys/dev/drm und sys/modules/drm aus CURRENT in die Sourcen
meines FreeBSD 7.1-p4 und baute die Module. Anschließend ludt ich sie,
der DRM griff sich die Karte und funktionierte. Genauer gesagt stammt
der DRM vom Abend des 30. März 2009.

Mesa3D: Mesa3D besteht aus der libGL, den DRI-Backend und einigen
Wrapperbibliotheken. Hier nahm ich das, was mitgeliefert wird, Version
7.3. Die neue Version 7.4 liefert nur einige Bugfixes, es war mit den
Portierungsaufwand nicht wert.

X.org: Ebenfalls direkt aus den Ports, in Form des xorg-server
1.5.3_8,1.

Die Treiber: Es gibt zwei Treiber, die die Karte unterstützen. Dies ist
einmal xf86-video-radeonhd. Ich testete ein Git-Head vom Abend des 30.
März 2009. Radeonhd ist ein neuer Treiber, extra für die neuen von
Spezifikationen von AMD/ATi geschrieben. Er unterstützt R500 und die
Nachfolger, befindet sich noch in sehr aktiver Entwicklung. Wer radeonhd
nutzen möchte, sollte daher Git nutzen und sich nicht auf die Ports
verlassen. Sie hängen der Realität zu weit hinterher. Radeonhd hat
jedoch die R500-Unterstützung weitgehend aus xf86-video-ati übernommen.
xf86-video-ati ist der ältere Treiber, er unterstützt alle ATI-Karten
seit der Rage 128. Entsprechend ist er reifer, aber auch komplexer und
entsprechend schwieriger zu optimieren. Seit einiger Zeit lassen die
Entwickler des radeonhd ihren Code auch zeitgleich in diesen älteren
treiber einfließen, weshalb eine Fusion der Projekte wahrscheinlicher
wird.
Ich testete beide Treiber mehrere Stunden. In Sachen Geschwindigekit und
Funktionalität sind sind gleich, es gibt praktisch keine Unterschiede.
Da der gleiche R500-Code genutzt wird, ist dies auch nicht weiter
verwunderlich. Ich entschied mich schließlich für xf86-video-ati, alles
weitere in diesem Bericht bezieht sich auf seine Version 6.12.1 aus den
Ports. Die Gründe sind einfach, ati wirkt reifer als radeonhd. Letzterer
stürzte mir mehrmals ab, ati nicht. Außerdem bringt ati oft neue
Versionen, die schnell in die Ports kommen. Man kann hier also
problemlos die Ports nutzen und spart sich das Gehampel mit Git.

Das Testsystem:
Alle Tests wurden auf einem AMD Phenom II 940 mit viermal 3GHz gemacht.
Als Mainboard kommt das Asus M3A-H/HDMI zum Einsatz, es basiert auf dem
AMD 780G Chipsatz, welcher über eine Hypridcrossfire-Onboard-Grafik
verfügt. Diese wird aber im Moment mehr schlecht als recht unterstützt,
das Hybridcrossfire geht gar nicht. Die Maschine verfügt über 8 Gigabyte
DDR2-800 RAM, die Software bilden FreeBSD/amd64 7.1-p4 mit den Ports vom 31.
März 2009.

2D-Modus
Der 2D-Modus ist in sofern wichtig, da man die meiste Zeit des Tages in
ihm arbeitet. Der Desktop sollte beschleunigt sein, also zügig
ansprechen und ein wenig Schnickschnack ist auch sehr wünschenswert.
Hier schlägt sich die Radeon sehr gut, es wird alles unterstützt. Dies
ist einmal die Beschleunigung durch XAA und EXA. Beide sind gleich
schnell, letzteres ist jedoch zu empfehlen. Es integriert besser mit
3D-Beschleunigung. Mehr dazu unten. Die Geschwindigkeit des Desktops ist
entsprechend gut, subjektiv reagiert er extrem schnell und ohne jede
Lags und Zähigkeiten. GTKPerf bewegt sich im oberen Mittelfeld, es gibt
deutlich schnellere Karten / Treiber, gerader der nVidia-Blob ist
hervorzuheben, aber auch deutlich schlechtere. Subjektiv bemerke ich zum
Spitzenfeld keinen Unterschied.
Code:
GtkPerf 0.40 - Starting testing: Thu Apr  2 08:53:40 2009

GtkEntry - time:  0,01
GtkComboBox - time:  0,37
GtkComboBoxEntry - time:  0,31
GtkSpinButton - time:  0,07
GtkProgressBar - time:  0,06
GtkToggleButton - time:  0,13
GtkCheckButton - time:  0,04
GtkRadioButton - time:  0,14
GtkTextView - Add text - time:  0,24
GtkTextView - Scroll - time:  0,16
GtkDrawingArea - Lines - time:  0,32
GtkDrawingArea - Circles - time:  0,32
GtkDrawingArea - Text - time:  1,05
GtkDrawingArea - Pixbufs - time:  0,08
 --- 
Total time:  3,30
Auch randr ist voll unterstützt, es können die Auflösungen umgeschaltet
werden, das Bild gedreht und Monitore hinzugefügt und entfernt werden.
Entsprechend funktioniert Xinerama mit zwei Monitoren auch einwandfrei,
die Xinerama-Daten werden korrekt an die Programme übertragen.
Multimonitorbetrieb ist mit der Karte eine Freude.
Code:
DVI-1 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
   1680x1050      59.9*+   60.0  
   1400x1050      60.0  
   1280x1024      75.0     60.0     60.0  
   1440x900       60.0  
   1280x960       60.0     60.0  
   1152x864       75.0     75.0  
   1024x768       75.1     75.0     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     75.0     60.0     59.9  
   720x400        70.1
XVideo aka xv ist ebenfalls voll unterstützt. Die Karte bietet 16 Ports,
es können also 16 Videos bis zu einer Größe von 2048x2048 parallel mit
voller Hardwarebeschleunigung abgespielt werden. Das Bild ist dabei sehr
klar und scharf, es gibt kein Verwaschen, keine Sprünge, keine Absätze,
keine Schlieren, kein Jitter und auch keine der unzähligen weiteren
Fehler. Ich kann problemlos zwei mit H.256 codierte 1080p-Videos
parallel abspielen und auf 1280er Breite hinabskalieren, die
CPU-Auslastung beträgt dabei lächerliche 3%.
Code:
X-Video Extension version 2.2
screen #0
  Adaptor #0: "Radeon Textured Video"
    number of ports: 16
    port base: 57
    operations supported: PutImage 
    supported visuals:
      depth 24, visualID 0x21
    number of attributes: 2
      "XV_BICUBIC" (range 0 to 2)
              client settable attribute
              client gettable attribute (current value is 2)
      "XV_VSYNC" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 1)
    maximum XvImage size: 4096 x 4096
    Number of image formats: 4
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x59565955 (UYVY)
        guid: 55595659-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
Im 2D-Betrieb wird die Karte also perfekt unterstützt. Alle Funktionen
sind vorhanden, es gibt keine Fehler und nichts zu nörgeln.

3D-Beschleunigung
Ich bin ein 3D-Freak, ich habe sogar Träume in OpenGL. Daher war es für
mich in den letzten 18 Monaten eine Qual an einer Workstation zu sitzen,
die beim Wort 3D schon zu ruckeln begann, denn Beschleunigung hat sie
nicht. Die Anschaffung der X1950Pro sollte also vor allem dies Problem
lösen. Und, das kann ich vorwegnehmen, sie hat es gelöst.
Wie oben bereits gesagt, greift DRM die Karte, in Kombination mit Mesa
ab Version 7.3 - 7.2 hat die R500-Unterstützung anscheinend nur für
Linux, nicht aber für FreeBSD - ist es denn 3D-beschleunigt. Und dieses
3D funktioniert wirklich gut, große Macken die den Spaß verderben,
konnte ich nicht feststellen. Wer seinen Desktop mit XAA beschleunigt,
kann 2D und 3D nicht parallel nutzen, oder anders gesagt ist dann nur
eine 3D-Beschleunigung im Vollbild möglich. Anders bei EXA, hier können
OpenGL-Anwendungen im Fenster laufen. Da EXA auch sonst keine
Nebenwirkungen hat, würde ich stark zu ihm raten. Die Karte bietet 2
OpenGL-Renderflächen, jeweils in einer Größe von 2048x2048 Pixel. Es
können problemlos mehrere beschleunigte Fenster geöffnet werden, solange
diese gemeinsam nicht die Größe von zweimal 2048x2048 überschreiten. Ich
hatte viermal Quake II nebeneinander laufen, es ging problemlos.
Allerdings gibt es auch zwei Wermutstropfen. Einmal ist da die Tatsache,
dass im Moment nur OpenGL 1.3 hardwarebeschleunigt wird. In Zeiten von
OpenGL 3.1 ist das ein wenig marger, für 99% der Nutzer aber sicher
ausreichend. ich selbst hätte noch gern GLSL, wofür man aber OpenGL 2.1
bräuchte. Dies ist auch das, was die Karte in Hardware unterstützt, im
Rahmen des Galliumprojektes arbeitet man dort an entsprechender
Treiberunterstützung. Es ist recht wahrscheinlich, dass wir diese im
Laufe des Jahres noch sehen werden.
Dann ist dort der Linuxulator. Für 3D-Beschleunigung braucht man
mindestens Mesa3D 7.3, dier Linuxulator bringt als graphics/linux_dri
aber nur 7.0 mit. Daher kein 3D in ihm, entsprechend kein Doom 3 (was
aber dank OpenGL 1.3 eh nicht so toll laufen dürfte) oder RTCW. Eine
r300_dri.so aus Linux zu kopieren geht nicht, die Bibliothek muss
angepasst werden. Hier hilft nur warten und ich habe leider keine
Ahnung, ob dort eine Aktualisierung in Arbeit ist. Ich denke aber, dass
durch die Umstellung auf Linux 2.6.16 in -CURRENT in absehbarer Zeit ein
neues Linux-DRI kommen müsste.
In Sachen Leistung ist die Karte mehr als ich erhofft habe. Wie immer
ist sie langsamer als unter Windows, es schwangt zwischen 3% (Quake III)
und 28% (Quake II). Alles in allem ist das aber, wie ich gleich zeigen
werde, nicht kritisch. Und der noch junge Treiber bietet da sicher noch
Raum für Verbesserungen, die auch kommen werden. Um es klar zu sagen,
die Karte ist deutlich schneller als alles, was free3d.org listet. Im
Fenster ist die Darstellung etwa 5% langsamer als im Vollbild, das ist
normal.

Erst eimal die oben schon weitgehend erklärte Ausgabe von glxinfo:
Code:
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, 
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGI_video_sync, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 TCL
OpenGL version string: 1.3 Mesa 7.3
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, 
    GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_MESAX_texture_float, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
    GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, 
    GL_EXT_copy_texture, GL_EXT_draw_range_elements, 
    GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset, 
    GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, 
    GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, 
    GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_edge_clamp, 
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, 
    GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate, 
    GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
    GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent, 
    GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program, 
    GL_OES_read_format, GL_SGI_color_matrix, GL_SGI_color_table, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays

2 GLX Visuals
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

16 GLXFBConfigs:
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x71  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x72  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x73  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x74  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x75  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x76  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x77  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x78  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x81  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x82  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x83  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x84  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x85  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x86  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x87  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x88  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

glxgears:
Glxgears ist kein Benchmark, es ist genauso wie die anderen Mesa-Demos
lediglich ein Programm um OpenGL zu testen und Beispielcode zu geben.
Die Benchmarks sind sehr von der Größe des Fensters und seiner
Sichtbarkeit abhängig. Der besseren Vergleichbarkeit halber gebe ich
dennoch welche, aber bitte nicht so ernst nehmen. Das Fenster war in
Standardgröße und nicht verdeckt.
Code:
15624 frames in 5.0 seconds = 3124.631 FPS
15651 frames in 5.0 seconds = 3130.115 FPS
15647 frames in 5.0 seconds = 3129.247 FPS
15633 frames in 5.0 seconds = 3126.521 FPS
15633 frames in 5.0 seconds = 3126.416 FPS
15640 frames in 5.0 seconds = 3127.974 FPS
15648 frames in 5.0 seconds = 3129.584 FPS
15636 frames in 5.0 seconds = 3127.056 FPS
15624 frames in 5.0 seconds = 3124.772 FPS
15631 frames in 5.0 seconds = 3126.196 FPS
15631 frames in 5.0 seconds = 3126.149 FPS
15653 frames in 5.0 seconds = 3130.503 FPS
15656 frames in 5.0 seconds = 3131.007 FPS
15525 frames in 5.0 seconds = 3104.981 FPS

Quake III:
Quake III ist ein Klassiker, der auch heute noch gern gespielt wird und
als Quake Live gerade einen Neuaufguss erfahren hat. Das Spiel zeigt
das, was id Software so genial macht und was sie hoffentlich nach dem
stark unterbewerteten Doom III (Leute, durchspielen! Nicht nach 2 Level
in die Ecke werfen! Ihr werdet sehen, wie unheimlich das eigene Haus
plötzlich wird!) mit Rage wiederholen können. Ich bin kein guter Quake
III Spieler, die magischen 125 FPS sind mir ziemlich egal. Aber ja, er
schafft sie locker. Ich nutzte ioQuake3 in Revision 1515 aus dem SVN.
Ich habe es selbst gebaut und die Ports nicht genutzt, der Port ist
leider veraltet. Ich habe das Spiel in 1280x1024 bei maximalen Detail,
aber unverändertem cg_shadows laufen lassen. Getestet wurde die Demo
"four.dm3", aus fünf Läufen habe ich über Lauf 2,3 und 5 gemittelt. die
Läufe 1 bis 5 unterschieden sich aber eh nur hinter dem Komma. Erstmal
die Konsolenausgabe:
Code:
yamagi@saya:ttyp2 ~/spiele/quake3: ./ioquake3                        [9:46:03]
ioq3 1.35_SVN1515M freebsd-x86_64 Mar 27 2009
----- FS_Startup -----
Current search path:
/home/yamagi/.q3a/baseq3
./baseq3/q3wpak4.pk3 (562 files)
./baseq3/q3wpak3.pk3 (447 files)
./baseq3/q3wpak2.pk3 (195 files)
./baseq3/q3wpak1.pk3 (396 files)
./baseq3/q3wpak0.pk3 (287 files)
./baseq3/q3wctf1.pk3 (116 files)
./baseq3/q3tourney7.pk3 (10 files)
./baseq3/pak8.pk3 (9 files)
./baseq3/pak7.pk3 (4 files)
./baseq3/pak6.pk3 (64 files)
./baseq3/pak5.pk3 (7 files)
./baseq3/pak4.pk3 (272 files)
./baseq3/pak3.pk3 (4 files)
./baseq3/pak2.pk3 (148 files)
./baseq3/pak1.pk3 (26 files)
./baseq3/pak0.pk3 (3539 files)
./baseq3

----------------------
6086 files in pk3 files
execing default.cfg
execing q3config.cfg
couldn't exec autoexec.cfg
Hunk_Clear: reset the hunk ok
----- Client Initialization -----
----- Initializing Renderer ----
-------------------------------
QKEY found.
----- Client Initialization Complete -----
----- R_Init -----
SDL using driver "x11"
Initializing OpenGL display
Estimated display aspect: 1.600
...setting mode 8: 1280 1024
Using 4/4/4 Color bits, 24 depth, 8 stencil display.
Available modes: '1680x1050 1440x900 720x400 640x480 800x600 832x624 1024x768 1152x864 1280x960 1400x1050 1280x1024'
GL_RENDERER: Mesa DRI R300 20060815 TCL
Initializing OpenGL extensions
...GL_EXT_texture_compression_s3tc not found
...GL_S3_s3tc not found
...using GL_EXT_texture_env_add
...using GL_ARB_multitexture
...using GL_EXT_compiled_vertex_array
...ignoring GL_EXT_texture_filter_anisotropic

GL_VENDOR: DRI R300 Project
GL_RENDERER: Mesa DRI R300 20060815 TCL
GL_VERSION: 1.3 Mesa 7.3
GL_EXTENSIONS: GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow_ambient GL_SUN_multi_draw_arrays
GL_MAX_TEXTURE_SIZE: 4096
GL_MAX_TEXTURE_UNITS_ARB: 8

PIXELFORMAT: color(32-bits) Z(24-bit) stencil(8-bits)
MODE: 8, 1280 x 1024 fullscreen hz:N/A
GAMMA: hardware w/ 0 overbright bits
rendering primitives: single glDrawElements
texturemode: GL_LINEAR_MIPMAP_LINEAR
picmip: 0
texture bits: 32
multitexture: enabled
compiled vertex arrays: enabled
texenv add: enabled
compressed textures: disabled
Forcing glFinish
Initializing Shaders
----- finished R_Init -----
------ Initializing Sound ------
fcntl: Device not configured
Allocated 96 sources.
OpenAL default capture device is ''
grab_read_native Not implemented! (backends/alc_backend_bsd.c:409)
OpenAL capture device opened.
OpenAL info:
  Vendor:     OpenAL Community
  Version:    1.1
  Renderer:   Software
  AL Extensions: ALC_EXT_capture AL_EXT_capture AL_LOKI_quadriphonic AL_LOKI_play_position AL_LOKI_WAVE_format AL_LOKI_IMA_ADPCM_format AL_LOKI_buffer_data_callback ALC_LOKI_audio_channel 
  ALC Extensions: 
Sound initialization successful.
--------------------------------
Loading vm file vm/ui.qvm...
total 0, hsize 1021, zero 1021, min 0, max 0
total 7862, hsize 1021, zero 10, min 0, max 25
VM file ui compiled to 2574196 bytes of code (0x81ac00000 - 0x81ae74774)
compilation took 0.967096 seconds
ui loaded in 1368576 bytes on the hunk
82 arenas parsed
32 bots parsed
--- Common Initialization Complete ---
Opening IP6 socket: [::]:27960
Opening IP socket: 0.0.0.0:27960
]\quit
----- CL_Shutdown -----
OpenAL capture device closed.
RE_Shutdown( 1 )
-----------------------
Und nund die Ergebnisse:
Code:
1260 frames 7.9 seconds 159.8 fps 3.0/6.3/15.0/1.3 ms

Quake II:
Quake II ist ein altes Spiel, es gehört zur ersten Generation
beschleunigter Spiele. Ich habe hier den Icculus-Port genutzt,
ebenfalls wieder selbst gebaut. Aufgrund seines Alters nutzt Quake II
einige alte, exotische GL-Extensions. Damit stellt es erfahrungsgemäß
Mesa3D vor eine schwere Aufgabe. Es könnte schneller laufen, wie oben
geschrieben ist es um 28% langsamer als unter Windows, aber immer noch
locker spielbar. Einmal die Ausgabe:
Code:
yamagi@saya:ttyp2 ~/spiele/quake2: ./quake2                          [9:52:38]
Quake 2
Added packfile ./baseq2/pak0.pak (3307 files)
Added packfile ./baseq2/pak1.pak (279 files)
Added packfile ./baseq2/pak2.pak (2 files)
using /home/yamagi/.quake2/baseq2/ for writing
execing default.cfg
execing config.cfg
Console initialized.

------- sound initialization -------
sound sampling rate: 22050
------------------------------------
------- Loading ref_gl.so -------
LoadLibrary("./ref_gl.so")
Refresh: OpenGL 1.0
Using libGL.so for OpenGL...setting mode 3: 640 480
GL_VENDOR: DRI R300 Project
GL_RENDERER: Mesa DRI R300 20060815 TCL
GL_VERSION: 1.3 Mesa 7.3
GL_EXTENSIONS: GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow_ambient GL_SUN_multi_draw_arrays
...enabling GL_EXT_compiled_vertex_array
...ignoring GL_EXT_point_parameters
...GL_EXT_shared_texture_palette not found
...ignoring GL_ARB_multitexture
...GL_SGIS_multitexture not found
------------------------------------
CDAudio_Init: Unable to open default CD-ROM drive: Invalid CD-ROM drive index
------- Loading game.so -------
==== InitGame ====
------- Server Initialization -------
0 entities inhibited
0 teams with 0 entities
-------------------------------------
====== Quake2 Initialized ======

0.0.0.0:0: client_connect
==== ShutdownGame ====
Server was killed.
]quit
recursive shutdown
Dann der Benchmark, wieder 1280x1024 bei maximalen Details. Gemittelt
über Lauf 2,3 und 5 von 5 Läufen mit "demo1.dm2":
Code:
689 frames, 2.7 seconds: 255.2 fps

Blender:
Blender wurde in Version 2.48a getestet, als klassische OpenGL-Anwendung
ist es anspruchsvoll und für seine Zicken bekannt. Er leidet ein wenig
am fehlenden GLSL, aber das ist zu verschmerzen. Um Grafikfehler zu
vermeiden muss im Solidmode das linksseitige OpenGL-Lightning
abgeschaltet werden, die Objekte flackern sonst. Menüs werden korrekt
dargestellt, es gibt keine fehlenden Elemente oder schwarzen Flächen.
Die Drop-Down-Menüs könnten subjektiv gesehen ein wenig flüssiger sein,
aber das ist verschmerbar. Die Benchmarks wie immer über 5 Läufe,
gemittelt über Lauf 2,3 und 5:
Code:
Draw 3848 Iterations
Das ist nicht überragend schnell, allerdings ist die Navigation auch in
einer Szene mit 15.000.000 Polygonen noch ruckelfrei und Aussetzer
möglich. Daher auch für komplexere Aufgaben vollkommen ausreichend und
praktisch einsetzbar.

Powermanagement:
Die Karte hat wie alle R500 nur eingeschränktes Powermanagement, der
Treiber schrängt dies noch einmal ein. Der Lüfter ist selbstregelnd,
daher sehr leise, aber dies ist von Karte zu Karte unterschiedlich. Der
Stromverbrauch im Leerlauf beträgt 16W, unter Last bis zu 53W. Die Werte
sind angenähert und hinter dem Netzteil gemessen.

TV-Ausgang
Ich konnte ihn mangels Hardware - mein TV hat einen D-Sub - nicht
testen, aber nach Manpage und Mailingliste sollte er funktionieren.

VT-Switch
Funktioniert perfekt, sogar bei laufenden OpenGL-Anwendungen.

Fazit
Ich kaufte die Karte um 3D-Beschleunigung unter FreeBSD/amd64 zu
bekommen und ich bekam sie. Es läuft sehr gut, der Linuxulator und nur
OpenGL 1.3 trüben das Bild ein wenig, aber das ändert sich hoffentlich
bald. Auch im 2D-Betrieb ist die Karte hervorragend, das bei moderater
Leistungsaufnahme. Zumindest für eine Karte dieses Kalibers und ihrer
Generation. Alles in allem ein gutes Geschäft, da es die Karte nach wie
für für ca. 85 Euro neu zu erwerben gibt, gibt es nun keinen grund mehr
über mangelndes 3D unter FreeBSD/amd64 zu nörgeln. Moderne
Mittelklassekarten sind preislich in in ähnlichem Rahmen und auch nicht
schneller, aber schlechter unterstützt.

Noch ein paar Links:
Unterstützte Spiele, nicht ganz aktuell: http://xorg.freedesktop.org/wiki/RadeonProgram
Features der Karten und Treiber: http://xorg.freedesktop.org/wiki/RadeonFeature
Vergleichswerte: http://www.free3d.org/
 
Vielen Dank für den Test.
Vllt hab ich das jetzt überlesen, aber funktioniert die 3D Beschleunigung im Multihead mit Xinerama auch?
 
Ja, einwandfrei. Du kannst die beschleunigten Fenster - also Blender oder Quake III im Fenster - von Monitor auf A auf Monitor B schieben. Im Vollbild kommt es darauf an, ob die Anwendung Xinerama unterstützt. Tut sie das, wie z.B. ioQuake3, geht sie auf Monitor A in Fullscreen und Monitor B schaltet sich ab. Tut sie es nicht, geht sie über beide, mit dem Mittelpunkt am Schnittpunkt der Monitore. Da muss man dann per randr vor dem Start einen Monitor rauswerfen und nach dem Spielen wieder reinnehmen.

Edit: Die maximale Größe der OpenGL-Ausgabe ist 2048x2048 Pixel. Wenn du also zwei handelsübliche Monitore nebeneinanderstellst und deine Anwendung im Vollbild über beide laufen lassen möchtest, wird das eng. Bei zwei Monitoren mit je 1280x1024 hast du so kombiniert eine Fläche von 2560x1024. Das ist zu breit, deine Anwendung kann davon maximal 2048x1024 nutzen. Dies ist aber eine Hardwarebeschränkung, also liegt es nicht am Treiber.
 
Zuletzt bearbeitet:
Auf die Resultate von Yamagi komme ich nie im Leben :grumble: Trotzdem hier einige Erfolgsmeldungen.:)

System
  • 7.2-PRERELEASE/amd64 von Fri Apr 3 18:44:22 CEST 2009
  • xorg-server-1.5.3_8,1, ports vom 3.4.2009
  • Intel E2180 auf einem ASUS P5QL-E
  • 8GB RAM, 800MHz
  • Club3D 3450, 256MB DDR2, PCI-E, RV620, passiv gekühlt, Artikelnummer CGAX-3456, ca €30.-
  • xf86-video-radeonhd-devel-1.2.4.20090301
mit folgender xorg.conf (auszugsweise):
Code:
Section "Module"
	Load  "dbe"
	Load  "dri"
	Load  "extmod"
	Load  "glx"
	Load  "record"
	Load  "xtrap"
	Load  "freetype"
EndSection

...

Section "Monitor"
	#DisplaySize	  470   300	# mm
	Identifier   "Monitor0"
	VendorName   "PHL"
	ModelName    "Philips 220WS"
 ### Comment all HorizSync and VertRefresh values to use DDC:
	#HorizSync    30.0 - 93.0
	#VertRefresh  56.0 - 76.0
	#Option	    "DPMS"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "Dac6Bit"            	# [<bool>]
        #Option     "Dac8Bit"            	# [<bool>]
        #Option     "BusType"            	# [<str>]
        #Option     "CPPIOMode"          	# [<bool>]
        #Option     "CPusecTimeout"      	# <i>
        #Option     "AGPMode"            	# <i>
        #Option     "AGPFastWrite"       	# [<bool>]
        #Option     "AGPSize"            	# <i>
        #Option     "GARTSize"           	# <i>
        #Option     "RingSize"           	# <i>
        #Option     "BufferSize"         	# <i>
        #Option     "EnableDepthMoves"   	# [<bool>]
        #Option     "EnablePageFlip"     	# [<bool>]
        #Option     "NoBackBuffer"       	# [<bool>]
        #Option     "DMAForXv"           	# [<bool>]
        #Option     "FBTexPercent"       	# <i>
        #Option     "DepthBits"          	# <i>
        #Option     "PCIAPERSize"        	# <i>
        #Option     "AccelDFS"           	# [<bool>]
        #Option     "DDCMode"            	# [<bool>]
        #Option     "IgnoreEDID"         	# [<bool>]
        #Option     "DisplayPriority"    	# [<str>]
        #Option     "PanelSize"          	# [<str>]
        #Option     "ForceMinDotClock"   	# <freq>
        #Option     "ColorTiling"        	# [<bool>]
        #Option     "VideoKey"           	# <i>
        #Option     "RageTheatreCrystal" 	# <i>
        #Option     "RageTheatreTunerPort" 	# <i>
        #Option     "RageTheatreCompositePort" 	# <i>
        #Option     "RageTheatreSVideoPort" 	# <i>
        #Option     "TunerType"          	# <i>
        #Option     "RageTheatreMicrocPath" 	# <str>
        #Option     "RageTheatreMicrocType" 	# <str>
        #Option     "ScalerWidth"        	# <i>
        #Option     "RenderAccel"        	# [<bool>]
        #Option     "SubPixelOrder"      	# [<str>]
        #Option     "ShowCache"          	# [<bool>]
        #Option     "DynamicClocks"      	# [<bool>]
        #Option     "VGAAccess"          	# [<bool>]
        #Option     "ReverseDDC"         	# [<bool>]
        #Option     "LVDSProbePLL"       	# [<bool>]
        #Option     "AccelMethod"        	# <str>
        Option	    "AccelMethod" "exa"
	#Option     "DRI"                	# [<bool>]
        Option	    "DRI" "On"
	#Option     "ConnectorTable"     	# <str>
        #Option     "DefaultConnectorTable" 	# [<bool>]
        #Option     "DefaultTMDSPLL"     	# [<bool>]
        #Option     "TVDACLoadDetect"    	# [<bool>]
        #Option     "ForceTVOut"         	# [<bool>]
        #Option     "TVStandard"         	# <str>
        #Option     "IgnoreLidStatus"    	# [<bool>]
        #Option     "DefaultTVDACAdj"    	# [<bool>]
        #Option     "Int10"              	# [<bool>]
	Identifier  "Card0"
	Driver      "radeonhd"
	VendorName  "ATI Technologies Inc"
	BoardName   "Unknown Board"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "DRI"
	Mode	0666
EndSection

2D
Code:
GtkPerf 0.40 - Starting testing: Fri Apr  3 21:32:33 2009

GtkEntry - time:  0,00
GtkComboBox - time:  0,09
GtkComboBoxEntry - time:  0,08
GtkSpinButton - time:  0,03
GtkProgressBar - time:  0,03
GtkToggleButton - time:  0,05
GtkCheckButton - time:  0,02
GtkRadioButton - time:  0,02
GtkTextView - Add text - time:  0,02
GtkTextView - Scroll - time:  0,00
GtkDrawingArea - Lines - time:  0,09
GtkDrawingArea - Circles - time:  0,09
GtkDrawingArea - Text - time:  0,20
GtkDrawingArea - Pixbufs - time:  0,04
 --- 
Total time:  0,81
Ausgabe von xrandr
Code:
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 1680 x 1680
TV_7PIN_DIN disconnected (normal left inverted right x axis y axis)
VGA_1 disconnected (normal left inverted right x axis y axis)
DVI-I_1/digital connected 1680x1050+0+0 (normal left inverted right x axis y axis) 434mm x 270mm
   1680x1050      59.9*+   59.9  
   1600x1200      60.0     59.9  
   1400x1050      74.8     60.0  
   1280x1024      75.0     59.9     60.0  
   1440x900       74.9     60.0  
   1280x960       60.0     59.9  
   1152x864       75.0     74.9  
   1280x720       59.9  
   1024x768       75.1     75.0     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     72.8     75.0     66.7     60.0     59.9  
   720x400        70.1  
DVI-I_1/analog disconnected (normal left inverted right x axis y axis)
xvinfo:
Code:
X-Video Extension version 2.2
screen #0
  Adaptor #0: "RadeonHD Textured Video"
    number of ports: 16
    port base: 95
    operations supported: PutImage 
    supported visuals:
      depth 24, visualID 0x21
    no port attributes defined
    maximum XvImage size: 8192 x 8192
    Number of image formats: 4
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x59565955 (UYVY)
        guid: 55595659-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
Grundsätzlich ist der Bildaufbau ok. Bei einigen Anwendungen (qemu, totem) wird der ganze Bildschirm kurz (~2s :cool:) schwarz bevor die Anwendung startet.
Umschalten in die Konsole und zurück funktioniert jeweils mit einem schwarzen Bildschirm von ca. 3 - 4 Sekunden, geht auch mit laufendem glxgears.
Der X-server kann aber nicht neu gestartet werden ohne dass das System hängt, selbst ein Wechsel in der Single-User-Mode und zurück reicht nicht.

3D
glxgears
Code:
998 frames in 5.0 seconds = 199.557 FPS
988 frames in 5.0 seconds = 197.480 FPS
967 frames in 5.0 seconds = 193.242 FPS
1056 frames in 5.0 seconds = 211.121 FPS
666 frames in 5.0 seconds = 133.099 FPS
586 frames in 5.0 seconds = 117.099 FPS
656 frames in 5.0 seconds = 131.173 FPS
wobei gerade ein Kern mit qemu ausgelastet ist... Viel mehr als 250 FPS gibts aber nicht.
Code:
name of display: :0.0
Xlib:  extension "Generic Event Extension" missing on display ":0.0".
Xlib:  extension "Generic Event Extension" missing on display ":0.0".
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, 
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 7.3
OpenGL shading language version string: 1.10
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_half_float_pixel, GL_ARB_imaging, GL_ARB_multisample, 
    GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shader_objects, 
    GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_shadow_ambient, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, 
    GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
    GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, 
    GL_EXT_copy_texture, GL_EXT_depth_bounds_test, GL_EXT_draw_range_elements, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_blit, GL_EXT_fog_coord, 
    GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, 
    GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, 
    GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_rescale_normal, 
    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
    GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, 
    GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1, 
    GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, 
    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_mirror_once, GL_ATI_fragment_shader, 
    GL_ATI_separate_stencil, GL_IBM_multimode_draw_arrays, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_program_debug, 
    GL_MESA_resize_buffers, GL_MESA_texture_array, GL_MESA_ycbcr_texture, 
    GL_MESA_window_pos, GL_NV_blend_square, GL_NV_fragment_program, 
    GL_NV_light_max_exponent, GL_NV_point_sprite, GL_NV_texture_rectangle, 
    GL_NV_texgen_reflection, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    GL_OES_read_format, GL_SGI_color_matrix, GL_SGI_color_table, 
    GL_SGI_texture_color_table, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, 
    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, 
    GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays

3 GLX Visuals
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x71 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

32 GLXFBConfigs:
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x72  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x73  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x74  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x75  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x76  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  8  0  0  0  0  0 0 None
0x77  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  8 16 16 16 16  0 0 Slow
0x78  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  8  0  0  0  0  0 0 None
0x79  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  8 16 16 16 16  0 0 Slow
0x7a  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x7b  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x7c  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x7d  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x7e  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x7f  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x80  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x81  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x82  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x83  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x84  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x85  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x86  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  8  0  0  0  0  0 0 None
0x87  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  8 16 16 16 16  0 0 Slow
0x88  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  8  0  0  0  0  0 0 None
0x89  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  8 16 16 16 16  0 0 Slow
0x8a  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x8b  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x8c  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x8d  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x8e  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x8f  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x90  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x91  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

Blender liefert ungefähr 430 Iterationen, Quake habe ich nicht installiert.

Rest
Habe ich nicht getestet, könnte bei Nachfrage Multimonitor oder weiter Messresultate nachliefern.

Fazit
Es tut alles was ich brauche, auch wenn die Geschwindigkeit nicht überragend ist.

mousaka

Nachtrag nach Update auf xorg-server 1.6.0_1 und MesaLibs 7.4
Das schwarze Schirm vor qemu, totem usw. ist weg :-)
An der Leistung hat sich nicht geändert auch wenn jetzt OpenGL 2.1 vorhanden ist.

Ebenfalls weg mit dem Update sind die diversen
Code:
Xlib: extension "Generic Event Extension" missing on display ":0.0".
 
Zuletzt bearbeitet:
Hier meine ATI Mobility Radeon HD 3400 im Dell Studio 1535 (Notebook)
  • OS-Version 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #4: Sat Apr 4 10:31:45 CEST 2009 (amd64)
  • xorg-server-1.6.0,1
  • Chipset: "ATI Mobility Radeon HD 3400 Series" (ChipID = 0x95c4)

DRM-Kernelunterstützung (aus dmesg):
info: [drm] Setting GART location based on new memory map
info: [drm] Loading RV620 CP Microcode
info: [drm] Loading RV620 PFP Microcode
info: [drm] Resetting GPU
info: [drm] writeback test succeeded in 1 usecs
drm0: [ITHREAD]

xorg.conf:
Section "Screen"
Identifier "Screen0"
Device "Card0"
# Monitor "Monitor0"
DefaultDepth 24

SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800"
EndSubSection
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/ums0"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Identifier "Synaptics_Touchpad"
Driver "synaptics"

Option "Device" "/dev/psm0"
Option "Protocol" "psm"

Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"

Option "FingerLow" "25"
Option "FingerHigh" "30"

Option "MaxTapTime" "180"
Option "MaxTapMove" "220"

Option "VertScrollDelta" "100"
Option "HorizScrollDelta" "100"

Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.06"
Option "AccelFactor" "0.0010"

Option "ScrollButtonRepeat" "100"
Option "UpDownScrolling" "on"
Option "UpDownRepeat" "on"
Option "LeftRightScrolling" "on"
Option "LeftRightRepeat" "on"

# "SHMConfig on" seems good works with synclient(1). But this
# options is insecure. I recommended "off" as default.
Option "SHMConfig" "off"

# If you use circular touchpad, uncomment them.
# Option "CircularPad" "on"
# Option "CircularScrolling" "on"
# Option "CircScrollDelta" "0.5"
EndSection


Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
InputDevice "Mouse1" "CorePointer"
InputDevice "Synaptics_Touchpad" "CorePointer"
EndSection

Section "Files"
ModulePath "/usr/local/lib/xorg/modules"
FontPath "/usr/local/lib/X11/fonts/misc/"
FontPath "/usr/local/lib/X11/fonts/TTF/"
FontPath "/usr/local/lib/X11/fonts/OTF"
FontPath "/usr/local/lib/X11/fonts/Type1/"
FontPath "/usr/local/lib/X11/fonts/100dpi/"
FontPath "/usr/local/lib/X11/fonts/75dpi/"
FontPath "/usr/local/lib/X11/fonts/URW/"
FontPath "/usr/local/lib/X11/fonts/bitstream-vera/"
FontPath "/usr/local/lib/X11/fonts/webfonts/"
EndSection


Section "Module"
Load "extmod"
Load "glx"
Load "dri"
Load "dbe"
Load "record"
Load "xtrap"
# Load "type1"
Load "freetype"
Load "synaptics"
Load "GLcore"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
#Option "Device" "/dev/ums0"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5"
EndSection


Section "Monitor"
Identifier "Monitor0"
Option "DPMS"
EndSection

Section "Device"
Identifier "Card0"
Driver "ati"
Option "DRI" "True"
Option "PageFlip" "True"
Option "TripleBuffer" "True"
Option "Accel" "True"
Option "AccelMethod" "EXA"
Option "ExaNoComposite" "false"
Option "MigrationHeuristic" "greedy"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1200x800"
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
Option "DAMAGE" "True"
Option "SECURITY" "True"
Option "MIT-SHM" "True"
EndSection

Section "DRI" # <=== Grafik Beschleunigung
Mode 0666
EndSection

Hinweis: radeonhd-devel-1.2.4.20090301-Treiber funktioniert nicht, das Display wird dort nicht korrekt erkannt

GtkPerf (unter KDE 4.2.2):
GtkPerf 0.40 - Starting testing: Sat Apr 4 19:17:47 2009

GtkEntry - time: 0.02
GtkComboBox - time: 1.10
GtkComboBoxEntry - time: 0.80
GtkSpinButton - time: 0.05
GtkProgressBar - time: 0.03
GtkToggleButton - time: 0.06
GtkCheckButton - time: 0.04
GtkRadioButton - time: 0.09
GtkTextView - Add text - time: 0.26
GtkTextView - Scroll - time: 0.12
GtkDrawingArea - Lines - time: 0.48
GtkDrawingArea - Circles - time: 1.65
GtkDrawingArea - Text - time: 73.06
GtkDrawingArea - Pixbufs - time: 1.05
---
Total time: 78.82

xrandr:
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 1280 x 1280
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
1280x800 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 59.9
800x600 59.9
640x480 59.4
HDMI-0 disconnected (normal left inverted right x axis y axis)

xvinfo:
X-Video Extension version 2.2
screen #0
Adaptor #0: "Radeon Textured Video"
number of ports: 16
port base: 57
operations supported: PutImage
supported visuals:
depth 24, visualID 0x21
number of attributes: 1
"XV_VSYNC" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
maximum XvImage size: 8192 x 8192
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)

glxgears:
unknown chip id 0x95c4, can't guess.
1465 frames in 5.0 seconds = 292.886 FPS
1476 frames in 5.0 seconds = 295.145 FPS
1504 frames in 5.0 seconds = 300.746 FPS
1415 frames in 5.0 seconds = 282.633 FPS
1403 frames in 5.0 seconds = 280.486 FPS
1432 frames in 5.0 seconds = 286.311 FPS
1415 frames in 5.0 seconds = 282.967 FPS

Was mir persönlich fehlt, ist die Unterstützung der Destop-Effekte für KDE4.
 
An dieser stelle eine kleine Zwischenfrage an Yamagi, denn die Ergebnisse konnte ich bisher auch nicht ganz reproduzieren.

Kannst du (falls du da irgendwelche Optionen setzt bitte auch deine xorg.conf mit uns teilen.

Ansonsten *delete me* wenn dieser Post hier stört.

Edit: Alternativ wäre das natürlich auch eine wunderschöne Ergänzung für das Wiki.
 
Zuletzt bearbeitet:
Die xorg.config ist eigentlich ganz unspektakulär, nur der Standardkrams:
Code:
# X.org Konfiguration für X11R7.6
# ===============================

# Layouts
# -------
Section "ServerLayout"
	Identifier     "dualscreen"
	Screen         "Screen0"
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "Mouse0"    "CorePointer"
EndSection

# ============

# Servererweiterungen
# -------------------
Section "Extensions"
EndSection

# ============

# Dateien, die X nutzen soll
# --------------------------
Section "Files"
EndSection

# ============

# Serverkonfiguration
# -------------------
Section "ServerFlags"
	Option "AllowEmptyInput" "false"
	Option "OffTime"  "10" 
EndSection

# ============

# Module und Erweiterungen des Servers
# ------------------------------------
Section "Module"
EndSection

# ============

# Die Maus
# --------
Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "SysMouse"
	Option	    "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5"
EndSection

# ============

# Die Tastatur
# ------------
Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "de"
        Option      "XkbVariant" "nodeadkeys"
EndSection

# ============

# Monitore
# --------

# Rechts
Section "Monitor"
	Identifier   "Monitor0"
	Option       "DPMS"
EndSection

# Links
Section "Monitor"
        Identifier   "Monitor1"
	Option       "LeftOf" "Monitor0"
	Option       "DPMS"
EndSection

# ============

# Grafikkarten
# ------------

# Oben
Section "Device"
	Identifier  "Card0"
	Driver      "radeon"
	Option      "DRI" "true"
	Option      "AccelMethod" "exa"
	Option      "Monitor-DVI-0" "Monitor0"
	Option      "Monitor-DVI-1" "Monitor1"
EndSection

# ============

# Screens
# -------
Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes "1280x1024"
		Virtual 2560 1024
	EndSubSection
EndSection

Das DRM auch, nach wie vor die gleiche Version wie oben im Testbericht:
Code:
root@saya:ttyp7 ~> dmesg | grep drm                                 [15:54:43]
drm0: <ATI Radeon X1950> on vgapci0
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 R500 Microcode
info: [drm] Num pipes: 3
info: [drm] writeback test succeeded in 1 usecs
drm0: [ITHREAD]

Die Karte noch mal genauer:
Code:
vgapci0@pci0:1:0:0:     class=0x030000 card=0x01821043 chip=0x72801002 rev=0x9a hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'Radeon X1950 Pro Radeon X1950 Pro Series AGP (0x7280)'
    class      = display
    subclass   = VGA

Aber ich denke nicht, dass das dir groß helfen wird. Was hakt denn genau, ist es zu langsam?

Mit Wiki mal schauen. Wäre eigentlich eine gute Sache...
 
Nein, tue ich nicht. Wie kommst du darauf?
Code:
root@saya:ttyp9 ~> ps auxww | grep hal                              [17:53:38]
root    28262  0.0  0.0  5928  1220  p9  R+    5:53PM   0:00.00 grep hal
0.000u 0.004s 0:00.00 0.0%	0+0k 0+0io 0pf+0w
 
Der Unterschied zwischen mousaka und schlesi ist ja ganz schön enorm. Ist denn die 2D-Beschleunigung von R600+ wirklich so gut das man auf einen Wert von 0,81 kommt? Das wäre ja wirklich extrem gut. Selber konnte ich es bisher leider noch nicht ausprobieren.
 
Zuletzt bearbeitet:
Die 2D-Beschleunigung steht den älteren Karten in nichts mehr nach, solange man ein aktuelles DRI nutzt und einen aktuellen Treiber. Das bedeutet also praktisch FreeBSD 7.2-RC2 oder so mit dem aktuellen Treiber aus den Ports. Aber wie ich oben schrieb, diese GTKPerf-Werte sind mehr Theorie als Realität. Zwischen 3.30 wie ich sie hatte und den 0.81 von mousaka dürfte kein Unterschied zu spüren sein. Was bei schlesi klemmt, kann ich nur vermuten. Da dort die extreme Langsamheit nur ber der "DrawingArea" vorliegt, die man in der Praxis kaum findet, dürfte es auch dort subjektiv sich nicht langsamer anfühlen als alle anderen ATi-Karten. Die Ursache könnte eine alte Treiberversion sein oder eine Spezialität der Karte, die noch nicht ausprogrammiert ist oder war.
 
Bei schlesi kommt ja die Fehlermeldung "unknown chip id 0x95c4, can't guess.". Vermutlich funktioniert das DRI da nicht 100% richtig. Meine Notebook-GPU hat übrigens die gleiche Device-ID (HD 3470 Mobile), ohne Beschleunigung hatte ich da bei GTKPerf immer so ca. 45s, wie es jetzt mit Beschleunigung ist, habe ich aber noch nicht probiert. Aber ein Wert <10s sollte aufjeden Fall ausreichen. Aber ich denke ein noch niedrigerer Wert kann vor allem für XRender basierte Desktopeffekte von KDE4 ganz praktisch sein.

MfG
 
Habe mein System auf die 7.2 gebracht und alle Ports aktualisiert, leider bekomme ich bei meiner Radeon 4850 und meiner Röhre immer noch ein Out of Sync wenn ich vom X in die Console wechseln will.
Als Treiber nehme ich radeonhd (nicht devel) gibts da ne Lösung?
 
Hi,
ich habe jetzt "ati" verwendet und jetzt kann ich erstmal ieder in die Console wechseln. Das einzigste was mich Stört sind überall Artefakte die immer dort sind wo sich was Bewegt.
z.B. im Firefox der Drehende Kreis oben Links. Im KDE 4 habe ich Ständig die Maus als Flackern.

EDIT:
Aus Spaß habe ich jetzt mal die ein paar Sachen aus den hier geposteten Xorg.conf's genommen und die Fehler sind weg ich habe folgendes Eingetragen unter Device:

Option "PageFlip" "True"
Option "TripleBuffer" "True"
Option "Accel" "True"
Option "AccelMethod" "EXA"
Option "ExaNoComposite" "false"
Option "MigrationHeuristic" "greedy"

was genau den Fehler gelöst hat weiß ich nicht, mich würde interessieren was es sein kann und was die Optionen machen. gibt es da ne Referenz?
 
Zuletzt bearbeitet:
Nimm die Optionen doch mal alle raus und füge sie eine nach dem anderen wieder hinzu. Dann siehst du, was den Fehler gelöst hat... :belehren:
 
Hi,
ich wusste von der Möglichkeit und ich habe es jetzt mal gemacht das ich keine jetzt keine Filme schauen kann, ohne das der Film hängt und meine CPU voll ausgelastet wird. Aber das lustigste ist beim mplayer das der mir sagt mein System sei zu langsam um einen Film abzuspielen ^^

Also habe ich jetzt probiert und probiert. Die Darstellungsfehler sind mit der Option

Option "MigrationHeuristic" "greedy"

weg. Aber das System ist auch total langsam ;'(

Was kann ich denn machen?

EDIT: Die eigene Blödheit ist manchmal Grenzenlos. Ich hatte noch einen Compizmanager am laufen.
Jetzt funktioniert alles ^^
 
Zuletzt bearbeitet:
Ok hier meine bescheidene Hardware

System:

* 7.2 i386
* xorg-server-1.6.0.1
* Pentium4 2400Mhz
* 2GB Ram
* Radeon 9250 mit 128mb Memory
* xf86-video-radeonhd-devel-1.2.4.20090301

glxgears performance:

6413 frames in 5.0 seconds = 1282.153 FPS
6401 frames in 5.0 seconds = 1280.070 FPS
6436 frames in 5.0 seconds = 1287.115 FPS
6389 frames in 5.0 seconds = 1277.631 FPS
6343 frames in 5.0 seconds = 1268.444 FPS

Ich musste noch Firefox laufen lassen um diesen Thread zu schreiben, vielleicht sind es dann mehr. Ausserdem detektiert das System die Grafikkarte als 64MB ram Karte und dass stimmt sicher nicht. Sie hat 128MB Ram.
Quake3 hab ich icht auf der Platte, aber Bzflag. Da ich von einer alten Nvidia Geforce 2 (closed source) zu einer alten Radeon (opensource) gewechselt habe, merke ich einen gewissen Unterschied. Bei der DRI/DRM Treiber und der Radeon Karte gibt es öffters Texturen Probleme, die hatte ich mit der alten Geforce nie.
Kann eben auch daran liegen, dass das System die Karte als 64MB erkennt und die zuwenig Memory zuweist.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

mit welcher Framerate läuft bei euch SuperTuxKart? Die Framerate könnt Ihr mit der F12-Taste einblenden.
 
Zurück
Oben