From: Adam K K. <ad...@vo...> - 2005-12-30 01:40:40
|
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: [ adamk@scroll - ~ ]: 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 |