FreeBSD DRI

From MediaWiki

Jump to: navigation, search

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

ATI Rage 128

Resources

http://dri.freedesktop.org/wiki/DriTroubleshooting

Personal tools