![如何启用/获取 OpenGL 3.1?](https://linux22.com/image/1132390/%E5%A6%82%E4%BD%95%E5%90%AF%E7%94%A8%2F%E8%8E%B7%E5%8F%96%20OpenGL%203.1%EF%BC%9F.png)
我有一台相当旧的笔记本电脑,它配备了 Intel Core duo 2 处理器,我无法运行 Dolphin Emulator 或任何我想要的 Steam 游戏,因为我至少需要 OpenGL 3.1。
我运行了 oibaf PPA,现在安装了 Mesa 11.2
$ glxinfo | grep "OpenGL version"
OpenGL version string: 2.1 Mesa 11.2.0-devel (git-56fc298 2016-01-12 wily-oibaf-ppa)
是否有可能将我的 OpenGl 版本升级到 3.1?如果可以,我需要采取哪些步骤。(请给我命令:D)
此外,我想问一下我是否需要采取更多步骤才能使这些错误消息不再出现,或者一旦我运行 OpenGL 3.1 这些问题就会得到解决?
GPU: OGL ERROR: Need OpenGL version 3.
GPU: Does your video card support OpenGL 3?
GPU: OGL ERROR: Need GL_ARB_uniform_buffer_object.
GPU: Does your video card support OpenGL 3.1?
GPU: OGL ERROR: Need at least GLSL 1.30
GPU: Does your video card support OpenGL 3.0?
GPU: Your driver supports GLSL 1.20
Failed to compile vertex shader: /home/jannis/.local/share/dolphin-emu/Dump/bad_vs_0000.txt
Debug info (Intel Open Source Technology Center, Mesa DRI Mobile Intel® GM45 Express Chipset , 2.1 Mesa 11.2.0-devel (git-56fc298 2016-01-12 wily-oibaf-ppa)):
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES
答案1
好吧,也许你的硬件不支持 OpenGL 3.1+,但有一个解决方法。你可以使用软件渲染(LLVMpipe)。为此,你必须运行:
LIBGL_ALWAYS_SOFTWARE=1 *command*
在哪里命令是您选择的程序。例如:
LIBGL_ALWAYS_SOFTWARE=1 glxgears
在 steam 上你应该右键单击游戏->属性->设置启动选项
LIBGL_ALWAYS_SOFTWARE=1 %command%
但是游戏可能会(并且会)运行缓慢!强烈建议购买新笔记本电脑/更新您的显卡。
此时 LLVMpipe 最高支持 OpenGL 3.3。(注意:我的 Ubuntu 14.04 和比你低的 mesa 版本)
LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.6, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.5.9
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.5.9
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
答案2
问题不在于您的系统没有安装 OpenGL 3.1,问题在于您的显卡不支持 OpenGL 3.1。