2014-07-14 2 views
0

최근에 Jason L. McKesson의 무료 온라인 리소스 학습 현대 3D 그래픽 프로그래밍 (출처 :(http://www.arcsynthesis.org/gltut/))을 통해 컴퓨터 그래픽 프로그래밍을 공부하기 시작했습니다. 읽기 자료와 함께 토론 된 자습서의 소스 코드는 출처 :(https://bitbucket.org/alfonse/gltut/downloads)입니다. 몇 가지 조정을 한 후에 나는 소스 코드를 성공적으로 빌드 할 수있었습니다. 내가 자습서 중 하나를 실행하려고 할 때, 나는 다음과 같은 오류가 표시 오전 :glutCreateWindow - X 실패한 요청 오류

X Error of failed request: BadRequest(invalid request code or no such operation) 
    Major opcode of failed requests: 154(GLX) 
    Minor opcode of failed requests: 34() 
    Serial number of failed requests: 34 
    Current serial number in output stream: 33 

오류는 메인 함수 내에서 기인한다. 이 관련된 경우

int main(int argc, char** argv) 
{ 
    glutInit(&argc, argv); 

    int width = 500; 
    int height = 500; 
    unsigned int displayMode = GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH | GLUT_STENCIL; 
    displayMode = defaults(displayMode, width, height); 

    glutInitDisplayMode (displayMode); 
    glutInitContextVersion (3, 3); 
    glutInitContextProfile(GLUT_CORE_PROFILE); 
    #ifdef DEBUG 
    glutInitContextFlags(GLUT_DEBUG); 
    #endif 
    glutInitWindowSize (width, height); 
    glutInitWindowPosition (300, 200); 

    ///RUNTIME ERROR OCCURS BETWEEN HERE! 
    int window = glutCreateWindow (argv[0]); 
    /// AND HERE! 

    glload::LoadFunctions(); 

    glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION); 

    if(!glload::IsVersionGEQ(3, 3)) 
    { 
     printf("Your OpenGL version is %i, %i. You must have at least OpenGL 3.3 to run this tutorial.\n", 
     glload::GetMajorVersion(), glload::GetMinorVersion()); 
     glutDestroyWindow(window); 
     return 0; 
    } 

    if(glext_ARB_debug_output) 
    { 
     glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB); 
     glDebugMessageCallbackARB(DebugFunc, (void*)15); 
    } 

    init(); 

    glutDisplayFunc(display); 
    glutReshapeFunc(reshape); 
    glutKeyboardFunc(keyboard); 
    glutMainLoop(); 
    return 0; 
} 

나는 잘 모르겠지만, 나는 64 비트 우분투 12.04 LTS를 사용하고 내 그래픽 카드는 엔비디아 지포스 540M입니다 : 더 정확하게, glCreateWindow()가 호출 될 때. OpenGL과 GLUT를 처음 접했으므로이 문제를 해결하는 방법을 모릅니다. 잠재적 인 해결책에 관한 조언을 주시면 감사하겠습니다. 요청한 바와 같이

[EDIT] 여기 glxinfo로부터의 출력은 :

name of display: :0.0 
display: :0 screen: 0 
direct rendering: Yes 
server glx vendor string: SGI 
server glx version string: 1.4 
server glx extensions: 
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
GLX_OML_swap_method, GLX_SGI_swap_control, GLX_SGIS_multisample, 
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
GLX_INTEL_swap_event 
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_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB, 
GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer, 
GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control, 
GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, 
GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, 
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event 
GLX version: 1.4 
GLX extensions: 
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control, 
GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, 
GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, 
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
GLX_EXT_texture_from_pixmap 
OpenGL vendor string: Tungsten Graphics, Inc 
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL version string: 3.0 Mesa 8.0.4 
OpenGL shading language version string: 1.30 
OpenGL extensions: 
GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture, 
GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object, 
GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture, 
GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters, 
GL_EXT_draw_range_elements, GL_EXT_packed_pixels, GL_EXT_point_parameters, 
GL_EXT_rescale_normal, GL_EXT_separate_specular_color, 
GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap, 
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, 
GL_SGIS_texture_lod, GL_ARB_framebuffer_sRGB, GL_ARB_multitexture, 
GL_EXT_framebuffer_sRGB, GL_IBM_multimode_draw_arrays, 
GL_IBM_texture_mirrored_repeat, GL_3DFX_texture_compression_FXT1, 
GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_transpose_matrix, 
GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, 
GL_EXT_secondary_color, GL_EXT_texture_env_add, 
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 
GL_INGR_blend_func_separate, GL_NV_blend_square, GL_NV_light_max_exponent, 
GL_NV_texgen_reflection, GL_NV_texture_env_combine4, 
GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp, 
GL_ARB_texture_compression, GL_EXT_framebuffer_object, 
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_MESA_window_pos, 
GL_NV_packed_depth_stencil, GL_NV_texture_rectangle, GL_NV_vertex_program, 
GL_ARB_depth_texture, GL_ARB_occlusion_query, GL_ARB_shadow, 
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 
GL_ARB_window_pos, GL_ATI_envmap_bumpmap, GL_EXT_stencil_two_side, 
GL_EXT_texture_cube_map, GL_NV_depth_clamp, GL_NV_vertex_program1_1, 
GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_draw_buffers, 
GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects, 
GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers, 
GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_EXT_shadow_funcs, 
GL_EXT_stencil_wrap, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
GL_ARB_depth_clamp, GL_ARB_fragment_program_shadow, 
GL_ARB_half_float_pixel, GL_ARB_point_sprite, GL_ARB_shading_language_100, 
GL_ARB_sync, GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object, 
GL_ATI_blend_equation_separate, GL_EXT_blend_equation_separate, 
GL_OES_read_format, GL_ARB_color_buffer_float, GL_ARB_pixel_buffer_object, 
GL_ARB_texture_compression_rgtc, GL_ARB_texture_float, 
GL_ARB_texture_rectangle, GL_EXT_packed_float, GL_EXT_pixel_buffer_object, 
GL_EXT_texture_compression_rgtc, GL_EXT_texture_rectangle, 
GL_EXT_texture_sRGB, GL_EXT_texture_shared_exponent, 
GL_ARB_framebuffer_object, GL_EXT_framebuffer_blit, 
GL_EXT_framebuffer_multisample, GL_EXT_packed_depth_stencil, 
GL_APPLE_object_purgeable, GL_ARB_vertex_array_object, 
GL_ATI_separate_stencil, GL_EXT_draw_buffers2, 
GL_EXT_gpu_program_parameters, GL_EXT_texture_array, 
GL_EXT_texture_integer, GL_EXT_texture_sRGB_decode, GL_EXT_timer_query, 
GL_OES_EGL_image, GL_MESA_texture_array, GL_ARB_copy_buffer, 
GL_ARB_depth_buffer_float, GL_ARB_half_float_vertex, 
GL_ARB_map_buffer_range, GL_ARB_texture_rg, GL_ARB_texture_swizzle, 
GL_ARB_vertex_array_bgra, GL_EXT_separate_shader_objects, 
GL_EXT_texture_swizzle, GL_EXT_vertex_array_bgra, 
GL_NV_conditional_render, GL_ARB_ES2_compatibility, 
GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, 
GL_ARB_fragment_coord_conventions, GL_ARB_provoking_vertex, 
GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, 
GL_ARB_shader_texture_lod, GL_EXT_provoking_vertex, GL_EXT_texture_snorm, 
GL_MESA_texture_signed_rgba, GL_ARB_robustness, GL_EXT_transform_feedback 

