xorg是opengl的执行吗?据我所知,Xorg是X11的一个实现,它使用opengl吗?
答案1
不,Xorg 本身不是OpenGL。然而,它连接到直接渲染基础设施(简称DRI),可用于提供支持OpenGL。
梅萨项目实现 OpenGL 的开源版本 -软件渲染或硬件加速,取决于 GPU 模型是否受支持并可使用 DRI 进行访问。
如果驱动程序的作者愿意,第三方 Xorg 驱动程序(例如 Nvidia 的)可以提供替代的 OpenGL 实现。
所以:
- GPU硬件可以提供一组加速功能专为 OpenGL 设计
- 内核 DRM(直接渲染管理器)驱动程序提供DRI访问硬件加速功能
- Mesa(或替代的 OpenGL 实现)实施OpenGL 使用 DRI 和 GPU 的硬件加速功能,或者如果硬件不支持 OpenGL 加速或硬件访问不可用,则通过软件渲染
- 奥格允许使用OpenGL 通过 X11 协议的 GLX 扩展。任何 GLX 请求本质上都会传递给 Mesa(或者传递给替代的 OpenGL 实现,如果适用)
- 应用程序(包括 GNOME 或 KDE 等桌面环境)可以使用OpenGL 使用 DRI(完全绕过 Xorg)或通过 X11 GLX 扩展。
这张图来自维基百科可能会有帮助。在图中,Mesa(或替代的 OpenGL 实现)是OpenGL DRI 驱动程序: