使 mesa 驱动程序独立于之前的 nvidia 安装

使 mesa 驱动程序独立于之前的 nvidia 安装

我有英伟达驱动程序安装在我的Ubuntu 服务器 16.04。我需要运行一些需要 OpenGL 的应用程序,但由于机器是“无头的”,所以必须创建一个虚拟屏幕。

我尝试过贰伍,但应用程序失败...无法...GLX...错误。互联网在~50 个地方说安装 nvidia 驱动程序后完全不可能实现虚拟屏幕。

所以我卸载了驱动程序apt 删除--清除 nvidia* 它没有解决问题,所以我删除了 nvidia 的。所以文件存在于ldd /usr/bin/glxinfo不知何故力量贰伍使用台面的驱动程序,所以现在我有:

# ldd /usr/bin/glxinfo
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f37f7f50000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f37f7c16000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37f784b000)
    libnvidia-tls.so.340.102 => not found
    libnvidia-glcore.so.340.102 => not found
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f37f7638000)

现在財委glxinfo失败加载共享库时出错:libnvidia-tls.so.340.102:无法打开共享对象文件:没有此文件或目录错误 :(

ldconfig也无济于事apt 安装——重新安装 libgl1-mesa-dri xvfb mesa-utils

有没有办法摆脱 nvidia 驱动程序的残留?或者財委与 nvidia 的 OpenCL 驱动程序一起工作吗?

答案1

sudo nvidia-卸载卸载驱动程序的更好方法apt 删除--清除 nvidia*. (驱动程序安装时sudo ./NVIDIA-Linux-x86_64-340.102.run

此后,glxinfo贰伍等无法正常工作,原因是:

ldd /usr/lib/Xvfb
    ...
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd51461c000)
    libGL.so.1 => not found
    libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fd514374000)
    ...

尝试用不同的方法修复它apt 安装 libgl1-mesa-dri ...尝试,但似乎ldconfig自动修复了这个问题。

现在我只需使用Xvfb-run -s "-screen 0 640x480x24" 应用程序名称没有...没有 GLX 扩展...问题! :)

希望这对那些试图运行 OpenGL 应用程序的人有所帮助无头的先前安装了 nvidia 驱动程序的 Ubuntu 服务器。

相关内容