GLX Error

When ever I try to run my program on my laptop(IBM Thinkpad 1.5ghz Centrino ATI radeon 7500 32meg DRI drivers) running gentoo(latest of everything 2.6.5 vanilla kernel) I get this run-time error.

Couldnt setup window: Couldn’t find matching GLX visual

The code compiles just fine and works just fine on my desktop. Other apps that use OpenGL such as Quake III Enemy-Territory run just fine.

Does anyone have a clue?

Thanks

nuke

What sort of visual are you requesting? Do you see a visual that matches what you are requesting in the output of glxinfo?

The visual I am using is just a window, basicly the same as glxgears. The more advanced OpenGL calls I make sure the system has(multi texturing) here is my glxinfo

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_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: SGI
client glx version string: 1.2
client glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI Radeon 20020611 AGP 4x x86/SSE TCL
OpenGL version string: 1.2 Mesa 4.0.4
OpenGL extensions:
    GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture,
    GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
    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_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
    GL_EXT_clip_volume_hint, GL_EXT_convolution, GL_EXT_compiled_vertex_array,
    GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset,
    GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_texture3D,
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
    GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array,
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_MESA_window_pos,
    GL_NV_blend_square, GL_NV_texgen_reflection, GL_SGI_color_matrix,
    GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp
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
----------------------------------------------------------------------
0x23 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x24 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 None
0x25 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x26 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x27 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x28 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 None
0x29 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x2a 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x2b 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x2c 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 None
0x2d 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x2e 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x2f 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x30 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 None
0x31 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x32 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

What do you use in order to make your visual ? glxCreateVisual() ? or glxGetVisualFromFBConfig.
Unfortunately, glx 1.3 doesn’t run on ATI.

Are you sure you set the colors, buffers… (all the glx attributes) to match what your system support ?

I still don’t know well for ATI, but it may be because you don’t use the ATI drivers that your program isn’t set correctly.

I have SDL handle all that stuff, my code makes no calls to glx directly. I cannt use the ATI drivers my card is not supported by the offical ones so I must use the DRI ones.

Originally posted by nukem:
I have SDL handle all that stuff, my code makes no calls to glx directly. I cannt use the ATI drivers my card is not supported by the offical ones so I must use the DRI ones.
You use SDL, not glx. If that’s what you do, then here is a probably solution for your problem:

It seems latest Mesa is in version 6. And you seems to have only Mesa 4.0. You may look for update your SDL too. After that there will have no problem I think.

Finally, do you recompile your program on your laptop, or do you simply run the binary ?

I am running DRI from the kernel(2.6.6 kernel) and dont even have mesa installed. Mesa is a software rendering and DRI is a hardware render that uses Mesa for the OpenGL stuff. I run gentoo bleeding edge so everything is fully up to date. Also I do recompile on my laptop.

Originally posted by nukem:
I am running DRI from the kernel(2.6.6 kernel) and dont even have mesa installed. Mesa is a software rendering and DRI is a hardware render that uses Mesa for the OpenGL stuff. I run gentoo bleeding edge so everything is fully up to date. Also I do recompile on my laptop.
First, you use Mesa. That’s your glxinfo that tells me that:

OpenGL renderer string: Mesa DRI Radeon 20020611 AGP 4x x86/SSE TCL
I don’t remember how Mesa fill the opengl renderer string, but this looks it is. So I think you are using Mesa.

And you use version 4:

OpenGL version string: 1.2 Mesa 4.0.4
Now Mesa is in version 6.

If you don’t have Mesa installed, tell me what is your opengl implementation on your machine. Is it the free ATI drivers ? Is it the proprietary one ?

Second, DRI isn’t hardware like you told it is. DRI means Direct Rendering Infrastructure if I remember well, and is only a mean for gl applications to directly access the renderer, without having to go threw several X layers. Mesa provides a mean to take proffit of DRI.
Saying DRI let you access the hardware doesn’t mean DRI is a ‘hardware render’. DRI allows you fastest results than without, but DRI cannot tell you can have T&L for example.

What I can say now is that you may upgrade to Mesa 6 and check for latest SDL versions too as your system is up to date.

Finally, your latest kernel version may also be a reason why you have this sort of problem.

I cannot tell much more, I may misunderstand some of what you mean.

Maybe im getting things wrong but I know I have the free ATI rendering drivers.

I figured it out after switching to x.org and looking through my xorg.conf file. I needed to change the default depth to 24.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.