shell 为什么两个终端显示不同的OpenGL版本?

ryevplcw  于 2023-05-18  发布在  Shell
关注(0)|答案(1)|浏览(162)

Ubuntu 20.04
我更新了显卡驱动程序并重新启动了X。我不得不升级OpenGL,因为升级驱动程序后,OpenGL版本由于某种原因被降级。我打开了bash终端,并按照here的描述更新了驱动程序:

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade

现在,当我在从VSCode或Ubuntu本身打开的终端上运行glxinfo | grep "OpenGL version"时,它显示的是4.5版本。

user@user:~$ glxinfo | grep "OpenGL version"
OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.1.0 - kisak-mesa PPA

但是,当我从Qt Creator打开终端时,它显示的是3.1版本

user@user:~$ glxinfo | grep "OpenGL version"
OpenGL version string: 3.1 Mesa 21.2.6

这怎么可能

pgvzfuti

pgvzfuti1#

Qt Creator有自己的环境变量,它在构建项目时加载这些变量。
LD_LIBRARY_PATHLIBGL_DRIVERS_PATH具有指向/snap/qtcreator-.../usr/lib/x86_64-linux-gnu/dri的路径,/snap/qtcreator-.../usr/lib/x86_64-linux-gnu/dri的图形驱动程序库比/usr/lib/.../dri中的旧。当终端从 Qt Creator 启动时,它会在那里寻找驱动程序,而不是在/usr/lib/...中,那里安装了新驱动程序。
一旦我删除了/snap/...,它允许 Qt Creator 在默认位置/usr/lib/...查找OpenGL库,在那里安装了新驱动器。

相关问题