这是我当前计算机的规格:
- 英特尔赛扬 CPU 1037U
- 英特尔核芯显卡 2500 (IVB GT1)
- OpenGL ES 3.0
- 台面 20.0.8
- Ubuntu 20.04 LTS 64 位
我想安装需要OpenGL 3.3的 OBS
据此,英特尔赛扬 1037U 是英特尔赛扬 1000 系列的一部分。而据此, Intel Celeron 1000 系列最高可以支持 OpenGL 4。
现在我该如何升级我的 OpenGL?
这是我当前计算机的规格:
我想安装需要OpenGL 3.3的 OBS
据此,英特尔赛扬 1037U 是英特尔赛扬 1000 系列的一部分。而据此, Intel Celeron 1000 系列最高可以支持 OpenGL 4。
现在我该如何升级我的 OpenGL?
显然,问题的根源是我无法正确检查我的 OpenGL 版本。
这是
glxinfo | grep "OpenGL"
我机器上的完整输出:我以为我的 OpenGL 版本是 3.0(OpenGL 版本字符串)。原来这里有两个 OpenGL 版本,3.0 和 4.2(核心配置文件)。
据此,在 OpenGL 3.0 上,许多 OpenGL 函数被声明为弃用。OpenGL 3.1 删除了 OpenGL 3.0 中几乎所有已弃用的功能。在 3.2 中,OpenGL 被分为两部分:核心和兼容性。在兼容性配置文件中,仍然可以访问已弃用的功能,但我们无法访问较新的功能。新功能在核心配置文件上实现,但已弃用的功能已被删除。
这可能类似于 Python 2.7 与 Python 3.x。如果我们使用 2.7,所有过去的弃用功能仍然可以访问,但我们无法访问更新的功能。如果我们想使用较新的功能,请使用 3.x,但我们无法访问已弃用的功能。
总之,3.0大概是兼容版本,4.3是核心版本。这已经满足了 OBS 的要求(4.3 > 3.3)。我的 OBS 现在工作正常。
为什么 glxinfo 麻烦一次显示两个版本(3.0 和 4.3)?可能是因为 OpenGL 强制实现核心,但不保证兼容性可用。通过一次显示两个版本,它告诉我们这个 OpenGL 实现同时支持兼容性配置文件和核心配置文件。