Adam K Kirchhoff wrote:


I sent this to the freebsd-current mailing list yesterday, but haven't heard back from anyone. And, since I'm not sure if this is an AGP issue or a DRM specific issue, I thought I'd mention it here as well:

When I boot up, the agp driver is loaded properly:

agp0: <ATI RS100 AGP bridge> on hostb0

When I launch X, the drm and radeon modules are loaded:

drm0: <ATI Radeon RS100 Mobility U1> on vgapci0
info: [drm] AGP at 0xd4000000 64MB
info: [drm] Initialized radeon 1.19.0 20050911

According to the X server, Direct Rendering is enabled:

(II) RADEON(0): [drm] DRM interface version 1.2
(II) RADEON(0): [drm] created "radeon" driver at busid "pci:0000:01:05.0"
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xc3ce7000
(II) RADEON(0): [drm] mapped SAREA 0xc3ce7000 to 0x283d3000
(II) RADEON(0): [drm] framebuffer handle = 0xe0000000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [agp] Mode 0x0f000207 [AGP 0x0000/0x0000; Card 0x1002/0x4336]
(II) RADEON(0): [agp] 32768 kB allocated with handle 0xc381f700
(II) RADEON(0): [agp] ring handle = 0xd4000000
(II) RADEON(0): [agp] Ring mapped at 0x2c433000
(II) RADEON(0): [agp] ring read ptr handle = 0xd4101000
(II) RADEON(0): [agp] Ring read ptr mapped at 0x282df000
(II) RADEON(0): [agp] vertex/indirect buffers handle = 0xd4102000
(II) RADEON(0): [agp] Vertex/indirect buffers mapped at 0x2c534000
(II) RADEON(0): [agp] GART texture map handle = 0xd4302000
(II) RADEON(0): [agp] GART Texture map mapped at 0x2c734000
(II) RADEON(0): [drm] register handle = 0xd0100000
(II) RADEON(0): [dri] Visual configs initialized
(II) RADEON(0): CP in BM mode
(II) RADEON(0): Using 32 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 29 MB for GART textures
<snip>
(II) RADEON(0): [drm] installed DRM signal handler
(II) RADEON(0): [DRI] installation complete
(II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
(II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
(II) RADEON(0): [drm] dma control initialized, using IRQ 9
(II) RADEON(0): [drm] Initialized kernel GART heap manager, 29884416
(II) RADEON(0): Direct rendering enabled

According to glxgears, the DRI driver is being used:

name of display: scroll.netops.dci.lan:0.0
display: scroll.netops.dci.lan: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 Radeon 20051013 AGP 4x NO-TCL
OpenGL version string: 1.3 Mesa 6.5

However, glxgears is only giving me about 1 FPS. Most other GL applications (gltext, for example, from the xscreensaver package) are even slower. Software Mesa is even faster.

The DRM driver is giving the following error message:

error: [drm:pid51336:drm_alloc_resource] *ERROR* Couldn't find resource 0x0

The PID changes, of course, depending on the PID of the X server, but the rest of the error stays the same.

What's really bizarre, however, is that if I set hw.dri.0.debug to 1, glxgears gets roughly 200 FPS, faster than software Mesa, but slower than it can get (undoubtedly due to the massive amounts of debugging information that the kernel is logging).

I tried a few more GL programs, all from the xscreensaver package. glforestfire also appear to display less than a frame per second. Same with flip-flop and flyingtoasters. flurry, on the other hand, is quite smooth and the FPS meter shows roughly 30 fps.

Any ideas?  Thanks!


So not only does setting the debug sysctl seem to affect the framerate, so does displaying the framerate within the application. If I launch any of those xscreensaver apps with the -fps option (including flurry, glforestfire, flipflop, queens, and flyingtoasters), I get quite reasonable framerates. If I launch them without the -fps option, I get 1 FPS if I'm lucky (and I mean that literally... The window only updates itself once every second, if that).

Here's the output from 'glxgears -info' with LIBGL_DEBUG set to verbose:

[ [EMAIL PROTECTED] - ~ ]: glxgears -info
libGL: XF86DRIGetClientDriverName: 4.0.1 radeon (screen 0)
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/radeon_dri.so
drmOpenByBusid: Searching for BusID pci:0000:01:05.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports pci:0000:01:05.0
libGL error:
Can't open configuration file /etc/drirc: No such file or directory.
GL_MAX_VIEWPORT_DIMS=4096/4096
GL_RENDERER   = Mesa DRI Radeon 20051013 AGP 4x NO-TCL
GL_VERSION    = 1.3 Mesa 6.5
GL_VENDOR     = Tungsten Graphics, Inc.
GL_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_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color 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_fog_coord GL_EXT_histogram GL_EXT_packed_depth_stencil 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_compression_s3tc 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_texture_env_combine3 GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat 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_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_S3_s3tc
177 frames in 7.0 seconds = 25.286 FPS
4 frames in 6.0 seconds =  0.667 FPS
7 frames in 7.0 seconds =  1.000 FPS

Adam




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to