代码之家  ›  专栏  ›  技术社区  ›  user782220

Mesa与OpenGL驱动程序有何不同?

  •  23
  • user782220  · 技术社区  · 13 年前

    Mesa是OpenGL的实现,这到底意味着什么?我的Nvidia卡的驱动程序不实现所有OpenGL功能吗。?那么,考虑到我的Nvidia卡的驱动程序正在接听Opengl电话并将其交给硬件,Mesa到底做了什么?有人能澄清梅萨和司机之间的区别吗?

    3 回复  |  直到 13 年前
        1
  •  26
  •   datenwolf    13 年前

    有人能澄清梅萨和司机之间的区别吗?

    Mesa为基于DRI2/DRM架构的开源GPU驱动程序提供了客户端OpenGL接口。或者换句话说:它也是驾驶员的一部分。

    如果你已经安装了NVidia或AMD的专有驱动程序,你就不需要Mesa了。如果你想使用开源驱动程序(nouveau,radeon,radeonhd,intel) 需要 桌子山

        2
  •  11
  •   Community Mohan Dere    5 年前

    我相信LinuxQuestions.org论坛成员geeman2.0为此事提供了一个很好的解释:

    OpenGL和Mesa实际上并不是两个独立的选择,而是Mesa是OpenGL的一种特定类型。

    OpenGL只是一个定义绘制三维图形所需的标准函数集的接口。它不涉及实现这些函数的实际代码,它只指定函数被调用的内容以及它们应该做什么。

    openGL实现提供了运行openGL标准指定的方法的实际代码。如果没有安装实现,就无法运行任何opengl程序。

    Mesa只是众多OpenGL实现中的一个,也是linux发行版中包含的最标准的实现。它在软件中完成所有的工作,这就是它速度慢的原因。

    当您为高级显卡安装Nvidia或ATI驱动程序时,这些驱动程序将提供在显卡上运行的新OpenGL实现。这个实现将取代Mesa实现,但它仍然是一个openGL实现。也就是说,所有的Mesa/ATI/NVidia驱动程序都实现了相同的一组功能,它们只是以不同的方式实现,而且都是openGL。

    Source

        3
  •  0
  •   user2188550 user2188550    5 年前

    说梅萨是 OpenGL?

    首先,OpenGL是一个 API规范 由Khronos和视频卡制造商(Nvidia、ATI、Intel等)创建,这就像是一份关于硬件功能的协议。

    Mesa是一个用于3D计算机图形的软件库,它提供了一个通用的符合Khronos的OpenGL实现,用于在多个平台上渲染三维图形。 因此,例如,如果您正在运行Linux,您可能必须安装Mesa才能生成任何类型的图形。对于Microsoft Windows there is already an implementation installed

    我的Nvidia卡的驱动程序不实现所有OpenGL吗 功能等等。?

    是的,您的Nvidia卡驱动程序实现OpenGL功能。

    因此,考虑到我的Nvidia卡的驱动程序正在接听Opengl电话 然后把它们交给硬件,梅萨到底是做什么的?

    你的程序与Mesa通信,Mesa与你的视频卡驱动程序通信,驱动程序与实际GPU通信,GPU将信号发送到监视器,让你最终观看绘图。