为什么我必须自己制作驱动程序?

为什么我必须自己制作驱动程序?

为什么 *NIX 要求我make(即构建)自己的驱动程序来安装它们?

难道它们不能由作者预先构建吗?只要它们针对正确的 CPU 架构,我就可以安装二进制文件,这样我就不必拥有所有正确的依赖项来构建它们。

我问是因为我目前面临这个问题:https://unix.stackexchange.com/questions/154188/make-asus-pce-n15-driver-errors-on-steamos

有人在另一个论坛上向我建议,这个问题可能是针对旧版本的内核 - 那么在这种情况下我应该做什么?您是否告诉我驱动程序针对特定版本的内核并与其绑定 - 这听起来像一场噩梦!

答案1

这不一定是 *NIX 的事情,而更像是 Linux 的事情,IMO,你认为的烦恼实际上是一件好事!驱动程序以源代码形式提供,而不仅仅是二进制形式。

您希望驱动程序可用的原因有很多。像这样。不同的架构+内核版本是其中的两个。

我完全理解您的沮丧,但这就是开源通常的工作方式。我会与原作者或您尝试构建驱动程序的发行版一起追求任何驱动程序的构建。

答案2

在 Windows 上,我访问制造商网站下载驱动程序并安装

正确,并且这些完全相同的制造商可以选择提供 Linux 驱动程序。 虽然确实需要付出一些努力来维护与内核版本相关的它们,但在大多数情况下,这种维护工作对于制造商来说并不是那么重要。

但他们没有。为什么有点猜测,但是:本次统计调查关于桌面系统(使用网络应用程序),Linux 的“市场份额”小于 2%。这听起来应该足以使其值得,但在上下文中需要考虑一些事项:

  • 虽然游戏为消费类硬件的发展提供了历史性的推动力,最多桌面市场的仍然不是游戏玩家。这一点很重要,因为游戏对硬件提出了特定的要求,但是虽然关注点不是游戏的桌面用户可能(也可能没有)有特殊需求,但他们的需求并不相同。

  • 作为游戏玩家并对这种情况感到沮丧的桌面用户将会大多愿意依靠 MS Windows。

如果将这两个因素加在一起,那 2% 的市场份额的意义就会减弱。这 2% 的人中的大多数都不是游戏玩家,而大多数玩家都非常愿意使用 Windows 来满足他们的游戏需求。 这意味着,由于消费者不提供 Linux 驱动程序而不会购买其产品,制造商的实际损失可以忽略不计。

因此,他们不打扰。他们要花很多钱吗?不。但是他们能从中得到很多好处吗?不会。如果制造商不愿意,那么这项工作主要由志愿者来完成。现在考虑一下,您是一名软件开发人员,有一些空闲时间......

  • 如果您喜欢游戏并想做出贡献,那么您几乎肯定不会从 Linux 作为平台开始,因为它不是面向这种方式的。

  • 如果您对游戏不感兴趣,您不太可能愿意花时间开发实际设备制造商甚至不想费心的驱动程序。你想为你觉得有趣和有用的事情做出贡献——Linux 可能非常适合,但这对视频游戏的最终消费者没有太大帮助。

打个非常粗鲁的比喻,抱怨帆船比皮卡车更笨拙就引出了一个问题,为了什么? 制造帆船的人并不是想制造皮卡车。

相关内容