[ltp] Xorg Performance, on Intel Graphics

Thomas Kahle linux-thinkpad@linux-thinkpad.org
Fri, 03 Apr 2009 11:32:32 +0200


This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig9DDB9AD0D9F26CCA25A5F6A2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi everyone,

I use the thinkpad X61s with Intel Graphics Mobile GM965/GL960 running
Gentoo.

Since an update on Monday I cannot get my X to work the smooth way it
was working before.

1) The 2D performance feels very slack, Redrawing Windows just takes
longer than it took before and reaction times in general are worse.
2) glxgears performance is down to 50FPS (200FPS before, but I remember
1000FPS a year ago), but reading about kernel 2.6.29 probably it should
be this way.
3) Googleearth is very slow
4) X consumes more CPU 10-14 percent when showing 'top' in an xterm, up
to a whole cpu when using firefox.
5) After using it a while(2 hours, say) X consumes a lot of memory and
responsiveness and performance start getting worse and worse. Feels like
some memory leakage.

The things updated are kernel from 2.6.27 to 2.6.29, mesa from 7.3 to
7.4, intel driver from 2.6.1 to 2.6.3.

The Xorg Version is 1.5.3 and unchanged.

Unfortunately I upgraded all these things at once, which is a mistake,
but well.

Now, the fun thing is that switching back makes the sluggish behaviour
1-4, go away, but 5 stays and I thought I reverted everything back to
the original state but it is still there.

Does anybody know a consistent guide how to configure kernel and Xorg to
be on the safe side for the future ?

Here is glxinfo, just if it matters
---------------
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_MESA_copy_sub_buffer,
    GLX_OML_swap_method, GLX_SGI_swap_control, 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_get_proc_address, GLX_ARB_multisample,
GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_allocate_memory,
    GLX_MESA_copy_sub_buffer, 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_EXT_texture_from_pixmap

GLX version: 1.2

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_copy_sub_buffer,
    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage,
GLX_OML_swap_method,
    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,

    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group

OpenGL vendor string: Tungsten Graphics, Inc

OpenGL renderer string: Mesa DRI Intel(R) 965GM GEM 20090326 2009Q1 RC2
x86/MMX/SSE2
OpenGL version string: 2.0 Mesa 7.4

OpenGL shading language version string: 1.10

OpenGL extensions:

    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,

    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,

    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_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_vertex_shader, 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_cull_vertex,
GL_EXT_compiled_vertex_array,
    GL_EXT_copy_texture, GL_EXT_draw_range_elements,

    GL_EXT_framebuffer_object, GL_EXT_fog_coord,
GL_EXT_multi_draw_arrays,
    GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,

    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_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_filter_anisotropic, GL_EXT_texture_lod_bias,

    GL_EXT_texture_object, GL_EXT_texture_rectangle,
GL_EXT_texture_sRGB,
    GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1,

    GL_APPLE_client_storage, GL_APPLE_packed_pixels,

    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3,

    GL_ATI_separate_stencil, GL_IBM_rasterpos_clip,

    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,

    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos,

    GL_NV_blend_square, 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_OES_read_format,
GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,

    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SUN_multi_draw_arrays


3 GLX Visuals
   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 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x71 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

36 GLXFBConfigs:
   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
----------------------------------------------------------------------
0x72  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x73  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x74  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x75  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x76  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x77  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x78  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x79  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x7a  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x7b  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x7c  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x7d  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x7e  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x7f  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x80  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x81  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x82  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x83  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x84  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x85  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x86  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x87  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x88  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x89  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x8a  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x8b  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x8c  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x8d  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x8e  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x8f  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x90  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x91  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x92  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x93  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x94  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x95  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
---------------

--=20
Thomas Kahle

The fundamental theorem of algebra is open source. Like any other
mathematical theorem it can be applied free of charge and everybody
has access to its proof and can convince himself how it works. Why
should software be any different?


--------------enig9DDB9AD0D9F26CCA25A5F6A2
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknV17AACgkQrpEWPKIUt7OK7wCeMMdxa7k5WUIFTQZ7hWo5lNZY
ZOcAnRGAdcD+P1zg2Td8EWCFIbzP5FLG
=iHwy
-----END PGP SIGNATURE-----

--------------enig9DDB9AD0D9F26CCA25A5F6A2--