JonSvenJonsson
Member
Hallo
ich möchte hier kurz erläutern ich es geschafft habe 3D-Beschleunigung unter FreeBSD/AMD64 mit meiner Radeon9600 zu aktivieren.
Der Treiber ist allerdings experimentell (entstanden durch reverse-engeniering des fglrx-treibers), deswegen kanns es zu Systemabstürzen kommen, Benutzung deshalb auf eigene Gefahr !!!
Siehe auch http://r300.sf.net und http://marc.theaimsgroup.com/?l=dri-devel&m=111091297128665&w=2
(Bei mir läuft er aber seit 1 Monat unter Linux ohne Probleme, FreeBSD-Stabilität muss sich noch zeigen )
Folgende Schritte führen zum Erfolg:
Vorraussetzungen: Xorg-6.8.2 aus den Ports und ein bisschen Mut zum Experimentieren
1)erstellen eines temporären Verzeichnisses:
2) besorgen der xorg-cvs sourcen (nur der ati-treiber)
3) kopieren des angehängten Imakefiles ins Verzeichnis xc/programs/Xserver/hw/xfree86/drivers/i2c (oder das bauen schlägt fehl)
4) wechseln ins Verzeichnis /usr/ports/x11-server/xorg-server und entpacken des ports
5) austauschen des ati-treibers
6) bauen des xorg-ports
7) besorgen der Mesa-cvs und der r300-cvs Quellen
8) bearbeiten der Mesa und r300 Quellen und kompilieren derselbigen
Da das Kernelmodule aus den r300-cvs nun auch ohne Probleme unter FreeBSD compiliert, ist nur noch die folgende Änderung nötig:
und kopiert die angehängte freebsd-dri ins Verzeichnis configs
9) baut den Treiber
Nach einer gewissen Zeit befinden sich im Verzeichnis lib/ folgende Dateien:
Diese müssen nun an die richtigen Stellen:
10) nun noch das passende Kernel-module bauen und die xorg.conf (meine ist angehängt) anpassen:
11) evt einen Reboot machen und die 3D-Beschleunigung geniessen
Mein glxinfo:
Danke an die DRI-Entwickler und die Leute vom r300-project.
Grüsse Jon
ich möchte hier kurz erläutern ich es geschafft habe 3D-Beschleunigung unter FreeBSD/AMD64 mit meiner Radeon9600 zu aktivieren.
Der Treiber ist allerdings experimentell (entstanden durch reverse-engeniering des fglrx-treibers), deswegen kanns es zu Systemabstürzen kommen, Benutzung deshalb auf eigene Gefahr !!!
Siehe auch http://r300.sf.net und http://marc.theaimsgroup.com/?l=dri-devel&m=111091297128665&w=2
(Bei mir läuft er aber seit 1 Monat unter Linux ohne Probleme, FreeBSD-Stabilität muss sich noch zeigen )
Folgende Schritte führen zum Erfolg:
Vorraussetzungen: Xorg-6.8.2 aus den Ports und ein bisschen Mut zum Experimentieren
1)erstellen eines temporären Verzeichnisses:
Code:
mkdir $HOME/xorg
cd $HOME/xorg
2) besorgen der xorg-cvs sourcen (nur der ati-treiber)
Code:
cvs -z3 -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co xc/programs/Xserver/hw/xfree86/drivers/ati
cvs -z3 -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co xc/programs/Xserver/hw/xfree86/drivers/i2c
cvs -z3 -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co xc/programs/Xserver/hw/xfree86/drivers/Imakefile
cvs -z3 -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
3) kopieren des angehängten Imakefiles ins Verzeichnis xc/programs/Xserver/hw/xfree86/drivers/i2c (oder das bauen schlägt fehl)
4) wechseln ins Verzeichnis /usr/ports/x11-server/xorg-server und entpacken des ports
Code:
cd /usr/ports/x11-servers/xorg-server
make patch
5) austauschen des ati-treibers
Code:
cp -R $HOME/xorg/xc/* /usr/ports/x11-servers/xorg-server/work/xc
6) bauen des xorg-ports
Code:
make configure && make build && make deinstall && make reinstall
7) besorgen der Mesa-cvs und der r300-cvs Quellen
Code:
cd $HOME
mkdir dri
cd dri
cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/mesa co Mesa
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/r300 login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/r300 co -P r300_driver
8) bearbeiten der Mesa und r300 Quellen und kompilieren derselbigen
Code:
cd Mesa
mkdir src/mesa/drivers/dri/r300
lndir $HOME/dri/r300_driver/r300 $HOME/dri/Mesa/src/mesa/drivers/dri/r300
cd ..
cd r300_driver/drm
ln -sf shared-core shared
Da das Kernelmodule aus den r300-cvs nun auch ohne Probleme unter FreeBSD compiliert, ist nur noch die folgende Änderung nötig:
Code:
cd $HOME/dri/Mesa
9) baut den Treiber
Code:
make freebsd-dri
Nach einer gewissen Zeit befinden sich im Verzeichnis lib/ folgende Dateien:
Code:
ls lib
libGL.so.1.2 libGLU.so.1.3 libGLw.so.1.0 libglut.so.3.7 r300_dri.so
Diese müssen nun an die richtigen Stellen:
Code:
cp lib/libGL.so.1.2 /usr/X11R6/lib
cp lib/r300_dri.so /usr/X11R6/lib/modules/dri
10) nun noch das passende Kernel-module bauen und die xorg.conf (meine ist angehängt) anpassen:
Code:
cd $HOME/dri/r300_driver/drm/bsd-core
make
make install
11) evt einen Reboot machen und die 3D-Beschleunigung geniessen
Mein glxinfo:
Code:
$ glxinfo
name of display: :0.0
Using 8 maximum texture units..
sizeof(drm_r300_cmd_header_t)=4
sizeof(drm_radeon_cmd_buffer_t)=32
Allocating 284420 bytes command buffer (max state is 11140 bytes)
*********************************WARN_ONCE*********************************
File r300_state.c function r300Enable line 518
TODO - double side stencil !
***************************************************************************
*********************************WARN_ONCE*********************************
File r300_state.c function r300Enable line 539
Don't know how to enable polygon offset point/line. Help me !
***************************************************************************
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_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGIS_multisample, GLX_SGIX_fbconfig
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_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 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_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R300 20040924 AGP 8x NO-TCL
OpenGL version string: 1.3 Mesa 6.3
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture,
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_dot3,
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_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_histogram,
GL_EXT_packed_pixels, GL_EXT_polygon_offset, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
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
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
Destroying context !
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 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x24 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x26 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x27 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x28 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x29 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2a 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2b 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x2c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x2d 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2e 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2f 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x30 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x31 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x32 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x47 32 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
Danke an die DRI-Entwickler und die Leute vom r300-project.
Grüsse Jon
Anhänge
Zuletzt bearbeitet: