pyglet.window.NoSuchConfigException: No standard config is available

993 views
Skip to first unread message

Federico Cáceres

unread,
Aug 7, 2009, 12:46:22 AM8/7/09
to pyglet-users
Hi, I just downloaded and installed Pyglet 1.1.3 using setup.py on a
Fedora 11 x86_64 with KDE 4.3.0 as desktop environment with python
2.6.

I tried to run several of the demo files but always got an error when
launching the script. For instance, for the following script:
import pyglet
window = pyglet.window.Window()

I get this error:
Traceback (most recent call last):
File "example.py", line 2, in <module>
window = pyglet.window.Window(config=config)
File "/usr/lib/python2.6/site-packages/pyglet/__init__.py", line
307, in __getattr__
__import__
(import_name)
File "/usr/lib/python2.6/site-packages/pyglet/window/__init__.py",
line 1684, in <module>
gl._create_shadow_window()
File "/usr/lib/python2.6/site-packages/pyglet/gl/__init__.py", line
491, in _create_shadow_window
_shadow_window = Window(width=1, height=1, visible=False)
File "/usr/lib/python2.6/site-packages/pyglet/window/xlib/
__init__.py", line 474, in __init__
super(XlibWindow, self).__init__(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/pyglet/window/__init__.py",
line 643, in __init__
raise NoSuchConfigException('No standard config is available.')
pyglet.window.NoSuchConfigException: No standard config is available.


I would greatly appreciate if someone could point me out on what I
could do to get Pyglet working on my computer.

By the way, I have a NVIDIA 8600 GT and I am currently using NVIDIA's
propietary drivers, version: 185.18.14.

Cheers,
Federico

Federico Cáceres

unread,
Aug 11, 2009, 12:59:43 AM8/11/09
to pyglet-users
Ok, so I continued my adventures with Pyglet...

First of all, I cannot even run gl_info.py on my machine... it gives me the same error...

I have a  Ubuntu 9.04 (i386 version) virual machine with my Fedora 11 x86_64 running as Guest, and Pyglet ran just fine (sluggish, but at least it ran) on that machine... that made me become very mad!

So today I started debugging pyglet's code for my simple code:
    # -*- coding: utf-8 -*-
    import pyglet
    pyglet.options['shadow_window'] = False
    #pyglet.window.get_platform().get_default_display().get_default_screen().get_best_config()
    window = pyglet.window.Window()
 
I started tracing the source code (using pdb) starting just before the "window = pyglet.window.Window()" line on my code.
After slowly inspecting the code (and skipping other parts that I didn't care for) I got to this lines in the /usr/lib/python2.6/site-packages/pyglet/window/xlib/__init__py file (from line line 265):
        if have_13:
            elements = c_int()
            configs = glx.glXChooseFBConfig(x_display, self._x_screen_id,
                attrib_list, byref(elements))
            if not configs:
                return []
When printing the value of configs I get:
<pyglet.gl.glx.LP_LP_struct___GLXFBConfigRec object at 0x16dc050>

But I saw that the debugger evaluated the "if not configs" line and then returned []!
So, before the debugger returned from this level, I wrote this in the pdb prompt:
(Pdb) not configs
And it printed "True" as a result!

What?! Inspected the config variable and then printed the only "normal" attribute, "contents". printing configs.contents gave me the following:
*** ValueError: NULL pointer access

I think my error can be here... I don't have a clear idea on what I can do next... whether this is a 64 bit issue or... a missing library... let me paste the values of other maybe relevant variables in the local context:
attrs = [5, 1, 12, 24, 32786, True, 0, 0]
attrib_list = <pyglet.window.xlib.c_int_Array_8 object at 0x16dc200>
elements = c_int(0)
x_display = <pyglet.gl.glx.LP_struct__XDisplay object at 0x16e9cb0>
Although all those structs don't look so useful pasted here :D

Further comparisons with my Ubuntu virtualmachine gives me that the self.display.info.get_server_version() returns different strings
'1.4' on Host Fedora
'1.3' on Guest Ubuntu
thus...
have_13 is True on Fedora and False on Ubuntu... so the path that is executed by both machines is different... further comparisons will reveal nothing :(...

So... err... any ideas guys?
Thank you,
Federico


2009/8/7 Federico Cáceres <fede.c...@gmail.com>

Tartley

unread,
Aug 11, 2009, 4:13:46 AM8/11/09
to pyglet-users
Do you have an ATI card? Ubuntu chokes on a lot of hardware-
accelerated stuff on ATI cards, since Jaunty, which introduced a new
version of X.org, which the ATI restricted drivers are not compatible
with. The ATI open source drivers are fine for desktop use, but
rubbish for game / OpenGL stuff.

Especially medium-to-old ATI cards are affected (eg. my Radeon X1400)
- I assume that open source effort is most enthusiastically focussed
around newer cards for the moment.
> 2009/8/7 Federico Cáceres <fede.cace...@gmail.com>

Nicolas Rougier

unread,
Aug 11, 2009, 2:09:04 PM8/11/09
to pyglet-users

You can also try 'glxinfo' to check whether your hardware is present/
accelerated.
If it does not work, you can also try 'sudo glxinfo'

Nicolas
> 2009/8/7 Federico Cáceres <fede.cace...@gmail.com>

Federico Cáceres

unread,
Aug 11, 2009, 2:45:08 PM8/11/09
to pyglet...@googlegroups.com
Unfortunately like I said on my second post Pyglet works just fine in a virtualized Ubuntu 9.04 (using virtual box and its 3d acceleration feature). It is the host machine, a Fedora 11 x86_64, that has problems running Pyglet. I would really like to discover what is wrong/missing on my Fedora installation to get this working...

My specs & software:
Cpu: Intel Core 2 Quad Q8200 @ 2.33Ghz
Ram: 4 GB DDR2
GPU: Nvidia 8600GT with 1GB of RAM
GPU Drivers: NVIDIA's propietary drivers, version: 185.18.14
OS: Fedora 11 x86_64
KDE 4.3.0
Python 2.6

Thanks for the glxinfo suggestion, here is the output of glxinfo:
name of display: :0.0    
display: :0  screen: 0   
direct rendering: Yes    
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4             
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_EXT_texture_from_pixmap, GLX_ARB_create_context, GLX_ARB_multisample,
    GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB    
client glx vendor string: NVIDIA Corporation                                 
client glx version string: 1.4                                               
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_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGI_swap_control, GLX_ARB_create_context, GLX_NV_float_buffer,       
    GLX_ARB_fbconfig_float, GLX_EXT_fbconfig_packed_float,                   
    GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB,                   
    GLX_NV_present_video, GLX_NV_multisample_coverage                        
GLX version: 1.3                                                             
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_EXT_texture_from_pixmap, GLX_ARB_create_context, GLX_ARB_multisample,
    GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB,   
    GLX_ARB_get_proc_address                                                 
OpenGL vendor string: NVIDIA Corporation                                     
OpenGL renderer string: GeForce 8600 GT/PCI/SSE2                             
OpenGL version string: 3.0.0 NVIDIA 185.18.14                                
OpenGL shading language version string: 1.30 NVIDIA via Cg compiler          
OpenGL extensions:                                                           
    GL_ARB_color_buffer_float, GL_ARB_depth_buffer_float,                    
    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_instanced,        
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,                 
    GL_ARB_fragment_shader, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
    GL_ARB_framebuffer_object, GL_ARB_geometry_shader4, GL_ARB_imaging,       
    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_shadow,              
    GL_ARB_shader_objects, GL_ARB_shading_language_100,                       
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object,                
    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_float,                            
    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two,          
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, 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_texture_float, GL_ATI_texture_mirror_once,    
    GL_S3_s3tc, GL_EXT_texture_env_add, 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_Cg_shader, GL_EXT_bindable_uniform,  
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,                     
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,  
    GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
    GL_EXT_framebuffer_object, GL_EXTX_framebuffer_mixed_formats,             
    GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4,                         
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4,                        
    GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,                    
    GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,    
    GL_EXT_point_parameters, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,  
    GL_EXT_secondary_color, GL_EXT_separate_specular_color,                   
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,        
    GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object,     
    GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc,         
    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_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,      
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB,  
    GL_EXT_texture_swizzle, GL_EXT_texture_shared_exponent,                   
    GL_EXT_timer_query, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,        
    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_buffer_float, GL_NV_conditional_render, GL_NV_depth_clamp,    
    GL_NV_explicit_multisample, GL_NV_fence, GL_NV_float_buffer,              
    GL_NV_fog_distance, GL_NV_fragment_program, GL_NV_fragment_program_option,
    GL_NV_fragment_program2, GL_NV_framebuffer_multisample_coverage,          
    GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_half_float,             
    GL_NV_light_max_exponent, GL_NV_multisample_coverage,                     
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query,                     
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object,                
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart,      
    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_expand_normal,                  
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2,     
    GL_NV_texture_shader3, GL_NV_transform_feedback, GL_NV_vertex_array_range,
    GL_NV_vertex_array_range2, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    GL_NV_vertex_program2, GL_NV_vertex_program2_option,                      
    GL_NV_vertex_program3, GL_NVX_conditional_render,                         
    GL_NV_vertex_buffer_unified_memory, GL_NV_shader_buffer_load,             
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture,      
    GL_SGIX_shadow, GL_SUN_slice_accum                                        

84 GLX Visuals
---Followed by a loooong table.---

Any ideas?
Reply all
Reply to author
Forward
0 new messages