图形卡驱动程序和Linux上的OpenGL之间是什么关系?

缺口

我安装了最新的专有Nvidia驱动程序,它是nvidia-415(根据“驱动程序管理器”界面)。一些程序抱怨我没有OpenGL 3.3。

所以我运行命令来检查:

$ glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 12.0.6
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.6

好的,看来我有3.0版。但是,当我查看Mesa时,它称为“图形堆栈”,其中包括FOSS nvidia驱动程序和最新的OpenGL。

还有一个“核心配置文件版本”为4.3。我是4.3还是3.0?

所以现在我很困惑。专有的Nvidia驱动程序可以与Mesa OpenGL一起使用吗?还是nouveau开源驱动程序仅适用于Mesa的开放式GL,我应该安装Nvidia的非mesa专有OpenGL来使用其专有驱动程序?

拜耳克斯

我将从一个简短的API定义开始,然后从那里下移,以确保覆盖所有基础。下面还有一个TL; DR。

API概述

首先,OpenGL描述了一种抽象的,与语言无关的API,旨在促进对计算机图形功能的轻松访问。这使软件开发人员(例如视频游戏开发人员)可以在较低级别上有效地与硬件进行交互,从而确保速度,可靠性和易于编程性等其他方面的优势。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。'。''。'。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。具体来说,如果软件开发人员想直接与图形硬件对话,他们将需要用汇编语言或其他硬件级语言编写代码,这些代码编写起来繁琐且耗时。相反,OpenGL允许使用高级OpenGL着色语言使用起来非常容易,并且可以认为只是用自己的语言对硬件说话的“一个步骤”。这意味着对硬件的调用将非常快。

台面

如上所述,OpenGL只是API的规范。OpenGL提供了一个带有其安装的库(您在输出中看到的版本),但是为了使它们起作用,需要针对给定的OS实施该库。这就是Mesa出现的地方。Mesa(又名Mesa 3D)是开源的,并在许多Linux发行版中使用。它最初被认为只是OpenGL的一种实现,但是如今,它的功能已经很多了。它还实现了其他API规范,例如OpenCL,并且与硬件驱动程序捆绑在一起

硬件驱动

到目前为止,我们一直处于较高水平。Mesa和OpenGL规范只是应用程序(或游戏)和较低级别的图形卡的硬件驱动程序之间的中间商。在这里,我们有两种选择,Mesa将根据图形硬件的制造商以及它们与开放源代码计划的合作程度来提供其中的一种。例如,英特尔的集成显卡几乎始终将Mesa用于一切,OpenGL实现和硬件驱动程序。英特尔直接为Mesa的源代码做出了贡献,因此整个图形解决方案可以是Mesa。另一方面,Nvidia ...

英伟达与新

在与开放源代码社区合作时,Nvidia通常固执己见,更喜欢开发自己的封闭源代码替代方案。这一顽强的抵抗力使莱纳斯·托瓦尔兹(Linus Torvalds)在一次采访中分享了他对公司的两分钱在Linux方面,Nvidia提供了自己的OpenGL实现以及自己的硬件驱动程序-全部封闭源代码。Nvidia已将其一些产品驱动程序作为开源发布,但这是有限的产品范围新风格另一方面,实际上是开源社区努力提供的硬件驱动程序,该驱动程序是故意从Nvidia的驱动程序版本中进行反向工程设计的。尽管这是一种英勇的努力,但这通常意味着与Nvidia的专有堆栈相比,Nouveau驱动程序中的新图形卡功能必然落后于后者,因为开源社区被迫追赶。

TL; DR

在不知道确切的卡型号的情况下很难确定您的图形堆栈正在使用什么,但是几乎可以肯定:

  1. Nvidia提供了专有的OpenGL实现和硬件驱动程序。
  2. Mesa用于OpenGL实现,而Nouveau用于硬件驱动程序。

由于glxinfo仅是一个用于显示OpenGL实现的实用程序,并且无法访问硬件,因此您可以尝试查看与以下命令一起使用的硬件驱动程序:

lspci -k | grep -EA3 'VGA|3D|Display' 

查找“正在使用内核驱动程序”字段。然后通过以下方式获取有关该驱动程序的信息:

modinfo drivername

您可能会得到很多输出,因此您可以仅在顶部查看许可证,以查看它是GPL还是其他开源许可证。Mesa不太可能使用Nvidia内核空间驱动程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iodbc,freeTDS和odbc驱动程序之间是什么关系?

来自分类Dev

Linux-图形驱动程序和Mesa之间的关系

来自分类Dev

Linux-图形驱动程序和Mesa之间的关系

来自分类Dev

AMD图形卡驱动程序

来自分类Dev

exfat-utils和exFAT内核驱动程序之间有什么关系?

来自分类Dev

Ubuntu 14.04和Nvidia 840M图形卡驱动程序,prime或bumblebee!选择什么?

来自分类Dev

如何安装AMD图形卡驱动程序?

