Re: Problem with X forwarding GL/Glut app
Re: Problem with X forwarding GL/Glut app
- Subject: Re: Problem with X forwarding GL/Glut app
- From: Jeremy Huddleston <email@hidden>
- Date: Fri, 20 May 2011 09:31:39 -0700
Yeah... AIGLX is rather grotesque. This is likely a bug in mesa on the remote machine.
Try doing this before executing your application:
export LIBGL_ALWAYS_INDIRECT=1
The issue is documented more in this bug report (feel free to chime in):
https://bugs.freedesktop.org/show_bug.cgi?id=24226
--Jeremy
On May 20, 2011, at 08:20, Philip J. Schneider wrote:
> But, it does look in this case that it might be some flavor of the problem discussed in the other thread you mentioned:
>
> http://lists.apple.com/archives/X11-users/2010/Jan/msg00028.html
>
> in which case it might be possible to apply the same sort of fix they discussed...
>
> At 8:13 AM -0700 5/20/11, Philip J. Schneider wrote:
>> Running a gl-using X program over ssh, or even setting the DISPLAY variable to a non-local display, will often fail for programs that are run and displayed locally.
>>
>> There can be (at least?) two reasons for this:
>>
>> 1. The remote machine's GL version and/or its graphics card do not support some particular GL command (usually an extension), and the extension is being used without a proper check for its presence.
>>
>> 2. Some GL calls, for various other reasons, don't work correctly across a network connection (failure of proper wrapping in X protocol, etc.)
>>
>> (My apologies to the "real" X and GL experts who might find my terminology a little casual :-) )
>>
>> Both of these can be hard to track down in any program of any size. You can probably distinguish which case it is: if the failing program works when run locally on the remote machine, then it's #1; otherwise, it's case #2 (and also maybe case #1).
>>
>> For case #1, I'd recommend gDEBugger, and set it to break on gl errors. Your program may be "fixable" by adding an alternate code path(s) for commands that aren't supported. GLEW (or any of its alternatives) might be good to utilize here...
>>
>> For case #2: I'm not sure if gDEBugger will be of any help, but you could try it. Using GLEW to check for support might work, as well. Alternatively, add in a check for gl errors after every gl command (not a fun task in a very large program).
>>
>> Hopefully, other folks might volunteer with better ideas...I've run into either/both of these any number of times, and it's never been an easy fix. GL across a network can't necessarily be assumed to work the same as GL locally...
>>
>> -- Philip
>>
>>
>>
>> At 3:45 PM +0200 5/20/11, Laurens Timmermans wrote:
>>> I am experiencing the same problem described here:
>>> http://lists.apple.com/archives/X11-users/2010/Jan/msg00028.html
>>> when I try to remotely run an application using X forwarding via SSH.
>>>
>>> The remote side (running the application) is a Ubuntu 11.04 machine. Some applications
>>> run without problems (glxgears for example), but some quit immediately :
>>>
>>> freeglut (./glapp): ERROR: Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow
>>> X Error of failed request: BadWindow (invalid Window parameter)
>>> Major opcode of failed request: 4 (X_DestroyWindow)
>>> Resource id in failed request: 0x0
>>> Serial number of failed request: 25
>>> Current serial number in output stream: 28
>>>
>>> What confuses me is where to look for the cause of this problem: is it my macbook or the remote machine?
>>>
>>> The following is the output of glxinfo (note that direct rendering is automatically disabled):
>>>
>>> name of display: localhost:10.0
>>> Xlib: extension "NV-GLX" missing on display "localhost:10.0".
>>> Xlib: extension "NV-GLX" missing on display "localhost:10.0".
>>> display: localhost:10 screen: 0
>>> direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
>>> server glx vendor string: SGI
>>> server glx version string: 1.2
>>> server glx extensions:
>>> GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
>>> GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,
>>> GLX_SGI_make_current_read, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
>>> 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_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.2
>>> GLX extensions:
>>> GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
>>> GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_SGIX_fbconfig,
>>> GLX_ARB_get_proc_address
>>> OpenGL vendor string: Intel Inc.
>>> OpenGL renderer string: Intel HD Graphics OpenGL Engine
>>> OpenGL version string: 1.4 (2.1 APPLE-1.6.26)
>>> OpenGL extensions:
>>> GL_ARB_transpose_matrix, GL_ARB_vertex_program, GL_ARB_window_pos,
>>> GL_EXT_multi_draw_arrays, GL_EXT_rescale_normal,
>>> GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_NV_texgen_reflection,
>>> GL_NV_light_max_exponent, GL_SGIS_generate_mipmap,
>>> GL_ARB_point_parameters, GL_ARB_texture_env_crossbar,
>>> GL_ARB_texture_border_clamp, GL_ARB_multitexture, GL_ARB_texture_env_add,
>>> GL_ARB_texture_cube_map, GL_ARB_texture_env_dot3,
>>> GL_ARB_texture_env_combine, GL_ARB_texture_compression,
>>> GL_ARB_texture_mirrored_repeat, GL_ARB_shadow, GL_ARB_depth_texture,
>>> GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
>>> GL_ARB_occlusion_query, GL_ARB_point_sprite,
>>> GL_ARB_texture_non_power_of_two, GL_ARB_draw_buffers,
>>> GL_EXT_framebuffer_object, GL_EXT_texture_env_add, GL_EXT_blend_color,
>>> GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_lod_bias,
>>> GL_EXT_abgr, GL_EXT_bgra, GL_EXT_stencil_wrap,
>>> GL_EXT_separate_specular_color, GL_EXT_secondary_color,
>>> GL_EXT_blend_func_separate, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side,
>>> GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_dxt1,
>>> GL_EXT_blend_equation_separate, GL_NV_blend_square, GL_NV_fog_distance,
>>> GL_SGIS_texture_lod
>>>
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> X11-users mailing list (email@hidden)
>>>
>>> This email sent to email@hidden
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> X11-users mailing list (email@hidden)
>
> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden