Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Acceleration with fglrx driver is very slow

  1. #1
    Join Date
    Mar 2009
    Posts
    6

    Default 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. #2
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,458

    Default

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

  3. #3
    Join Date
    Mar 2009
    Posts
    6

    Default

    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.

  4. #4
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,458

    Default

    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 ?

  5. #5
    Join Date
    Mar 2009
    Posts
    6

    Default

    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.

  6. #6
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,458

    Default

    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.

  7. #7
    Join Date
    Mar 2009
    Posts
    6

    Default

    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.

  8. #8

    Default

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

  9. #9
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,458

    Default

    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.

  10. #10
    Join Date
    Mar 2009
    Posts
    6

    Default

    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •