我正在尝试在安装了 NVidia 4.18 显卡驱动程序和 CUDA 10.1 的机器上编译 OpenGL 代码。它目前无法像 -lGL
在命令行上那样与 OpenGL 链接。
我最近从本地安装程序使用 CUDA 10.1 设置了我的 Ubuntu 18.04 LTS 机器runfile
。我说安装安装程序中的所有内容。我可以看到nvidia-smi
它1050Ti
被正确检测到,没有任何问题。我的问题是我无法运行 OpenGL 程序。有些程序(不是我制作的)可以编译,但当我尝试运行它们时会抛出此错误:
Unable to create OpenGL context.
这让我认为 OpenGL 没有正确安装。然后我检查了我现在正在运行的 OpenGL 版本。我使用以下命令检查了版本:
glxinfo | grep "OpenGL version"
在我的机器上不是工作后,我得到了这个输出:
OpenGL version string: 3.0 Mesa 19.0.8
在另一台机器上做工作,我从同一个命令获得以下输出glxinfo
:
OpenGL version string: 4.6.0 NVIDIA 410.48
(请注意,我使用的驱动程序与损坏的机器上的驱动程序不同。但这没关系,因为两者都使用 CUDA 10.X,至少这是我的理解)
因此,我发现我需要切换到Mesa
OpenGLNVidia
加载器。
所以,看到这些信息,
- 我如何切换到正确的 OpenGL 加载器?
在创建这个问题之前我已经查阅了很多链接。
答案1
我在使用 Nvidia GT 630 时遇到了同样的问题。
依赖 OpenGL 的 Any desk 等应用程序无法在 Nvidia 驱动程序上正常运行。
基于Ask Ubuntu 中的这个问题,需要删除 Nvidia 并切换回默认的 Nouveau 驱动程序来修复它。