Use glxinfo for Linux
Linux program to check for OpenGL support How-to


Related pages

Installation, Check for OpenGL support, Use cardinfo for Windows

Use glxinfo for Linux

The glxinfo program can be used to check whether a graphics adaptor provides the OpenGL support that is necessary to run CPN Tools under Linux.

glxinfo is not distributed with CPN Tools, but it should have been installed when Linux was installed on your computer.

Run glxinfo progam

You can run glxinfo from a shell

$ glxinfo

OpenGL support

After glxinfo has been run, its textual output will be shown.

The third line of the output indicates whether or not there is direct rendering.

direct rendering: Yes

CPN Tools will perform best if there is a Yes on this line. If there is a No on this line, then there may be performance problems.

At the bottom of the output there is a large table with 20+ columns of letters and numbers. The last column in this table indicates whether or not your graphics adaptor has hardware support for OpenGL:

An example of glxinfo output can be found below.

Troubleshooting

If your graphics adaptor appears to provide the necessary support for OpenGL and you are still having problems starting CPN Tools, then there are a couple of things that you can try.

Updating the Driver

It is recommended that you use the most current driver for your graphics adaptor. Drivers can often be downloaded for free from each vendor's website.

If the output from the glxinfo program reveals that the OpenGL vendor or the OpenGL renderer is Mesa, then it may be helpful to install a better driver for your graphics adaptor.

Example of an extract from cardinfo output:

OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect

Note that it may be difficult to find appropriate drivers for graphic adaptors in laptop computers.

Reducing Screen Resolution

If you have no problems using OpenGL with other programs, then try reducing the screen resolution before starting CPN Tools.

Many programs that use OpenGL, such as computer games, frequently reduce the screen resolution when the program is started. CPN Tools does NOT reduce the screen resolution during start up. This may be why you have problems using OpenGL with CPN Tools but not with other programs.

Example output from glxinfo

Below is glxinfo output for a GeForce3 graphics card. This graphics card does support OpenGL hardware acceleration.

glxinfo output

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.3
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, 
    GLX_ARB_multisample
client glx vendor string: NVIDIA Corporation
client glx version string: 1.3
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync, 
    GLX_NV_swap_group, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGI_swap_control, GLX_NV_float_buffer
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, 
    GLX_ARB_multisample, GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce3/AGP/3DNOW!
OpenGL version string: 1.5.1 NVIDIA 61.06
OpenGL extensions:
    GL_ARB_depth_texture, 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_shader_objects, 
    GL_ARB_shading_language_100, 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_dot3, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, 
    GL_S3_s3tc, GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, 
    GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
    GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, 
    GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, 
    GL_EXT_point_parameters, 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_wrap, GL_EXT_texture3D, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_lod, GL_EXT_texture_lod_bias, GL_EXT_texture_object, 
    GL_EXT_vertex_array, GL_HP_occlusion_test, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_blend_square, 
    GL_NV_copy_depth_to_color, GL_NV_depth_clamp, GL_NV_fence, 
    GL_NV_fog_distance, GL_NV_light_max_exponent, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_pixel_data_range, GL_NV_point_sprite, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_texgen_reflection, GL_NV_texture_compression_vtc, 
    GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_texture_shader, 
    GL_NV_texture_shader2, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    GL_SGIS_generate_mipmap, GL_SGIS_multitexture, GL_SGIS_texture_lod, 
    GL_SGIX_depth_texture, GL_SGIX_shadow, GL_SUN_slice_accum
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 32  0 r  y  .  8  8  8  0  0 24  8 16 16 16 16  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  0  0 24  8 16 16 16 16  0 0 None
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  0  0 24  8 16 16 16 16  0 0 None
0x25 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x26 24 tc  0 32  0 r  y  .  8  8  8  0  0 16  0 16 16 16 16  0 0 None
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 16  0 16 16 16 16  0 0 None
0x28 24 tc  0 32  0 r  .  .  8  8  8  0  0 16  0 16 16 16 16  0 0 None
0x29 24 tc  0 32  0 r  .  .  8  8  8  8  0 16  0 16 16 16 16  0 0 None
0x2a 24 tc  0 32  0 r  y  .  8  8  8  0  0  0  0 16 16 16 16  0 0 None
0x2b 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 None
0x2c 24 tc  0 32  0 r  .  .  8  8  8  0  0  0  0 16 16 16 16  0 0 None
0x2d 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 None
0x2e 24 tc  0 32  0 r  y  .  8  8  8  0  0 24  8 16 16 16 16  2 1 Ncon
0x2f 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  2 1 Ncon
0x30 24 tc  0 32  0 r  y  .  8  8  8  0  0 24  8 16 16 16 16  4 1 Ncon
0x31 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  4 1 Ncon
0x32 24 tc  0 32  0 r  y  .  8  8  8  0  0 16  0 16 16 16 16  2 1 Ncon
0x33 24 tc  0 32  0 r  y  .  8  8  8  8  0 16  0 16 16 16 16  2 1 Ncon
0x34 24 tc  0 32  0 r  y  .  8  8  8  0  0 16  0 16 16 16 16  4 1 Ncon
0x35 24 tc  0 32  0 r  y  .  8  8  8  8  0 16  0 16 16 16 16  4 1 Ncon
0x36 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x37 24 dc  0 32  0 r  .  .  8  8  8  0  0 24  8 16 16 16 16  0 0 None
0x38 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x39 24 dc  0 32  0 r  y  .  8  8  8  0  0 16  0 16 16 16 16  0 0 None
0x3a 24 dc  0 32  0 r  y  .  8  8  8  8  0 16  0 16 16 16 16  0 0 None
0x3b 24 dc  0 32  0 r  .  .  8  8  8  0  0 16  0 16 16 16 16  0 0 None
0x3c 24 dc  0 32  0 r  .  .  8  8  8  8  0 16  0 16 16 16 16  0 0 None
0x3d 24 dc  0 32  0 r  y  .  8  8  8  0  0  0  0 16 16 16 16  0 0 None
0x3e 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 None
0x3f 24 dc  0 32  0 r  .  .  8  8  8  0  0  0  0 16 16 16 16  0 0 None
0x40 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 None
0x41 24 dc  0 32  0 r  y  .  8  8  8  0  0 24  8 16 16 16 16  2 1 Ncon
0x42 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  2 1 Ncon
0x43 24 dc  0 32  0 r  y  .  8  8  8  0  0 24  8 16 16 16 16  4 1 Ncon
0x44 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  4 1 Ncon
0x45 24 dc  0 32  0 r  y  .  8  8  8  0  0 16  0 16 16 16 16  2 1 Ncon
0x46 24 dc  0 32  0 r  y  .  8  8  8  8  0 16  0 16 16 16 16  2 1 Ncon
0x47 24 dc  0 32  0 r  y  .  8  8  8  0  0 16  0 16 16 16 16  4 1 Ncon
0x48 24 dc  0 32  0 r  y  .  8  8  8  8  0 16  0 16 16 16 16  4 1 Ncon