来自分类Dev

如何卸载AMD图形卡驱动程序,而不卸载CPU驱动程序?

来自分类Dev

安装图形卡驱动程序:“ ATI RV370上的Galium 0.4”和“移动式英特尔®GM45 Express芯片组”

来自分类Dev

安装图形卡驱动程序:“ ATI RV370上的Galium 0.4”和“移动式英特尔®GM45 Express芯片组”

来自分类Dev

戴尔升级到13.04和13.10没有wifi,图形卡驱动程序和蓝牙问题?

来自分类Dev

戴尔升级到13.04和13.10没有wifi,图形卡驱动程序和蓝牙问题?

来自分类Dev

安装新的RX 580图形卡video-linux驱动程序时损坏的Manjaro GRUB启动

来自分类Dev

如何更改系统中图形卡的PCI设备ID?(在GeForce上安装Quadro驱动程序)

来自分类Dev

内核中的图形驱动程序和Xorg的图形驱动程序之间有什么区别?

来自分类Dev

如何使用ubuntu-drivers更改图形卡驱动程序?

来自分类Dev

ATI Radeon XPress 1200图形卡驱动程序安装问题

来自分类Dev

Ubuntu 16.04驱动程序支持我的AMD混合图形卡吗?

来自分类Dev

Unity是否需要专有的图形卡驱动程序?

来自分类Dev

ATI Radeon XPress 1200图形卡驱动程序安装问题

来自分类Dev

Ubuntu 16.04驱动程序支持我的AMD混合图形卡吗?

来自分类Dev

Windows 7是否同时支持具有不同驱动程序的多个nVidia图形卡?

来自分类Dev

无法识别图形卡,无法安装驱动程序:“安装软件包失败!”

来自分类Dev

Unity是否需要专有的图形卡驱动程序?

来自分类Dev

如何使用ubuntu-drivers更改图形卡驱动程序?

来自分类Dev

如何安装MSI Radeon R9 270图形卡驱动程序?

来自分类Dev

我如何找到已安装的英特尔图形卡驱动程序的版本?

来自分类Dev

键盘快捷键以重置图形卡驱动程序

来自分类Dev

安装图形卡驱动程序后无法启动Windows

Related 相关文章

  1. 1

    iodbc,freeTDS和odbc驱动程序之间是什么关系?

  2. 2

    Linux-图形驱动程序和Mesa之间的关系

  3. 3

    Linux-图形驱动程序和Mesa之间的关系

  4. 4

    AMD图形卡驱动程序

  5. 5

    exfat-utils和exFAT内核驱动程序之间有什么关系?

  6. 6

    Ubuntu 14.04和Nvidia 840M图形卡驱动程序,prime或bumblebee!选择什么?

  7. 7

    如何安装AMD图形卡驱动程序?

  8. 8

    如何卸载AMD图形卡驱动程序,而不卸载CPU驱动程序?

  9. 9

    安装图形卡驱动程序:“ ATI RV370上的Galium 0.4”和“移动式英特尔®GM45 Express芯片组”

  10. 10

    安装图形卡驱动程序:“ ATI RV370上的Galium 0.4”和“移动式英特尔®GM45 Express芯片组”

  11. 11

    戴尔升级到13.04和13.10没有wifi,图形卡驱动程序和蓝牙问题?

  12. 12

    戴尔升级到13.04和13.10没有wifi,图形卡驱动程序和蓝牙问题?

  13. 13

    安装新的RX 580图形卡video-linux驱动程序时损坏的Manjaro GRUB启动

  14. 14

    如何更改系统中图形卡的PCI设备ID?(在GeForce上安装Quadro驱动程序)

  15. 15

    内核中的图形驱动程序和Xorg的图形驱动程序之间有什么区别?

  16. 16

    如何使用ubuntu-drivers更改图形卡驱动程序?

  17. 17

    ATI Radeon XPress 1200图形卡驱动程序安装问题

  18. 18

    Ubuntu 16.04驱动程序支持我的AMD混合图形卡吗?

  19. 19

    Unity是否需要专有的图形卡驱动程序?

  20. 20

    ATI Radeon XPress 1200图形卡驱动程序安装问题

  21. 21

    Ubuntu 16.04驱动程序支持我的AMD混合图形卡吗?

  22. 22

    Windows 7是否同时支持具有不同驱动程序的多个nVidia图形卡?

  23. 23

    无法识别图形卡,无法安装驱动程序:“安装软件包失败!”

  24. 24

    Unity是否需要专有的图形卡驱动程序?

  25. 25

    如何使用ubuntu-drivers更改图形卡驱动程序?

  26. 26

    如何安装MSI Radeon R9 270图形卡驱动程序?

  27. 27

    我如何找到已安装的英特尔图形卡驱动程序的版本?

  28. 28

    键盘快捷键以重置图形卡驱动程序

  29. 29

    安装图形卡驱动程序后无法启动Windows

热门标签

归档