Announcement

Collapse
No announcement yet.

Acceleration with fglrx driver is very slow

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Acceleration with fglrx driver is very slow

    Ahoy. I have a laptop with a Radeon X1200 graphics adaptor. I've installed the driver and compiled the module in Debian. I've set up Xorg and glxinfo says it's using direct rendering, yet it's running so slowly. glxgears runs at a little less than 1000 fps. fgl_glxgears runs at about 200 fps. (I'm not sure what it typically runs at.) I'm trying to play FlightGear but it runs as slow as 5 fps. I've searched all over the internet and tried everything I can think of but can't find a solution to this issue. Here's the output of certain programs and files.

    glxinfo
    Code:
    name of display: :0.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_import_context, GLX_EXT_texture_from_pixmap, 
        GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 
        GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
    client glx vendor string: SGI
    client glx version string: 1.4
    client glx extensions:
        GLX_ARB_create_context, 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_NV_swap_group, 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_swap_barrier, GLX_SGIX_swap_group, 
        GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
    GLX version: 1.2
    GLX extensions:
        GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
        GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
        GLX_MESA_swap_control, GLX_NV_swap_group, GLX_OML_swap_method, 
        GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
        GLX_SGIX_swap_barrier, GLX_SGIX_swap_group, GLX_SGIX_visual_select_group
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: ATI Radeon X1200 Series 
    OpenGL version string: 2.1.8494 Release
    OpenGL extensions:
        GL_AMD_performance_monitor, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
        GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
        GL_ARB_fragment_shader, GL_ARB_framebuffer_object, 
        GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
        GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, 
        GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, 
        GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shader_objects, 
        GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_shadow_ambient, 
        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_float, 
        GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, 
        GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, 
        GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, 
        GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, 
        GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, 
        GL_ATI_meminfo, GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc, 
        GL_ATI_texture_env_combine3, GL_ATI_texture_float, 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_compiled_vertex_array, GL_EXT_copy_texture, 
        GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, 
        GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, 
        GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, 
        GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, 
        GL_EXT_point_parameters, 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_texgen_reflection, GL_EXT_texture3D, 
        GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
        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_texture_sRGB, GL_EXT_vertex_array, 
        GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_conditional_render, 
        GL_NV_texgen_reflection, GL_SGIS_generate_mipmap, 
        GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_WIN_swap_hint, 
        WGL_EXT_swap_control
    ...
    fglrxinfo
    Code:
    display: :0.0  screen: 0
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: ATI Radeon X1200 Series 
    OpenGL version string: 2.1.8494 Release
    xorg.conf
    Code:
    Section "ServerLayout"
    	Identifier     "aticonfig Layout"
    	Screen      0  "aticonfig-Screen[0]-0" 0 0
    EndSection
    
    Section "Files"
    EndSection
    
    Section "Module"
    	Load	"GLcore"
    	Load	"glx"
    	Load	"dri"
    
    	SubSection	"extmod"
    		Option	"omit xfree86-dga"
    	EndSubSection
    
    EndSection
    
    Section "InputDevice"
    	Identifier  "Generic Keyboard"
    	Driver      "kbd"
    	Option	    "XkbRules" "xorg"
    	Option	    "XkbModel" "pc104"
    	Option	    "XkbLayout" "us"
    	Option	    "XkbVariant" "dvorak"
    EndSection
    
    Section "InputDevice"
    	Identifier  "Configured Mouse"
    	Driver      "mouse"
    EndSection
    
    Section "Monitor"
    	Identifier   "Configured Monitor"
    EndSection
    
    Section "Monitor"
    	Identifier   "aticonfig-Monitor[0]-0"
    	Option	    "VendorName" "ATI Proprietary Driver"
    	Option	    "ModelName" "Generic Autodetecting Monitor"
    	Option	    "DPMS" "true"
    EndSection
    
    #Section "Device"
    #	Identifier  "Configured Video Device"
    #	Driver      "ati"
    #EndSection
    
    Section "Device"
    	Identifier  "aticonfig-Device[0]-0"
    	Driver      "fglrx"
    	BusID       "PCI:1:5:0"
    	Option      "VideoOverlay" "on"
    	Option      "OpenGLOverlay" "off"
    	Option      "UseInternalAGPGART" "yes"
    EndSection
    
    Section "Screen"
    	Identifier "aticonfig-Screen[0]-0"
    	Device     "aticonfig-Device[0]-0"
    	Monitor    "aticonfig-Monitor[0]-0"
    	DefaultDepth     24
    	SubSection "Display"
    		Viewport   0 0
    		Depth     24
    	EndSubSection
    EndSection
    
    Section	"DRI"
    	Mode 0666
    EndSection

  • #2
    What is your screen resolution and CPU speed ? Does the performance improve significantly at lower resolutions ?

    Comment


    • #3
      The processor is a dual-core 1.8 GHz. My default resolution is 1280x800. At 320x200, there's only about a 5% increase in speed in glxgears. It uses very little CPU either way.

      Comment


      • #4
        The glxgears program is so far removed from a typical application that it's barely worth running other than making sure you have some kind of 3D support. I don't think your glxgears numbers sound unreasonable.

        How does the flightgear performance change at lower resolution ?

        When you say "it uses very little CPU either way" is that when running glxgears ? How is the CPU load when running FlightGear ?

        Comment


        • #5
          FlightGear uses a pretty heavy load, at least on one of the cores. It mostly stays between 60 and 80%. I don't think there's a way to change the resolution while fullscreen. I dramatically reduced the window size which did give me a couple more fps, but it still only averages about 10 to 12. I suspect it's still calculating the standard resolution, whatever it is, and then scaling it down. I wish I had another 3D game installed. TuxRacer just crashes off the bat.

          Comment


          • #6
            My guess is that you are being limited by vertex shader processing being done on the CPU, but that is only a guess. A good next step would be to play with some of the options to lighten the load. Turning off AI traffic and sound might also be worth considering, just to make sure they aren't getting in the way.

            http://wiki.flightgear.org/index.php...ine_Parameters

            I didn't see an easy way to find out what options are currently selected, unfortunately. Maybe it gets printed in a log ?

            Anyways, start by nuking things like fog/haze/snow. The FlightGear documentation mentions that "in general, GPUs which rely on shared memory should be avoided" (like the X12xx) but with some tweaking it should be possible to get decent performance on your laptop.

            Comment


            • #7
              I had already tried a few options to try to increase the speed, but here you go.

              fgfs --disable-random-objects --disable-ai-models --disable-sound --disable-clouds --disable-clouds3d --shading-flat --disable-textures --visibility=3000

              With all of that, it's still dropping into the single digits and it's pretty dull visually.

              Comment


              • #8
                The X1200 is widely known as a pretty bad chip in terms of performance. Your glxgears numbers match with the X1200 I had.

                Comment


                • #9
                  Is anyone else running FlightGear that could sing out with their own experiences ? What I would expect is that X12xx is faster than the competing IGP parts of the time but slower than, say, an X300 or X1300.

                  The big deal with the X12xx was that you could play games on it in the first place (at a time when most IGPs were not really useable for gaming), not that it was a particularly *fast* gaming system.

                  One possibility is that the open drivers (which advertise fewer OpenGL functions) might force FlightGear to use a simpler code path which might, as a result, run a bit faster even though the drivers are less efficient overall. I don't want to ask kenshi to change drivers unless someone has some experience running FlightGear on similar hardware with the open drivers recently.

                  Comment


                  • #10
                    Well I didn't know this was such a piece of crap video card. I'll just try to set the game up on my desktop. It has a decent Nvidia card.

                    Comment

                    Working...
                    X