解决报错:FUNC glfwErrorCallback GLX: Failed to create context: GLXBadFBConfig
执行glxinfo | grep OpenGL
命令查看系统中的OpenGL信息时,显示以下信息:
根据得到的信息可以看到 OpenGL core profile version string 为 4.5 说明显卡驱动是支持 OpenGL 4.5 的,但是可能是因为兼容性原因无法同时使用核心模式和兼容模式故而 OpenGL version string 默认返回 3.1
解决方案是在执行程序前强制指定使用特定的版本:
MESA_GL_VERSION_OVERRIDE=4.5 command
命令中的MESA_GL_VERSION_OVERRIDE=4.5就是使用版本号4.5来覆盖系统提供的版本,后面的command就是需要运行的程序名。
例如下列命令执行后
MESA_GL_VERSION_OVERRIDE=4.5 glxinfo | grep OpenGL
输出的结果中的 OpenGL version string 就从3.1变为了4.5
OpenGL version string: 4.5 (Compatibility Profile) Mesa 21.2.6
其实MESA_GL_VERSION_OVERRIDE就是一个环境变量,如果觉得麻烦可以在~/.bashrc中添加一行export MESA_GL_VERSION_OVERRIDE=4.5就可以一劳永逸地解决这个问题了。
参考博客
https://blog.csdn.net/u010750137/article/details/104871680?spm=1001.2014.3001.5506