错误:“无法初始化GL扩展” – 尽管安装了OpenGL库

刚刚使用我构建的Singularity容器 (使用NVIDIA Docker nvidia / cuda:9.0-cudnn7-devel-ubuntu16.04引导)编译了FleX 1.2,并希望通过X11(XFCE)转发直观地运行演示但是尽管安装了OpenGL库我得到以下错误:

./bin/linux64/NvFlexDemoReleaseCUDA_x64 Could not initialize GL extensions Reshaping Segmentation fault (core dumped) 

我进入容器的方式是做singularity shell --nv flexContainer.simg 。 需要提一下,我在运行演示之前export __GLX_VENDOR_LIBRARY_NAME=nvidia 。 我还通过apt-get install安装了所需的库,如xserver-xorgfreeglut3-devmesa-utils 。 这是glxinfo的输出:

 glxinfo name of 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_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_hyperpipe, GLX_SGIX_swap_barrier, GLX_SGI_make_current_read client glx vendor string: NVIDIA Corporation client glx version string: 1.4 client glx extensions: GLX_ARB_context_flush_control, GLX_ARB_create_context, GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_stereo_tree, GLX_EXT_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_buffer, GLX_NV_copy_image, GLX_NV_delay_before_swap, GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_NV_present_video, GLX_NV_robustness_video_memory_purge, GLX_NV_swap_group, GLX_NV_video_capture, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync GLX version: 1.2 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.2 (1.5 Mesa 6.4.1) OpenGL extensions: GL_ARB_depth_texture, GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shadow, GL_ARB_texture_border_clamp, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, GL_ARB_transpose_matrix, GL_ARB_window_pos, GL_ATI_texture_mirror_once, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array, GL_IBM_texture_mirrored_repeat, GL_NV_blend_square, GL_NV_point_sprite, GL_NV_texgen_reflection, GL_NV_texture_rectangle, GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow 8 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 rgba F gb bf th cl rgba ns b eat ---------------------------------------------------------------------------- 0x0cd 24 tc 0 24 0 ry . 8 8 8 0 . . 0 16 0 0 0 0 0 0 0 None 0x0ce 24 tc 0 24 0 ry . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 0x0cf 24 tc 0 32 0 ry . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x0d0 24 tc 0 32 0 r . . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x0d1 24 dc 0 24 0 ry . 8 8 8 0 . . 0 16 0 0 0 0 0 0 0 None 0x0d2 24 dc 0 24 0 ry . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 0x0d3 24 dc 0 32 0 ry . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x0d4 24 dc 0 32 0 r . . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 8 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 rgba F gb bf th cl rgba ns b eat ---------------------------------------------------------------------------- 0x0cd 24 tc 0 24 0 y . 8 8 8 0 . . 0 16 0 0 0 0 0 0 0 None 0x0ce 24 tc 0 24 0 y . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 0x0cf 24 tc 0 32 0 y . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x0d0 24 tc 0 32 0 . . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x0d1 24 dc 0 24 0 y . 8 8 8 0 . . 0 16 0 0 0 0 0 0 0 None 0x0d2 24 dc 0 24 0 y . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 0x0d3 24 dc 0 32 0 y . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x0d4 24 dc 0 32 0 . . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 

glxinfo | OpenGL glxinfo | OpenGL产生这个:

 OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.2 (1.5 Mesa 6.4.1) OpenGL extensions: 

并做lspci | grep VGA lspci | grep VGA产生这个:

 02:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) 03:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) 06:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30) 82:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) 83:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) 

这是ldd /usr/bin/glxinfo的输出:

 linux-vdso.so.1 => (0x00007ffe4f7ac000) libGL.so.1 => /.singularity.d/libs/libGL.so.1 (0x00002b6bf9484000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00002b6bf9728000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b6bf9a62000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b6bf9e2c000) libGLX.so.0 => /.singularity.d/libs/libGLX.so.0 (0x00002b6bfa030000) libGLdispatch.so.0 => /.singularity.d/libs/libGLdispatch.so.0 (0x00002b6bfa260000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00002b6bfa52e000) /lib64/ld-linux-x86-64.so.2 (0x00002b6bf925c000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00002b6bfa750000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00002b6bfa962000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00002b6bfab66000) 

这是我复制奇点的服务器的操作系统信息:

 cat /etc/*elease CentOS Linux release 7.2.1511 (Core) NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" CentOS Linux release 7.2.1511 (Core) CentOS Linux release 7.2.1511 (Core) 

奇怪的是,当我做glxgears ,齿轮不会移动。 可能导致什么?

相关系统信息:

 Ubuntu 16.04 CUDA 9.0 GTX 1080Ti Driver Version 390.48 

有谁知道我能做错什么?