闭源与开源硬件驱动程序:为什么重要

开源
与应用程序和操作系统一样,这些硬件驱动程序可以包含隐藏在二进制日志后面的公开可用源代码和冗长的最终用户许可协议。

所有驱动程序都支持通信,但它们是开源的还是闭源的都有很大的不同。

计算机设备驱动程序使您的操作系统能够告诉计算机内部的硬件以及您插入的外围设备要做什么。

与应用程序和操作系统一样,这些硬件驱动程序可以包含隐藏在二进制日志后面的公开可用源代码和冗长的最终用户许可协议。

那么,闭源和开源硬件驱动程序有什么区别呢?此外,这些差异对您有何影响?

什么是硬件驱动程序?

硬件驱动程序的存在,以使您的计算机软件能够与硬件进行通信。有时它们会与您的计算机操作系统集成在一起。其他时候,您需要自己下载和安装驱动程序。

许多适用于 Microsoft Windows 的驱动程序都可供下载。较旧的 PC 设备通常附带 CD-ROM,其中包含使您的硬件正常工作的驱动程序。硬件意味着从 USB 麦克风到用于游戏的图形卡的任何东西。

在 Linux 上,驱动程序经常被嵌入到操作系统中,这有利有弊。大多数情况下,当您插入新设备时,它就可以正常工作。对于有一段时间进入 Linux 内核的旧硬件来说,这种情况尤其明显。但有时,特别是对于较新的设备,您的计算机将无法识别新设备,并且与 Linux 兼容的驱动程序不太可能在线下载。

为什么许多驱动程序是专有的

计算机组件或外部设备可能看起来主要是物理产品,但支持设备的软件往往会让一个产品比另一个更吸引人。许多企业将支持该软件的代码视为他们相对于其他公司的竞争优势。

他们并没有公开这些代码,而是只允许那些没有公司或某些承包商的人看到这些代码。代码被认为是专有信息。由此产生的软件是专有软件,也称为闭源软件。

AMD 和 NVIDIA 之间的竞争是计算机硬件领域最激烈的竞争之一。NVIDIA 长期以来一直比竞争对手更具有优势,而且不太倾向于提供开源硬件驱动。因为这些驱动程序中的代码可以使现有的竞争对手赶上,或者使新公司更容易进入该领域,而无需从头开发代码。

相关:NVIDIA 515.48.07 Linux 图形驱动程序发布 https://www.linuxmi.com/nvidia-515-48-07-linux.html

专有操作系统具有专有驱动程序

这里还需要解决房间里的大象问题。Microsoft Windows 是世界上使用最广泛的桌面操作系统。Windows 由封闭的源代码组成。

硬件驱动程序以如此低的级别与操作系统集成。从 Windows 8 开始,Windows 计算机只能运行签名的驱动程序。这意味着驱动程序必须经过 Microsoft 认证,并且由于 Windows 是专有的,因此这些驱动程序也必须是专有的。

或许不那么令人惊讶的是,苹果还对 macOS 上的驱动程序进行了认证。但在内核级别,macOS 基于各种开源技术。macOS 还使用开源 CUPS 系统来管理打印机。但是,如果您要安装驱动程序,它可能是专有的。

谷歌的 Chrome OS 在这里有点例外。Chrome OS 在技术上是专有的,但它是建立在开源基础之上的。由于 Chrome OS 使用 Linux 内核,因此它同时使用内核附带的开源驱动程序和封闭的二进制 blob。但是,如果您需要运行开箱即用不支持的其他硬件,那并不是 Chrome OS 的真正用途。

什么是开源驱动程序的需求?

这意味着开源与闭源驱动程序的问题在很大程度上影响了 Linux 用户。这里的偏好与其他桌面操作系统相反。没有一家公司开发和发布 Linux,因此没有一家公司来认证驱动程序。Linux 开发分布在全球各地的人们中,有些人是志愿者,有些人是不同公司的雇员。当驱动程序的源代码可用时,它会更好地为每个人工作。

开源驱动程序的优势反映了开源软件的许多优势。

  • 更轻松的软件协作:当没有一家公司担任源代码的看门人时,许多人可以一起开发软件。
  • 您可以信任的软件:如果无法访问源代码,您实际上不知道程序在做什么。
  • 更大的隐私:开源软件很少会跟踪您正在做的事情,因为有人很容易在删除跟踪的情况下重新分发该软件的另一个副本。
  • 软件寿命:当公司对程序或设备失去兴趣时,他们通常会停止分发它们。开源代码使其他任何人都可以继续提供该软件。

在 Linux 上,当驱动程序是开源的时,一切都会正常工作的可能性更大。您的硬件也可能包含更少的 bug。

例如,Linux 用户使用 Intel 集成显卡可以获得比 NVIDIA 显卡更流畅的桌面动画,因为 Linux 显卡开发人员无法访问 NVIDIA 芯片的内部工作原理来解决所有错误。可能出现在意想不到的问题,例如关闭笔记本电脑使其进入睡眠状态时。因此,想要更流畅体验但又需要强大显卡的 Linux 用户最终可能会更喜欢 AMD,一家提供更多开源驱动程序的公司。

如果 Linux 在桌面版上得到更广泛的使用,您可能会看到公司发布开放驱动程序的更大压力。在 Linux 上,开源代码更具竞争优势,许多用户在做出购买决定时都会重视这一特性。但由于 Linux 用户在整个计算机用户中所占的比例如此之小,因此几乎没有出现是否将驱动程序开源的问题。在 Windows 和 macOS 上,开源驱动程序不会被认证。

开源与专有:您应该使用哪个?

在大多数计算机上,您别无选择。在 Windows 和 macOS 上,您的驱动程序是专有的。在 Chrome OS 上,无论您的驱动程序是开源还是专有,这些知识在很大程度上是未知的,并且与您的体验无关。

但是,如果您使用的是 Linux,那么这个问题很重要。除非您需要专有驱动程序可以提供的额外功能,例如游戏,否则具有开源驱动程序的硬件通常会提供更好的体验。这样的驱动程序更好地与更广泛的精神和功能相结合,从而将 Linux 区别于其他操作系统。

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2009-12-07 09:39:04

Linux设备驱动硬件通信

2022-05-13 09:14:47

NVidia开源Linux

2010-01-06 18:01:17

Ubuntu 9.04

2011-09-08 18:34:33

WindowsXP驱动程序

2022-05-23 13:17:32

Linux开源NVIDIA

2011-06-08 10:29:37

开源闭源苹果

2014-08-22 11:15:52

2013-10-16 10:13:54

开源开源硬件

2017-04-20 13:33:12

代码开源PySonar

2009-07-06 18:17:46

JDBC驱动程序

2017-02-20 08:40:03

数据集成驱动

2018-04-23 16:46:59

开源

2021-03-08 16:08:21

AIOps工具开源

2022-09-24 19:44:14

AMD开源

2019-07-31 15:10:25

云计算虚拟化硬件

2010-02-04 17:37:45

Ubuntu-8.04

2015-07-21 09:37:30

2009-08-12 18:20:39

C#事件驱动程序

2017-03-03 08:40:32

2011-01-10 18:21:38

linux编写程序
点赞
收藏

51CTO技术栈公众号