xorg是opengl的执行吗?

杨思宇*_*杨思宇 2 linux xorg opengl x11

xorg是opengl的执行吗?据我所知,Xorg是X11的一个实现,它使用opengl吗?

tel*_*coM 5

不,Xorg 本身不是OpenGL。然而,它连接到直接渲染基础设施(简称DRI),可用于提供对OpenGL的支持

Mesa 项目实现了 OpenGL 的开源版本 -软件渲染或硬件加速,具体取决于 GPU 模型是否受支持并可使用 DRI 进行访问。

如果驱动程序的作者愿意,第三方 Xorg 驱动程序(例如 Nvidia 的)可以提供替代的 OpenGL 实现。

所以:

  • GPU 硬件可以提供一组专为 OpenGL 设计的加速功能
  • 内核 DRM(直接渲染管理器)驱动程序提供对硬件加速功能的DRI 访问
  • Mesa(或替代的 OpenGL 实现)使用 DRI 和 GPU 的硬件加速功能来实现OpenGL,或者如果硬件不支持 OpenGL 加速或硬件访问不可用,则通过软件渲染来实现 OpenGL
  • Xorg允许通过 X11 协议的 GLX 扩展来使用OpenGL。任何 GLX 请求本质上都会传递给 Mesa(或者传递给替代的 OpenGL 实现,如果适用)
  • 应用程序(包括 GNOME 或 KDE 等桌面环境)可以通过 DRI(完全绕过 Xorg)或通过 X11 GLX 扩展来使用OpenGL。

维基百科上的这张图可能会有所帮助。在图中,Mesa(或替代的 OpenGL 实现)是OpenGL DRI 驱动程序

Linux 图形驱动程序和 DRI