SDL_SetVideoMode hangs with SDL_OPENGL on Ubuntu Precise

Hello,

This seems to be new behaviour, and I don’t know how or when this could hav
started. Lately, my SDL applications hang on calls to SDL_SetVideoMode when
the SDL_OPENGL flag is passed in; sometimes it will hang for a second,
sometimes for 20-30 seconds. After a while, it just resumes and the
application runs without a hitch. Using a debugger I’ve been able to track
down the hanging to a function called ‘glXMakeCurrent’. Has anyone had this
issue before?

Thanks,
Luis

which card and driver? i am having issues which ever lasting freezes with the sdl opengl renderer and the radeon driver. i have already tried multiple versions of mesa and the driver - still no luck. maybe the issues are related. i have written my own opengl renderer now - which does not trigger the freeze. and now that you have said this… i don’t call glxmakecurrent at all.Am 13.05.2013 um 22:25 schrieb Luis Torres :

Hello,

This seems to be new behaviour, and I don’t know how or when this could hav started. Lately, my SDL applications hang on calls to SDL_SetVideoMode when the SDL_OPENGL flag is passed in; sometimes it will hang for a second, sometimes for 20-30 seconds. After a while, it just resumes and the application runs without a hitch. Using a debugger I’ve been able to track down the hanging to a function called ‘glXMakeCurrent’. Has anyone had this issue before?

Thanks,
Luis


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Card: GeForce Quadro FX 580
Driver: nvidia proprietary driver 304, I believe.

I don’t think the hardware is completely to blame, since using GLFW to set
up a rendering context works just fine. I haven’t checked what calls GLFW
makes.On Wed, May 15, 2013 at 1:49 AM, Martin Gerhardy <martin.gerhardy at gmail.com>wrote:

which card and driver? i am having issues which ever lasting freezes with
the sdl opengl renderer and the radeon driver. i have already tried
multiple versions of mesa and the driver - still no luck. maybe the issues
are related. i have written my own opengl renderer now - which does not
trigger the freeze. and now that you have said this… i don’t call
glxmakecurrent at all.

Am 13.05.2013 um 22:25 schrieb Luis Torres <@Luis_Torres>:

Hello,

This seems to be new behaviour, and I don’t know how or when this could
hav started. Lately, my SDL applications hang on calls to SDL_SetVideoMode
when the SDL_OPENGL flag is passed in; sometimes it will hang for a second,
sometimes for 20-30 seconds. After a while, it just resumes and the
application runs without a hitch. Using a debugger I’ve been able to track
down the hanging to a function called ‘glXMakeCurrent’. Has anyone had this
issue before?

Thanks,
Luis


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

I have same issue on Ubuntu.
glXMakeCurrent takes long time.
It takes long time to launch/and terminate testgl in test directory. (more than 20 mins)

If someone can give any tip for this issue, it could be very helpful.

I have same issue on Ubuntu.
glXMakeCurrent takes long time.
It takes long time to launch/and terminate testgl in test directory. (more than 20 mins)

If someone can give any tip for this issue, it could be very helpful.

I have same issue on Ubuntu.
glXMakeCurrent takes long time.
It takes long time to launch/and terminate testgl in test directory. (more than 20 secs)

If someone can give any tip for this issue, it could be very helpful.

Could you please post the output of glxinfo and the graphics driver you are
using with X11? Thanks.On 20 July 2013 06:37, Hyejung wrote:

**
I have same issue on Ubuntu.
glXMakeCurrent takes long time.
It takes long time to launch/and terminate testgl in test directory. (more
than 20 secs)

If someone can give any tip for this issue, it could be very helpful.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Thank you for your reply.

This is my graphic card and driver version.
GeForce GTX 590/PCIe/SSE2
NVIDIA 304.33

About glxinfo.
I guess that you need to see other glxinfo.
but I had this… How can I show other?

name of display: :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_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_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_es2_profile, GLX_ARB_create_context_robustness
GLX version: 1.4
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_ARB_create_context,
GLX_ARB_create_context_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: GeForce GTX 590/PCIe/SSE2
OpenGL version string: 4.2.0 NVIDIA 304.33
OpenGL shading language version string: 4.20 NVIDIA via Cg compiler
OpenGL extensions:
GL_AMD_multi_draw_indirect, GL_ARB_base_instance,
GL_ARB_blend_func_extended, GL_ARB_color_buffer_float,
GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, 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_indirect,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced,
GL_ARB_ES2_compatibility, 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_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_gpu_shader5,
GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
GL_ARB_imaging, GL_ARB_instanced_arrays, GL_ARB_internalformat_query,
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_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_image_load_store,
GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_subroutine,
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_sync,
GL_ARB_tessellation_shader, GL_ARB_texture_border_clamp,
GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_texture_compression, GL_ARB_texture_compression_bptc,
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_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query,
GL_ARB_transform_feedback2, GL_ARB_transform_feedback3,
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_64bit,
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_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_shader_image_load_store,
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_format_BGRA8888,
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_texture_type_2_10_10_10_REV,
GL_EXT_timer_query, GL_EXT_transform_feedback2, GL_EXT_vertex_array,
GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit,
GL_EXT_x11_sync_object, GL_EXT_import_sync_object, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_alpha_test,
GL_NV_blend_minmax, GL_NV_blend_square, GL_NV_complex_primitives,
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_fbo_color_attachments, GL_NV_fence,
GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragdepth,
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_gpu_program5, GL_NV_gpu_program_fp64, GL_NV_gpu_shader5,
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_atomic_counters, GL_NV_shader_atomic_float,
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_lod_clamp,
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_attrib_integer_64bit,
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_OES_compressed_paletted_texture, GL_OES_depth24, GL_OES_depth32,
GL_OES_depth_texture, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil,
GL_OES_point_size_array, GL_OES_point_sprite, GL_OES_rgb8_rgba8,
GL_OES_read_format, GL_OES_standard_derivatives, GL_OES_texture_3D,
GL_OES_texture_float, GL_OES_texture_float_linear,
GL_OES_texture_half_float, GL_OES_texture_half_float_linear,
GL_OES_texture_npot, GL_OES_vertex_array_object, GL_OES_vertex_half_float,
GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture,
GL_SGIX_shadow, GL_SUN_slice_accum

And Additionally, This is info about X and OS

X.Org X Server 1.10.4
Release Date: 2011-08-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-27-server x86_64 Ubuntu
xorg-server 2:1.10.4-1ubuntu4.1 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.22.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.

This is part of nvidia-xconfig result.

Number of GPUs: 8

GPU #0:
Name : GeForce GTX 590
PCI BusID : PCI:4:0:0

Number of Display Devices: 1

Display Device 0 (CRT-0):
EDID Name : Matrox
Minimum HorizSync : 31.475 kHz
Maximum HorizSync : 91.145 kHz
Minimum VertRefresh : 60 Hz
Maximum VertRefresh : 85 Hz
Maximum PixelClock : 254.310 MHz
Maximum Width : 3840 pixels
Maximum Height : 1024 pixels
Physical Width : 410 mm
Physical Height : 310 mm

Scott Percival wrote:> Could you please post the output of glxinfo and the graphics driver you are using with X11? Thanks.

On 20 July 2013 06:37, Hyejung <@Hyejung (@Hyejung)> wrote:

  I have same issue on Ubuntu. 

glXMakeCurrent takes long time.

It takes long time to launch/and terminate testgl in test directory. (more than 20 secs)

If someone can give any tip for this issue, it could be very helpful.


SDL mailing list
SDL at lists.libsdl.org (SDL at lists.libsdl.org)
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org (http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

If someone can give any tip for this issue, it could be very helpful.

Are you calling SDL_SetVideoMode() in a second thread?

–ryan.

Even for running testgl.c in test directory, it takes long time to start. (about more than 10 sec)
testgl is simple code, so it does not use thread.

Hyejung

Ryan C. Gordon wrote:>

If someone can give any tip for this issue, it could be very helpful.

Are you calling SDL_SetVideoMode() in a second thread?

–ryan.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org