FreeBSD DRI
From MediaWiki
Contents |
Overview
FreeBSD (as of FreeBSD 6.1) has a fairly well supported port of the DRI Project. The 3d driver for ATI Radeon r200, ATI Rage128 and Intel i915 are stable for me.
Installation
DRI has already been integrated into the FreeBSD main tree and merges are also done regularly. Any recent version of FreeBSD 6.1 and above is good to get started with.
Kernel Modules
/boot/loader.conf
agp_load="YES"
The DRM kernel module is automatically loaded if its available and the chipset is supported.
[buffy] ~> uname -r 6.1-XXXXX-20060505
X DRI Modules
Install the Xorg DRI modules from ports/
[buffy] ~> portinstall graphics/dri [buffy] ~> pkg_info -W /usr/X11R6/lib/modules/dri/i915_dri.so /usr/X11R6/lib/modules/dri/i915_dri.so was installed by package dri-6.4.1,2
Intel i915
The Intel i915 support got enhanced after the release of FreeBSD 6.1. Be sure to update your sources to RELENG_6 in case you have problems. I had to use latest RELENG_6 before drm would attach correctly on the HP Compaq dc5100 workstation.
[buffy] ~> dmesg | egrep 'drm|agp' agp0: <Intel 82915G (915G GMCH) SVGA controller> port 0x1800-0x1807 mem 0xcfd00000-0xcfd7ffff,0xe000000 0-0xefffffff,0xcfd80000-0xcfdbffff irq 16 at device 2.0 on pci0 agp0: Reserved 0x80000 bytes for rid 0x10 type 3 at 0xcfd00000 agp0: Reserved 0x80000 bytes for rid 0x10 type 3 at 0xcfd00000 agp0: Reserved 0x40000 bytes for rid 0x1c type 3 at 0xcfd80000 agp0: detected 7932k stolen memory agp0: aperture size is 256M drmsub0: <Intel i915G>: (child of agp_i810.c) on agp0 info: [drm] AGP at 0xcfd00000 0MB info: [drm] Initialized i915 1.4.0 20060119 agp0: [MPSAFE] drmsub0: detached drmsub0: <Intel i915G>: (child of agp_i810.c) on agp0 info: [drm] AGP at 0xcfd00000 0MB info: [drm] Initialized i915 1.4.0 20060119 drmsub0: detached
kldstat
[buffy] ~> kldstat Id Refs Address Size Name 1 28 0xa0400000 74d744 kernel 2 1 0xa0b4e000 565c snd_ich.ko 3 2 0xa0b54000 258d4 sound.ko 4 2 0xa0b7a000 17c2c agp.ko 5 1 0xa0b92000 62c50 acpi.ko 6 1 0xa91a2000 6000 linprocfs.ko 7 1 0xa92d3000 e000 ipfw.ko 8 1 0xa9712000 c000 fuse.ko 9 1 0xa97a8000 6000 i915.ko 10 1 0xa97ae000 f000 drm.ko 11 1 0xa98ca000 2000 rtc.ko
glxinfo
[buffy] ~> setenv LIBGL_DEBUG verbose [buffy] ~> glxinfo name of display: :0.0 libGL: XF86DRIGetClientDriverName: 1.4.1 i915 (screen 0) libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/i915_dri.so drmOpenByBusid: Searching for BusID pci:0000:00:02.0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 4, (OK) drmOpenByBusid: drmOpenMinor returns 4 drmOpenByBusid: drmGetBusid reports pci:0000:00:02.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_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, GLX_SGIX_swap_barrier, 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_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group OpenGL vendor string: Tungsten Graphics, Inc OpenGL renderer string: Mesa DRI Intel(R) 915G 20050225 OpenGL version string: 1.3 Mesa 6.4.1 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_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_cull_vertex, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, 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_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_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage, GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate, 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_NV_vertex_program1_1, 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_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 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None 0x24 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None 0x25 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x26 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x27 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow 0x28 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow 0x29 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x2a 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x2b 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None 0x2c 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None 0x2d 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x2e 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x2f 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow 0x30 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow 0x31 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x32 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x4b 32 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None

