ATi's Radeon 8500 unter Linux |
Zur Zeit gibt es keine offizielle Möglichkeit, ATi's Radeon 8500 vernünftig unter Linux zu betreiben. Erst XFree86 4.2.0 wird vernünftigen 2D Support bieten, jedoch nützt dies nichts, wenn man jetzt sofort eine funktionierende 2D-Karte haben möchte. 3D-Support steht leider noch in den Sternen. Jedoch will ATi im Februar/März 2002 Treiber für ihre FireGL 8700 / 8800 bereitstellen, welche unter Linux laufen und auf dem selben Chip (R200) basieren wie die Radeon 8500. Die Firma XiGraphics stellt für $99 eine X-Server bereit, welcher bald 2D & 3D Support für die Radeon 8500 bieten soll. Bis dahin soll Euch diese Anleitung weiterhelfen. Bitte als root einloggen!!! 1. Kernel vorbereiten Wir benötigen einen Kernel ab Version 2.4.x, welche es hier gibt. Im Kernel müssen folgende Schalter aktiviert werden: (Wer noch nie einen Kernel kompiliert hat, der sollte sich die Kernel-HOWTO ansehen)
2. XFree herunterladen Da die Radeon 8500 in der aktuellen Version 4.1.0 nicht unterstütztwird, bleibt uns die Kompilierung des CVS nicht erspart. Dazu laden wir zuerst den Source Code runter (Achtung: ca. 250 MB ungepackt!!!)
2. XFree konfigurieren So, nach dem Download müssen wir XFree noch kurz konfigurieren.
3. XFree kompilieren Nun wechseln wir zurück in das /xc Verzeichnis. Dort starten wir die Kompilierung (benötigt ca. 280 MB Speicherplatz!) mit folgendem Befehl:
4. fertig So, nun noch schnell die Datei XF86Config-4 geändert und den Rechner neu starten. Die XF86Config-4 sollte nun ähnlich aussehen: Section "ServerLayout" Identifier "XFree86 Configured" Screen0 "Screen0" 0 0 InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" RgbPath"/usr/X11R6/lib/X11/rgb" ModulePath"/usr/X11R6/lib/modules" FontPath "unix:/-1" EndSection Section "Module" Load "dbe" Load "dri" Load "extmod" Load "glx" Load "GLcore" Load "pex5" Load "record" Load "xie" EndSection Section "InputDevice" Identifier "Keyboard0" Driver"keyboard" EndSection Section "InputDevice" Identifier "Mouse1" Driver"mouse" Option"SendCoreEvents" "true" Option"Protocol" "ImPS/2" Option"ZAxisMapping" "4 5" Option"Device" "/dev/input/mice" Option"Emulate3Buttons" "false" EndSection Section "Monitor" Identifier"Monitor0" VendorName"SAM" ModelName "S/M 753DF" HorizSync 30.0 - 70.0 VertRefresh 50.0 - 160.0 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 "ForcePCIMode" # [<bool>] #Option "CPPIOMode" # [<bool>] #Option "CPusecTimeout" # <i> #Option "AGPMode" # <i> #Option "AGPSize" # <i> #Option "RingSize" # <i> #Option "BufferSize" # <i> #Option "EnableDepthMoves" # [<bool>] #Option "UseFBDev" # [<bool>] Identifier "Card0" Driver"ati" VendorName "ATI" BoardName"Radeon QD" BusID "PCI:1:0:0" EndSection Section "DRI Mode 0666 Endsection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" EndSubSection Endsection Die Monitorparameter sollten noch angepasst werden, dann sollte es laufen. Hier ist mein XFree86.log, so ähnlich sollte es bei Euch auch aussehen. Bei Fragen, benutzt bitte mein Forum . UPDATE (10.07.2002): Die meisten aktuellen Linuxdistributionen werden nun mit XFree86 4.2.0 ausgeliefert. Daher ist funktionierender 2D Support, sowie Videobeschleunigung unter Linux mit der Radeon 8500 kein Problem mehr. 3D Support ist zwischenzeitlich durch ATi's FireGL 8700 / 8800 Treiber auch vorhanden. Somit wird der Großteil dieser Anleitung nur von Leuten benötigt, welche sich den den X-Server selber kompilieren möchten, was aus Gründen der Performance und Aktualität durchaus etwas bringen kann. Da ATi nun FireGL 8800 / 8700 Treiber für Linux bereitstellt, wollen wir kurz auf deren Installation und Konfiguration eingehen. Hier kann man die Treiber runterlanden. 1. Kernel vorbereiten Wir benötigen einen Kernel ab Version 2.4.x, welche es hier gibt. Dieser ist mittlerweile bei allen Linuxdistributionen dabei, also kann man die Installation der Treiber erstmal ohne neuen Kernel probieren. Im Kernel müssen folgende Schalter aktiviert werden: (Wer noch nie einen Kernel kompiliert hat, der sollte sich die Kernel-HOWTO ansehen)
2. Systemvorbereitung Bevor wir die FireGL Treiber installieren, müssen wir alte libGL*.* Dateien entfernen. Dazu gehen wir per init 1 in den Einzelbenutzermodus. Dann schauen wir in den "/usr/lib", "/lib" und "/usr/X11R6/lib" Verzeichnissen nach und benennen die Dateien einfach um oder löschen sie. Nun noch ldconfig -v aufrufen, was den Cache der dynamisch linkbaren Bibliotheken aktualisiert und verweiste Links löscht. 3. Installation Die Treiber werden einfach von Hand installiert. Die FireGL Treiber laufen angeblich nur auf "built by ATi" Karten, nicht auf "powered by ATi" Karten, ob dies stimmt kann ich nicht sagen, da meine Karte von ATi stammt. Hier könnte ein BIOS-Update helfen.
Die Treiber werden mit Hilfe eines kleinen Programmes konfiguriert. Hier ruft man einfach fglrxconfig auf. Nun müssen ein paar Fragen beantwortet werden. Bei den Monitorfrequenzen sollte man im Monitorhandbuch nachsehen, oder einfach einen großen Bereich angeben, so hab ich z.B bei beiden Werten 30-150 angegeben, weil ich grad keine Unterlagen zur Hand hatte. Wenn dieser Abschnitt fertig ist dann wurde die XF86Config Datei erstellt. Dort können wir nun noch ein paar Änderungen vornehmen:
name of 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_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context client glx vendor string: SGI client glx version string: 1.2 client glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context GLX extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: Radeon 8500 DDR Athlon (3DNow!) OpenGL version string: 1.3.3037 (1.4.3) OpenGL extensions: GL_ARB_multitexture, GL_ARB_texture_border_clamp, 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_transpose_matrix, GL_ARB_vertex_blend, GL_ARB_window_pos, GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_pn_triangles, GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_streams, GL_ATIX_texture_env_combine3, GL_ATIX_texture_env_route, GL_ATIX_vertex_shader_output_point_size, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_ARB_point_parameters, GL_EXT_rescale_normal, GL_EXT_polygon_offset, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_stencil_wrap, GL_EXT_texgen_reflection, GL_EXT_texture_env_add, GL_EXT_texture3D, GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_object, GL_EXT_vertex_array, GL_EXT_vertex_shader, GL_NV_texgen_reflection, GL_NV_blend_square, GL_SGI_texture_edge_clamp, GL_SGIS_texture_border_clamp, GL_SGIS_texture_lod, GL_SGIS_generate_mipmap, GL_SGIS_multitexture, GL_SUN_multi_draw_arrays glu version: 1.3 glu extensions: GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess 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 ---------------------------------------------------------------------- 0x23 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x24 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x25 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x26 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x27 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x28 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x29 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x2a 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x2b 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x2c 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x2d 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x2e 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x2f 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x30 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x31 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x32 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None Sollte hier etwas von MESA stehen, dann befinden sich noch alte MESA Bibliotheken auf dem System, welche mal löschen sollte. Beim nächsten Update werde ich mir mal die Open Source Treiber ansehen. |