32 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 
---------------------------------------------------------------------------- 
0x021 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x022 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x091 24 tc 0 24 0 r . . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x092 24 tc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x093 24 tc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x094 24 tc 0 24 0 r . . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x095 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x096 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x097 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x098 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x099 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x09a 24 tc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x09b 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x09c 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 16 16 16 0 0 0 Slow 
0x09d 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x09e 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 
0x09f 24 dc 0 24 0 r . . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x0a0 24 dc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x0a1 24 dc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x0a2 24 dc 0 24 0 r . . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x0a3 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x0a4 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x0a5 24 dc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x0a6 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x0a7 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x0a8 24 dc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x0a9 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x0aa 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x0ab 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 16 16 16 0 0 0 Slow 
0x0ac 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x0ad 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 
0x060 32 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 

48 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 
---------------------------------------------------------------------------- 
0x061 0 tc 0 16 0 r . . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 
0x062 0 tc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 
0x063 0 tc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 
0x064 0 tc 0 16 0 r . . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x065 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x066 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x067 24 tc 0 24 0 r . . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x068 24 tc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x069 24 tc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x06a 24 tc 0 24 0 r . . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x06b 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x06c 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x06d 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x06e 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x06f 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x070 24 tc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x071 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x072 32 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x073 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x074 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 16 16 16 0 0 0 Slow 
0x075 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x076 24 tc 0 24 0 r y . 8 8 8 0 . . 0 24 8 16 16 16 0 0 0 Slow 
0x077 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x078 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 
0x079 0 dc 0 16 0 r . . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 
0x07a 0 dc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 
0x07b 0 dc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None 
0x07c 0 dc 0 16 0 r . . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x07d 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x07e 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x07f 24 dc 0 24 0 r . . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x080 24 dc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x081 24 dc 0 24 0 r y . 8 8 8 0 . . 0 0 0 0 0 0 0 0 0 None 
0x082 24 dc 0 24 0 r . . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x083 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x084 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x085 24 dc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x086 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x087 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None 
0x088 24 dc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x089 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x08a 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x08b 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None 
0x08c 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 16 16 16 0 0 0 Slow 
0x08d 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 0 0 0 0 0 0 None 
0x08e 24 dc 0 24 0 r y . 8 8 8 0 . . 0 24 8 16 16 16 0 0 0 Slow 
0x08f 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None 
0x090 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow 
+2

**'glxinfo | grep direct' ** 당신에게 말해? – Solkar

+0

실제로,'glxinfo'의 완전한 출력을 보여주십시오. – datenwolf

답변

1
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL version string: 3.0 Mesa 8.0.4 
         ^^^ 
OpenGL shading language version string: 1.30 

Welp.

GL 구현으로 3.3 핵심 컨텍스트를 만들 수 없습니다. 단순히 지원되지 않습니다.

당신은 Optimus 설정을 가지고 있으므로 might be able to get that working처럼 들리며 대신 NVidia GPU를 사용하십시오.

+0

링크에서 설치 지침을 따르고 있었지만 설치를 요청한 패키지가 일부 패키지뿐만 아니라 상당량의 응용 프로그램을 제거한다는 사실을 발견했습니다. 내가 되돌릴 수없는 것을 바꾸지 않기 위해 내가하고있는 일에 대해 좀 더 많은 정보를 얻기를 희망했다. 이 모든 일이 사소한 일인가 사과 드리지만 내 관점에서 보아라. HybridGraphics가 무엇인지 전혀 모른다. – Aluthren

관련 문제