[Slackware 10] Slow OpenGL speeds

Discussion in 'Linux & BSD' started by Glaanieboy, Dec 5, 2004.

  1. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    I have compiled and installed the nVidia Driver for Linux according to their readme and made proper adjustments to the xorg.conf file. But still OpenGL is slow. Take Tuxracer as an example, the game runs at 1-2 frames per second and that is at 800x600@16bit. Here are the results of glxinfo and glxgears:
    glxinfo
    Code:
    name of display: :0.0
    display: :0  screen: 0
    direct rendering: No
    server glx vendor string: Brian Paul
    server glx version string: 1.4 Mesa 6.2
    server glx extensions:
        GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap,
        GLX_MESA_release_buffers, GLX_ARB_get_proc_address, GLX_EXT_visual_info,
        GLX_EXT_visual_rating, GLX_SGI_video_sync, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer
    client glx vendor string: Brian Paul
    client glx version string: 1.4 Mesa 6.2
    client glx extensions:
        GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap,
        GLX_MESA_release_buffers, GLX_ARB_get_proc_address, GLX_EXT_visual_info,
        GLX_EXT_visual_rating, GLX_SGI_video_sync, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer
    GLX extensions:
        GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap,
        GLX_MESA_release_buffers, GLX_ARB_get_proc_address, GLX_EXT_visual_info,
        GLX_EXT_visual_rating, GLX_SGI_video_sync, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer
    OpenGL vendor string: Brian Paul
    OpenGL renderer string: Mesa X11
    OpenGL version string: 1.5 Mesa 6.2
    OpenGL extensions:
        GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging,
        GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
        GL_ARB_point_parameters, GL_ARB_point_sprite, 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_mirrored_repeat, GL_ARB_texture_non_power_of_two,
        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_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_depth_bounds_test, GL_EXT_draw_range_elements,
        GL_EXT_fog_coord, GL_EXT_histogram, GL_EXT_multi_draw_arrays,
        GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object,
        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_shared_texture_palette,
        GL_EXT_stencil_two_side, 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_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_blend_equation_separate, GL_ATI_texture_env_combine3,
        GL_ATI_texture_mirror_once, GL_HP_occlusion_test,
        GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
        GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
        GL_MESA_pack_invert, GL_MESA_program_debug, GL_MESA_resize_buffers,
        GL_MESA_ycbcr_texture, GL_MESA_window_pos, GL_NV_blend_square,
        GL_NV_fragment_program, GL_NV_light_max_exponent, GL_NV_point_sprite,
        GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,
        GL_NV_vertex_program1_1, GL_SGI_color_matrix, GL_SGI_color_table,
        GL_SGI_texture_color_table, GL_SGIS_generate_mipmap,
        GL_SGIS_pixel_texture, GL_SGIS_texture_border_clamp,
        GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture,
        GL_SGIX_pixel_texture, GL_SGIX_shadow, GL_SGIX_shadow_ambient,
        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
    ----------------------------------------------------------------------
    0x21 24 tc  0 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None
    0x22 24 dc  0 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16 16  0 0 None
    
    glxgears
    Code:
    573 frames in 5.0 seconds = 114.600 FPS
    670 frames in 5.0 seconds = 134.000 FPS
    657 frames in 5.0 seconds = 131.400 FPS
    
    Are these normal results? If so, how come tuxracer is so slow? If not, how can I make it faster?
    Here are my system specs:
    Pentium III 800 MHz
    384 MB SD-RAM
    GeForce 3 ti200 64 MB using Linux x86 nVidia drivers version 6629
    Soundblaster Live! 5.1 using default Slackware drivers.
     
  2. NetRyder

    NetRyder Tech Junkie Folding Team

    Messages:
    13,256
    Location:
    New York City
    Code:
    direct rendering: No
    That's a problem. That should be a Yes if DRI is working properly. Could you post your xorg.conf file contents?
     
  3. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    Here you go. Sorry it's so long, it still contains all the comments etc.
     

    Attached Files:

  4. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    Woops, I saw the nvidia driver wasn't loaded. I have corrected this now, but the problem remains :(

    edit: and direct rendering is still 0
     
  5. NetRyder

    NetRyder Tech Junkie Folding Team

    Messages:
    13,256
    Location:
    New York City
    Ah, try this. Under the "Module" section, look for this line:
    Code:
    # This loads the GLX module
        Load       "glx"
    Now add another line there:
    Code:
    # This loads the DRI module
        Load       "dri"
    I've only ever set up ATi chipsets in Linux, but it should work the same way with the nVidias.
     
  6. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    But I'll try it nontheless, just to test it out.

    edit: Makes no difference, at all. :(
     
  7. NetRyder

    NetRyder Tech Junkie Folding Team

    Messages:
    13,256
    Location:
    New York City
    Hmm, so did you also change the line to Driver "nvidia"
    The file you posted still had Driver "nv" but you did mention you corrected something after you posted it.

    Edit: So I guess they work a little differently then. I don't know what else to suggest. As I said, I've never worked with nVidia drivers in Linux, but from what I had heard, they're supposed to be easier to install than the ATi ones?
     
  8. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    OK, I found out what was wrong. After googling around, I noticed that the nvidia-installer installs a program called ldd, which can check what drivers and modules an OpenGL app wants to load upon startup. There I found that the GLcore wasn't loaded at all and uncertain about how to correct this, I uninstalled the drivers, and reinstalled (recompiled) them again. Restarted X and immediately ran glxgears which came with these results:
    Code:
    9896 frames in 5.0 seconds = 1979.200 FPS
    10976 frames in 5.0 seconds = 2195.200 FPS
    
    That's much better! :D Tuxracer works like a charm too now :) Thanks anyway for thinking along with me
     
  9. NetRyder

    NetRyder Tech Junkie Folding Team

    Messages:
    13,256
    Location:
    New York City
    Cool. Glad it's sorted. [​IMG]
     
  10. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    Just downloaded and installed Wolfenstein Enemy Territory and I am suprised about how well it runs. Nice frame rate, enough eye-candy, neato!
     
  11. X-Istence

    X-Istence * Political User

    Messages:
    6,498
    Location:
    USA
    Most games that run mediocre in OpenGL on Windows will most of the time run same speed or faster.

    Same with using WineX for gaming, i see a lot better framerate. Which is a good thing.
     
  12. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    Ah, WineX, meant to ask a question about it: Is there any free downloadable version available of that package? I can only find the payable version at transgaming.com, but I thought it was free? :confused:
     
  13. X-Istence

    X-Istence * Political User

    Messages:
    6,498
    Location:
    USA
    Use cvs to download the source, then compile it yourself. If you want binaries you will need to pay.

    Wine is free, but WineX is based on an older version of Wine, and implements the DirectX stuff better, and faster. And since that old version of Wine was under a BSD license, they are able to sell it (GPL would as well), but they provide the source anyways to compile yourself.
     
  14. Glaanieboy

    Glaanieboy Moderator

    Messages:
    2,626
    Location:
    The Netherlands
    Are you MSN sometime? Then you can explain the cvs stuff to me, I have't got a clue how to do that :eek:
     
  15. X-Istence

    X-Istence * Political User

    Messages:
    6,498
    Location:
    USA
    I'm almost always on MSN. Go to the transgaming site, they even have instructions on how to download it.