ntoronto / pict3d

3-dimensional picts
GNU Lesser General Public License v3.0
113 stars 23 forks source link

crash with GLXBadContext on Linux #8

Closed bbaeuml closed 9 years ago

bbaeuml commented 9 years ago

When trying to run one of the pict3d examples from the command line (the same from DrRacket) the process crashes and I get the output. below.

I am running racket 6.1.1 on SuSE Linux SLED11SP3.

./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt cpu time: 2672 real time: 2678 gc time: 856 The program 'spheres-on-canvas.rkt' received an X Window System error. This probably reflects a bug in the program. The error was 'GLXBadContext'. (Details: serial 265 error_code 144 request_code 135 minor_code 5) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) libxcb: WARNING! Program tries to lock an already locked connection, which indicates a programming error. There will be no further warnings about this issue.

ntoronto commented 9 years ago

What happens when you run this instead?

./gracket -synchronous ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt
bbaeuml commented 9 years ago

I tried and get the same error:

./gracket -synchronous ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt cpu time: 2692 real time: 2702 gc time: 864 The program 'spheres-on-canvas.rkt' received an X Window System error. This probably reflects a bug in the program. The error was 'GLXBadContext'. (Details: serial 418 error_code 144 request_code 135 minor_code 5) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) libxcb: WARNING! Program tries to lock an already locked connection, which indicates a programming error. There will be no further warnings about this issue.

ntoronto commented 9 years ago

Believe it or not, that's a good thing. It means that if we have to, we can get a stack trace that leads from the actual error.

A few questions. First, do you have Xinerama? If you do, what happens when you disable it?

Second, what does running this program do?

#lang racket

(require racket/gui
         sgl/gl)

(define frame (new frame% [label "Test"] [width 400] [height 400]))
(define canvas (new canvas% [parent frame] [style '(gl no-autoclear)]))
(send frame show #t)

(define ctxt (send (send canvas get-dc) get-gl-context))
(send ctxt call-as-current
      (λ () (with-handlers ([exn?  (λ (e) e)])
              (glGetString GL_VERSION))))

(send frame show #f)
ntoronto commented 9 years ago

Also, not a solution, but possibly a workaround or a way to tell whether locking is the only problem:

LIBXCB_ALLOW_SLOPPY_LOCK=1 ./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt 
bbaeuml commented 9 years ago

A few questions. First, do you have Xinerama? If you do, what happens when you disable it?

Xinerama is disabled.

Second, what does running this program do?

Shortly shows a window and writes the version string on the console: "3.3.0 NVIDIA 319.60"

lang racket

(require racket/gui sgl/gl)

(define frame (new frame% [label "Test"] [width 400] [height 400])) (define canvas (new canvas% [parent frame] [style '(gl no-autoclear)])) (send frame show #t)

(define ctxt (send (send canvas get-dc) get-gl-context)) (send ctxt call-as-current (λ () (with-handlers ([exn? (λ (e) e)]) (glGetString GL_VERSION))))

(send frame show #f) — Reply to this email directly or view it on GitHub https://github.com/ntoronto/pict3d/issues/8#issuecomment-74054577.


Berthold Bäuml -- Head of Autonomous Learning Robots Lab DLR, Robotics and Mechatronics Center (RMC) Münchner Str. 20, D-82234 Wessling Phone +49 8153 282489 http://www.robotic.de/Berthold.Baeuml

bbaeuml commented 9 years ago

From: Neil Toronto [notifications@github.com] Sent: Thursday, February 12, 2015 12:18 PM To: ntoronto/pict3d Cc: Bäuml, Berthold Subject: Re: [pict3d] crash with GLXBadContext on Linux (#8)

Does not make a difference ...

LIBXCB_ALLOW_SLOPPY_LOCK=1 ./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt cpu time: 2688 real time: 2697 gc time: 868 The program 'spheres-on-canvas.rkt' received an X Window System error. This probably reflects a bug in the program. The error was 'GLXBadContext'. (Details: serial 265 error_code 144 request_code 135 minor_code 5) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) libxcb: WARNING! Program tries to lock an already locked connection, which indicates a programming error. There will be no further warnings about this issue.

Also, not a solution, but possibly a workaround or a way to tell whether locking is the only problem:

LIBXCB_ALLOW_SLOPPY_LOCK=1 ./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt

— Reply to this email directly or view it on GitHubhttps://github.com/ntoronto/pict3d/issues/8#issuecomment-74055191.

ntoronto commented 9 years ago

A couple more questions.

Can you run glxgears and glxinfo? What kind of NVIDIA card do you have?

ntoronto commented 9 years ago

More questions, if you have the time.

What happens when you run the above program but change sgl/gl to typed/opengl?

What if you change everything from (define frame ...) to (send frame ...) to the following?

(define frame (new frame% [label "Test"] [width 400] [height 400]))
(define config (new gl-config%))
(send config set-legacy? #f)
(define canvas (new canvas% [parent frame] [style '(gl no-autoclear)] [gl-config config]))
(send frame show #t)
bbaeuml commented 9 years ago

A couple more questions.

Can you run glxgears and glxinfo? What kind of NVIDIA card do you have?

Both work with no problems. I even can run the gears.rkt in the opengl folder (see output below).

The card is a NVIDIA NVS 300.

What follows are the outputs of opengl/gears.rkt and glxinfo.

Best,

Berthold

./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/opengl/gears.rkt RENDERER: NVS 300/PCIe/SSE2 VERSION: 3.3.0 NVIDIA 319.60 VENDOR: NVIDIA Corporation EXTENSIONS: GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_clear_buffer_object GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback_instanced GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array 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_bindable_uniform 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_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_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object 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_shader_objects 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_dxt1 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_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_debug GL_KTX_buffer_region GL_NV_blend_square GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_ES1_1_compatibility 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_gpu_program4_1 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_parameter_buffer_object2 GL_NV_path_rendering GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_shader_buffer_load GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_vdpau_interop GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_buffer_unified_memory 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_NVX_gpu_memory_info GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum

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_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB, GLX_NV_multisample_coverage 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_EXT_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, 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_copy_image, GLX_NV_multisample_coverage, GLX_NV_video_capture, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness 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_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB, GLX_NV_multisample_coverage, GLX_ARB_get_proc_address OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVS 300/PCIe/SSE2 OpenGL version string: 3.3.0 NVIDIA 319.60 OpenGL extensions: GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback_instanced, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, 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_bindable_uniform, 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_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_EXTX_framebuffer_mixed_formats, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 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_shader_objects, 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_dxt1, 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_shared_exponent, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, GL_EXT_import_sync_object, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KHR_debug, GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_ES1_1_compatibility, 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_gpu_program4_1, 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_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_shader_buffer_load, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_buffer_unified_memory, 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_NVX_gpu_memory_info, GL_SGIS_generate_mipmap, 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 4 24 8 16 16 16 16 0 0 None 0x22 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0x24 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x25 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0x26 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x28 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x29 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x2a 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x2b 24 tc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x2c 24 tc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x2d 24 tc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x2e 24 tc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x2f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x30 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x31 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x32 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x33 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x34 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x35 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x36 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x37 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x38 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x39 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x3a 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x3b 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x3c 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x3d 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x3e 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x3f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x40 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x41 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x42 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x43 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x44 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x45 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x46 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x47 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x48 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x49 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x4a 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x4b 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x4c 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x4d 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x4e 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x4f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x50 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x51 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x52 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x53 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x54 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x55 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x56 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x57 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x58 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x59 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x5a 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x5b 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x5c 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x5d 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x5e 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x5f 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x60 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x61 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x62 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x63 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x64 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x65 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x66 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x67 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x68 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0x69 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x6a 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x6b 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x6c 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x6d 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x6e 24 dc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x6f 24 dc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x70 24 dc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x71 24 dc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x72 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x73 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x74 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x75 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x76 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x77 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x78 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x79 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x7a 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x7b 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x7c 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x7d 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x7e 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x7f 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x80 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x81 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x82 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x83 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x84 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x85 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x86 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x87 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x88 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x89 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x8a 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x8b 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x8c 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x8d 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x8e 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x8f 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x90 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x91 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x92 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x93 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x94 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x95 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x96 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x97 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x98 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x99 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x9a 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x9b 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x9c 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x9d 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x9e 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x9f 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xa0 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa1 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa2 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xa3 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xa4 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xa5 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xa6 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa7 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa8 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xa9 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x23 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0xaa 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0xab 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0xac 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0xad 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0xae 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0xaf 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0xb0 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0xb1 32 tc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0xb2 32 tc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0xb3 32 tc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0xb4 32 tc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0xb5 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0xb6 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0xb7 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0xb8 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0xb9 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0xba 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0xbb 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0xbc 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0xbd 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0xbe 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0xbf 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0xc0 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0xc1 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0xc2 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0xc3 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0xc4 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0xc5 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xc6 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xc7 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xc8 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xc9 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xca 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xcb 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xcc 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xcd 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xce 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xcf 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xd0 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xd1 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xd2 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xd3 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xd4 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xd5 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xd6 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xd7 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xd8 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xd9 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xda 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xdb 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xdc 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xdd 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xde 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xdf 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xe0 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xe1 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xe2 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xe3 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xe4 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xe5 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xe6 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xe7 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xe8 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xe9 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xea 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xeb 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xec 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon

Reply to this email directly or view it on GitHubhttps://github.com/ntoronto/pict3d/issues/8#issuecomment-74162064.

bbaeuml commented 9 years ago

More questions, if you have the time.

No problem. I am happy that you take the effort to find the problem!

What happens when you run the above program but change sgl/gl to typed/opengl?

No change: a window pops up shortly and on the console the version string is written:

"3.3.0 NVIDIA 319.60"

What if you change everything from (define frame ...) to (send frame ...) to the following?

(define frame (new frame% [label "Test"] [width 400] [height 400])) (define config (new gl-config%)) (send config set-legacy? #f) (define canvas (new canvas% [parent frame] [style '(gl no-autoclear)] [gl-config config])) (send frame show #t)

With these changes I get the known error:

The program '3d.rkt' received an X Window System error. This probably reflects a bug in the program. The error was 'GLXBadContext'. (Details: serial 255 error_code 144 request_code 135 minor_code 5) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) libxcb: WARNING! Program tries to lock an already locked connection, which indicates a programming error. There will be no further warnings about this issue.

— Reply to this email directly or view it on GitHubhttps://github.com/ntoronto/pict3d/issues/8#issuecomment-74162807.

ntoronto commented 9 years ago

Now we're getting somewhere! Can you reply with the output of glxinfo please? This will help me determine whether it's a driver issue.

Also, a new program for you to try:

#lang racket

(require racket/gui)

(define config (new gl-config%))
(send config set-legacy? #f)

(define frame (new frame% [label "Test"] [width 400] [height 400]))
(define canvas (new canvas% [parent frame] [style '(gl no-autoclear)] [gl-config config]))
(send frame show #t)

Basically, it's the program you just ran, but without the call to glGetString.

bbaeuml commented 9 years ago

Now we're getting somewhere! Can you reply with the output of glxinfo please? This will help me determine whether it's a driver issue.

Output of glxinfo follows below.

Also, a new program for you to try:

Basically, it's the program you just ran, but without the call to glGetString.

->This program opens an empty window and does NOT die. No output on console.

Here the 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.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_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB, GLX_NV_multisample_coverage 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_EXT_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, 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_copy_image, GLX_NV_multisample_coverage, GLX_NV_video_capture, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness 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_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB, GLX_NV_multisample_coverage, GLX_ARB_get_proc_address OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVS 300/PCIe/SSE2 OpenGL version string: 3.3.0 NVIDIA 319.60 OpenGL extensions: GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback_instanced, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, 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_bindable_uniform, 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_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_EXTX_framebuffer_mixed_formats, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 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_shader_objects, 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_dxt1, 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_shared_exponent, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, GL_EXT_import_sync_object, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KHR_debug, GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_ES1_1_compatibility, 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_gpu_program4_1, 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_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_shader_buffer_load, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_buffer_unified_memory, 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_NVX_gpu_memory_info, GL_SGIS_generate_mipmap, 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 4 24 8 16 16 16 16 0 0 None 0x22 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0x24 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x25 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0x26 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x28 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x29 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x2a 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x2b 24 tc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x2c 24 tc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x2d 24 tc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x2e 24 tc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x2f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x30 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x31 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x32 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x33 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x34 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x35 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x36 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x37 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x38 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x39 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x3a 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x3b 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x3c 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x3d 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x3e 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x3f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x40 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x41 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x42 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x43 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x44 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x45 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x46 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x47 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x48 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x49 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x4a 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x4b 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x4c 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x4d 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x4e 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x4f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x50 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x51 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x52 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x53 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x54 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x55 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x56 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x57 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x58 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x59 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x5a 24 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x5b 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x5c 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x5d 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x5e 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x5f 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x60 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x61 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x62 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x63 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x64 24 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x65 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x66 24 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x67 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x68 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0x69 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0x6a 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x6b 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x6c 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0x6d 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0x6e 24 dc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x6f 24 dc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x70 24 dc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0x71 24 dc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0x72 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x73 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x74 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x75 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x76 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0x77 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0x78 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0x79 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0x7a 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x7b 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x7c 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x7d 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x7e 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0x7f 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0x80 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0x81 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0x82 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x83 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x84 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x85 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x86 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x87 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x88 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x89 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x8a 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x8b 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x8c 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x8d 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x8e 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x8f 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0x90 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0x91 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x92 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x93 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x94 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x95 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x96 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x97 24 dc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x98 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0x99 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0x9a 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x9b 24 dc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0x9c 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x9d 24 dc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0x9e 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0x9f 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xa0 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa1 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa2 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xa3 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xa4 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xa5 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xa6 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa7 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xa8 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xa9 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0x23 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0xaa 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0xab 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None 0xac 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None 0xad 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0xae 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0xaf 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None 0xb0 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None 0xb1 32 tc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0xb2 32 tc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0xb3 32 tc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None 0xb4 32 tc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None 0xb5 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0xb6 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0xb7 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0xb8 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0xb9 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon 0xba 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon 0xbb 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon 0xbc 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon 0xbd 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0xbe 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0xbf 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0xc0 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0xc1 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon 0xc2 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon 0xc3 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon 0xc4 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon 0xc5 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xc6 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xc7 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xc8 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xc9 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xca 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xcb 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xcc 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xcd 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xce 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xcf 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xd0 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xd1 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xd2 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xd3 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xd4 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xd5 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xd6 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xd7 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xd8 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xd9 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xda 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xdb 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 8 1 Ncon 0xdc 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 8 1 Ncon 0xdd 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xde 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 16 1 Ncon 0xdf 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xe0 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 16 1 Ncon 0xe1 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xe2 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xe3 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xe4 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xe5 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xe6 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xe7 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 8 1 Ncon 0xe8 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 8 1 Ncon 0xe9 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xea 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 16 1 Ncon 0xeb 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon 0xec 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 16 1 Ncon


From: Neil Toronto [notifications@github.com] Sent: Friday, February 13, 2015 11:35 AM To: ntoronto/pict3d Cc: Bäuml, Berthold Subject: Re: [pict3d] crash with GLXBadContext on Linux (#8)

Now we're getting somewhere! Can you reply with the output of glxinfo please? This will help me determine whether it's a driver issue.

Also, a new program for you to try:

lang racket

(require racket/gui)

(define config (new gl-config%)) (send config set-legacy? #f)

(define frame (new frame% [label "Test"] [width 400] [height 400])) (define canvas (new canvas% [parent frame] [style '(gl no-autoclear)] [gl-config config])) (send frame show #t)

Basically, it's the program you just ran, but without the call to glGetString.

Reply to this email directly or view it on GitHubhttps://github.com/ntoronto/pict3d/issues/8#issuecomment-74234397.

ntoronto commented 9 years ago

Thanks for pasting the glxinfo output again. :)

I think I can fix this, but possibly not by changing Pict3D. Fortunately, there's a workaround. Start your programs like this:

#lang racket
(require pict3d)
(pict3d-legacy-contexts? #t)  ; don't request a core profile

They shouldn't crash if you do that. (Do try it and let me know.)

The root of the problem starts with the fact that your graphics driver won't return OpenGL contexts with core profiles, which Pict3D requests by default. I can tell from the glxinfo output, which contains nothing like the following, which my graphics driver returns:

[...]
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
[...]

There's nothing wrong with the driver not returning core profiles when requested. Racket is supposed to request a non-core profile when that happens. Apparently, though, something like one of these things is happening:

If I can work around it in Pict3D, I'll do it, and then dive back into Racket's GLX code and try to do the same there.

ntoronto commented 9 years ago

I think I've worked around the driver problem. Can you try the latest Pict3D when you next get a chance? In particular, try this program:

#lang racket

(require racket/gui
         pict3d)

(pict3d-legacy-contexts? #f)

(define frame (new frame% [label "Test"] [width 400] [height 400]))
(define canvas (new pict3d-canvas% [parent frame]))
(send frame show #t)

(send canvas set-pict3d
      (combine (basis 'camera (point-at '(1 1 1) '(-1 -1 -1)))
               (light '(1/2 1/2 2) "azure" 1)
               (sphere '(0 0 0) 3/4)))
bbaeuml commented 9 years ago

I think I've worked around the driver problem. Can you try the latest Pict3D when you next get a chance? In particular, try this program:

lang racket

(require racket/gui pict3d)

(pict3d-legacy-contexts? #f)

(define frame (new frame% [label "Test"] [width 400] [height 400])) (define canvas (new pict3d-canvas% [parent frame])) (send frame show #t)

(send canvas set-pict3d (combine (basis 'camera (point-at '(1 1 1) '(-1 -1 -1))) (light '(1/2 1/2 2) "azure" 1) (sphere '(0 0 0) 3/4)))

I have updated the pict3d package and now this program runs and displays a window with a gray sphere in it.

I also tested some of the package's example programs but they only work when I add the (pict3d-legacy-contexts? #t) Otherwise they run only for a short time and then crash.

./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt cpu time: 3396 real time: 3409 gc time: 988 pict3d: exception querying canvas OpenGL context version (legacy? = #f): "an X11 error occurred" cpu time: 1612 real time: 1634 gc time: 524 cpu time: 80 real time: 85 gc time: 0 cpu time: 88 real time: 137 gc time: 0 cpu time: 80 real time: 200 gc time: 0 cpu time: 56 real time: 167 gc time: 0 cpu time: 68 real time: 200 gc time: 0 cpu time: 36 real time: 168 gc time: 0 cpu time: 36 real time: 166 gc time: 0 cpu time: 20 real time: 167 gc time: 0 cpu time: 24 real time: 166 gc time: 0 cpu time: 28 real time: 166 gc time: 0 cpu time: 20 real time: 167 gc time: 0 SIGSEGV MAPERR si_code 1 fault on addr 0x8a0 Aborted

./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/nuclear-sausage-plant.rkt pict3d: exception querying canvas OpenGL context version (legacy? = #f): "an X11 error occurred" SIGSEGV MAPERR si_code 1 fault on addr 0x292 Aborted

Best, Berthold

— Reply to this email directly or view it on GitHub https://github.com/ntoronto/pict3d/issues/8#issuecomment-74404711.


Berthold Bäuml -- Head of Autonomous Learning Robots Lab DLR, Robotics and Mechatronics Center (RMC) Münchner Str. 20, D-82234 Wessling Phone +49 8153 282489 http://www.robotic.de/Berthold.Baeuml

ntoronto commented 9 years ago

We're making progress!

Can you please run PLTSTDERR="info@pict3d" ./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/nuclear-sausage-plant.rkt and post the output? It should look something like this:

pict3d: <engine> running X11 version test
pict3d: <engine> obtained canvas OpenGL 33 core context (legacy? = #f)
pict3d: <canvas> obtained canvas OpenGL 33 core context (legacy? = #f)
pict3d: <engine> creating draw-passes vector for 512 shapes
pict3d: <engine> creating sphere opaque color pass program
[...]

Except it should have something about an exception querying the OpenGL context version, followed by lines that indicate it has switched to trying legacy? = #t.

ntoronto commented 9 years ago

Whoops, wrong button...

bbaeuml commented 9 years ago

We're making progress!

Can you please run PLTSTDERR="info@pict3d" ./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/nuclear-sausage-plant.rkt and post the output? it should look something like this:

pict3d: running X11 version test pict3d: obtained canvas OpenGL 33 core context (legacy? = #f) pict3d: obtained canvas OpenGL 33 core context (legacy? = #f) pict3d: creating draw-passes vector for 512 shapes pict3d: creating sphere opaque color pass program [...] Except it should have something about an exception querying the OpenGL context version, followed by lines that indicate it has switched to trying legacy? = #t.

Here the output -- looks like you expected.

PLTSTDERR="info@pict3d" ./racket ~/.racket/6.1.1/pkgs/pict3d/pict3d/tests/nuclear-sausage-plant.rkt pict3d: running X11 version test pict3d: exception querying canvas OpenGL context version (legacy? = #f): "an X11 error occurred" pict3d: running X11 version test pict3d: obtained canvas OpenGL 33 compatibility context (legacy? = #t) pict3d: obtained canvas OpenGL 33 compatibility context (legacy? = #t) pict3d: creating draw-passes vector for 512 shapes pict3d: creating sphere opaque color pass program pict3d: creating 832x640 depth-buffer pict3d: creating 832x640 tran-depth-buffer pict3d: creating 832x640 mat-fbo pict3d: creating 832x640 tran-mat-fbo pict3d: creating 832x640 light-fbo pict3d: creating 832x640 tran-fbo pict3d: creating 832x640 draw-fbo pict3d: creating 832x640 reduce-fbo pict3d: creating 384x256 bloom-fbo pict3d: creating 384x256 blur-fbo pict3d: creating draw-params vector of length 512 pict3d: creating key vector of length 512 pict3d: creating sphere material program pict3d: creating vao for 2048 (1516) vertices, 4096 (2274) indexes pict3d: creating temp transform data of length 131072 pict3d: creating temp index data of length 4096 pict3d: creating directional light program pict3d: creating vao for 4 (4) vertices, 8 (6) indexes pict3d: creating vao for 2048 (1516) vertices, 4096 (2274) indexes pict3d: creating weighted transparency blend program pict3d: creating vao for fullscreen compositing passes pict3d: creating overbright extraction program pict3d: creating horizontal blur program pict3d: creating vertical blur program pict3d: creating fullscreen program pict3d: creating bloom compositing program SIGSEGV MAPERR si_code 1 fault on addr 0x7fe6db9e8140 Aborted

Reply to this email directly or view it on GitHub https://github.com/ntoronto/pict3d/issues/8#issuecomment-74443410.


Berthold Bäuml -- Head of Autonomous Learning Robots Lab DLR, Robotics and Mechatronics Center (RMC) Münchner Str. 20, D-82234 Wessling Phone +49 8153 282489 http://www.robotic.de/Berthold.Baeuml

ntoronto commented 9 years ago

It looks like the segfault is happening when Racket tries to clean up the original OpenGL context. The GLXBadContext crash had been keeping the segfault from happening.

It looks like this is something I have to try to fix in Racket instead of hacking around in Pict3D.

nodrygo commented 9 years ago

don't know if that help but

Same error on my Mint17 (Ubuntu) since I have re installed racket with last snapshot (2015-03-15) 64-bit x86_64 natipkg and updated pict3d

a previous install of racket(version 6.1.1.8--2015-03-11(33d6531/a) [3m].) and pict3d at same time was working fine. when reverting to that 2 releases (racket and pict3d) it work again

NB: plt-game 3D jewel still work glxgears also

~/racket/bin/gracket -synchronous ~/.racket/snapshot/pkgs/pict3d/pict3d/tests/spheres-on-canvas.rkt cpu time: 2628 real time: 2625 gc time: 734 The program 'spheres-on-canvas.rkt' received an X Window System error. This probably reflects a bug in the program. The error was 'GLXBadFBConfig'. (Details: serial 422 error_code 178 request_code 155 minor_code 34) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)

ntoronto commented 9 years ago

The reason Racket versions previous to 6.1.1 work is that those versions never asked for core profiles (i.e. they disregarded the legacy? flag in gl-config%).

Can you please paste in the output of glxinfo? I have a couple of hunches I'd like to verify.

ntoronto commented 9 years ago

@nodrygo, @bbaeuml: I've just pushed a possible fix to Racket. It should be in the next snapshot build.

nodrygo commented 9 years ago

thank's will test on next snapshot

my glxinfo


name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 server glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control client glx vendor string: Mesa Project and SGI client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync GLX version: 1.4 GLX extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: GL_3DFX_texture_compression_FXT1, GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_trinary_minmax, GL_AMD_vertex_shader_layer, GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, GL_APPLE_object_purgeable, GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_clear_buffer_object, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, GL_ARB_sync, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ATI_blend_equation_separate, GL_ATI_texture_float, GL_EXT_abgr, GL_EXT_blend_equation_separate, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_sRGB, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_pixel_buffer_object, GL_EXT_provoking_vertex, GL_EXT_shader_integer_mix, GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, GL_IBM_multimode_draw_arrays, GL_KHR_debug, GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil, GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc

OpenGL version string: 3.0 Mesa 10.1.3 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: GL_3DFX_texture_compression_FXT1, GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_trinary_minmax, GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_blend_func_extended, GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_ATI_texture_float, 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_copy_texture, 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_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_gpu_program_parameters, 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_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc, GL_EXT_texture_cube_map, 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_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_KHR_debug, GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

20 GLX Visuals visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav

id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat

0x040 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x041 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x0ac 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x0ad 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x0ae 24 tc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x0af 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 0x0b0 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 4 1 None 0x0b1 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 8 1 None 0x0b2 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 4 1 None 0x0b3 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 8 1 None 0x0b4 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x0b5 24 dc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x0b6 24 dc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x0b7 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x0b8 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 0x0b9 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 4 1 None 0x0ba 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 8 1 None 0x0bb 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 4 1 None 0x0bc 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 8 1 None 0x07f 32 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None

44 GLXFBConfigs: visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav

id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat

0x080 0 tc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 0x081 0 tc 0 16 0 r . . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 0x082 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 0x083 0 tc 0 16 0 r . . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 0x084 0 tc 0 16 0 r y . 5 6 5 0 . . 0 24 8 0 0 0 0 0 0 None 0x085 0 tc 0 16 0 r . . 5 6 5 0 . . 0 24 8 0 0 0 0 0 0 None 0x086 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x087 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x088 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x089 24 tc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x08a 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 0x08b 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 16 16 16 0 0 0 Slow 0x08c 32 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x08d 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 0x08e 0 tc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 4 1 None 0x08f 0 tc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 8 1 None 0x090 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 4 1 None 0x091 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 8 1 None 0x092 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 4 1 None 0x093 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 8 1 None 0x094 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 4 1 None 0x095 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 8 1 None 0x096 0 dc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 0x097 0 dc 0 16 0 r . . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 0x098 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 0x099 0 dc 0 16 0 r . . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 0x09a 0 dc 0 16 0 r y . 5 6 5 0 . . 0 24 8 0 0 0 0 0 0 None 0x09b 0 dc 0 16 0 r . . 5 6 5 0 . . 0 24 8 0 0 0 0 0 0 None 0x09c 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x09d 24 dc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 0x09e 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x09f 24 dc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x0a0 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 0x0a1 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 16 16 16 0 0 0 Slow 0x0a2 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 0x0a3 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 0x0a4 0 dc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 4 1 None 0x0a5 0 dc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 8 1 None 0x0a6 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 4 1 None 0x0a7 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 8 1 None 0x0a8 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 4 1 None 0x0a9 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 8 1 None 0x0aa 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 4 1 None 0x0ab 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 8 1 None

ntoronto commented 9 years ago

@nodrygo: Thanks! When you do try it, can you please run DrRacket from the command line like this?

PLTSTDERR=info <bin-path>/drracket

I've added some info-level logging whose output will be useful whether the fix works or not - but especially if the fix doesn't work.

ntoronto commented 9 years ago

Oh, and please reply with the logging lines that start with gl-context: or pict3d:.

EDIT: Duh. Instead of manually filtering, use grep:

PLTSTDERR=info <bin-path>/drracket 2>&1 | grep "^pict3d:\|^gl-context:"

nodrygo commented 9 years ago

Hello, hope that may help (and congrat for this impressive work)

Fresh install of racket/pict3d package Racket 6.1.1.8--2015-03-16(e6ffbf2/a)

update make another fresh install

Run with nativepkg

lang racket

(require pict3d) (sphere origin 1/2)

PLTSTDERR=info drracket 2>&1 | grep "^pict3d:\|^gl-context:" Crash with No output

last lines without the grep cm-accomplice: file dependency: #<path:/home/ygo/.racket/snapshot/pkgs/pict3d/pict3d/private/gui/invisible-context.rkt> The program 'drracket' received an X Window System error. This probably reflects a bug in the program. The error was 'GLXBadFBConfig'. (Details: serial 9113 error_code 178 request_code 155 minor_code 34) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)

nodrygo commented 9 years ago

By he way I had another error running tests spaceship and nuclear sausage in dialog box

get-master-gl-context: could not get at least an OpenGL 30 context (legacy? = #f) context...: /home/ygo/racket/collects/racket/private/more-scheme.rkt:370:13: hash-ref!

With PLTSTDERR=info drracket 2>&1 | grep "^pict3d:|^gl-context:"

ygo@ygo-N550JV ~ $ PLTSTDERR=info drracket 2>&1 | grep "^pict3d:|^gl-context:"
pict3d: got canvas OpenGL 33 context (legacy? = #f)
pict3d: creating draw-passes vector for 1 shapes
pict3d: creating 448x448 depth-buffer
pict3d: creating 448x448 tran-depth-buffer
pict3d: creating 448x448 mat-fbo
pict3d: creating 448x448 tran-mat-fbo
pict3d: creating 448x448 light-fbo
pict3d: creating 448x448 tran-fbo
pict3d: creating 448x448 draw-fbo
pict3d: creating 448x448 reduce-fbo
pict3d: creating 256x256 bloom-fbo
pict3d: creating 256x256 blur-fbo
pict3d: creating draw-params vector of length 1
pict3d: creating span vector of length 1
pict3d: creating weighted transparency blend program
pict3d: creating vao for fullscreen compositing passes
pict3d: creating overbright extraction program
pict3d: creating horizontal blur program
pict3d: creating vertical blur program
pict3d: creating fullscreen program
pict3d: creating bloom compositing program
pict3d: exception querying canvas OpenGL context version (legacy? = #f): (exn:fail:contract "hash-ref: no value found for key\n key: 30" #)

note

ntoronto commented 9 years ago

I think I know how to work around the "spaceship" and "nuclear-sausage-plant" problem: copy them into a new file, close them, and run the new file. Either that, or uncheck "Populate compiled directories" in the language dialog.

DrRacket um, helpfully recompiles all of Pict3D when "Populate compiled directories" is checked and one of Pict3D's test files is open. This isn't usually a problem, but it started doing so badly a little while ago. I think I know why, but I don't know how to make it behave.

nodrygo commented 9 years ago

oh yes this work around work thanks

2015-03-17 10:28 GMT+01:00 Neil Toronto notifications@github.com:

I think I know how to work around the "spaceship" and "nuclear-sausage-plant" problem: copy them into a new file, close them, and run the new file. Either that, or uncheck "Populate compiled directories" in the language dialog.

DrRacket um, helpfully recompiles all of Pict3D when "Populate compiled directories" is checked and one of Pict3D's test files is open. This isn't usually a problem, but it started doing so badly a little while ago. I think I know why, but I don't know how to make it behave.

— Reply to this email directly or view it on GitHub https://github.com/ntoronto/pict3d/issues/8#issuecomment-82238536.

ntoronto commented 9 years ago

From looking at the program output, it looks like the snapshot with my changes to how Linux gets OpenGL contexts hasn't been built yet. It should look like this:

gl-context: glXCreateContextAttribsARB returned NULL for version 4.5
gl-context: glXCreateContextAttribsARB returned NULL for version 4.4
gl-context: glXCreateContextAttribsARB returned NULL for version 4.3
gl-context: glXCreateContextAttribsARB returned NULL for version 4.2
gl-context: glXCreateContextAttribsARB returned NULL for version 4.1
gl-context: glXCreateContextAttribsARB returned NULL for version 4.0
pict3d: <engine> got canvas OpenGL 33 context (legacy? = #f)
...

At least, there should be 6 lines starting with gl-context: before Pict3D reports that it got an OpenGL context. (They may say something different on your machine.) So we'll have to wait for a snapshot that starts with "20150317". I don't know when it'll be ready, but I assume within a couple of hours.

ntoronto commented 9 years ago

Good! I'm glad the weird problem you had was the same as my weird problem. :D

ntoronto commented 9 years ago

The new snapshots are up at http://pre.racket-lang.org/installers/.

bbaeuml commented 9 years ago

I tested and the examples seem to work. But I get the following messages when, e.g., running the snowman:

gl-context: glXCreateContextAttribsARB raised an error for version 4.5 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.4 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.3 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.2 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.1 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.0 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context

On 17 Mar 2015, at 15:33, Neil Toronto notifications@github.com wrote:

The new snapshots are up at http://pre.racket-lang.org/installers/ http://pre.racket-lang.org/installers/.

— Reply to this email directly or view it on GitHub https://github.com/ntoronto/pict3d/issues/8#issuecomment-82386008.


Berthold Bäuml -- Head of Autonomous Learning Robots Lab DLR, Robotics and Mechatronics Center (RMC) Münchner Str. 20, D-82234 Wessling Phone +49 8153 282489 http://www.robotic.de/Berthold.Baeuml

ntoronto commented 9 years ago

Awesome!

Your graphics driver is indeed behaving contrary to standards. It should return NULL and raise an X error when glXCreateContextAttribsARB is called requesting an OpenGL version the driver doesn't support. But it only raises an error, and returns a garbage context. Previously, Racket would check only the return value and ignore the errors, which it should have been able to do, but the garbage context was eventually resulting in segfaults.

In the future, I might change the log level for that message from error to warning so your command line doesn't get spammed with it when you use Pict3D.

Can you run DrRacket using

PLTSTDERR=info <bin-path>/drracket 2>&1 | grep "^pict3d:\|^gl-context:"

and reply with the results up until Pict3D reports that it got an OpenGL context? I want to make sure it's either getting a core profile or correctly falling back to requesting a compatibility profile.

nodrygo commented 9 years ago

just for information on last release 6.1.1.8--2015-03-17(e6ffbf2/a) work fine with: 64-bit x86_64 still hard fail with: 64-bit x8664 natipkg so there is a problem with native pkg .. (not a problem for me because don't really need it ;-) )_

bbaeuml commented 9 years ago

On 17 Mar 2015, at 17:45, Neil Toronto notifications@github.com wrote:

Awesome!

Yes, indeed!

Your graphics driver is indeed behaving contrary to standards. It should return NULL and raise an X error when glXCreateContextAttribsARB is called requesting an OpenGL version the driver doesn't support. But it only raises an error, and returns a garbage context. Previously, Racket would check only the return value and ignore the errors, which it should have been able to do, but the garbage context was eventually resulting in segfaults.

In the future, I might change the log level for that message from error to warning so your command line doesn't get spammed with it when you use Pict3D.

Can you run DrRacket using

PLTSTDERR=info /drracket 2>&1 | grep "^pict3d:|^gl-context:"

This results in gl-context: glXCreateContextAttribsARB raised an error for version 4.5 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.4 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.3 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.2 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.1 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context gl-context: glXCreateContextAttribsARB raised an error for version 4.0 but (contrary to standards) returned a non-NULL context; ignoring possibly corrupt context pict3d: got canvas OpenGL 33 context (legacy? = #f)

and reply with the results up until Pict3D reports that it got an OpenGL context? I want to make sure it's either getting a core profile or correctly falling back to requesting a compatibility profile.

— Reply to this email directly or view it on GitHub https://github.com/ntoronto/pict3d/issues/8#issuecomment-82468944.


Berthold Bäuml -- Head of Autonomous Learning Robots Lab DLR, Robotics and Mechatronics Center (RMC) Münchner Str. 20, D-82234 Wessling Phone +49 8153 282489 http://www.robotic.de/Berthold.Baeuml

ntoronto commented 9 years ago

@bbaeuml: Interesting! From the output of glxinfo, I had assumed that your driver wouldn't return a core profile. Knowing NVIDIA, it's probably a compatibility profile that they claim is core. That's OK, though, because Pict3D won't use any of the extra non-core features. :)

@nodrygo: Good to know about the native library build. Even though you don't need it, I'd still like to fix it. I've asked Matthew Flatt about the libraries in it.

ntoronto commented 9 years ago

OK, I've decided to not descend into library dependency hell. Closing this issue. Thanks for your help, guys!