Linux的硬件驱动程序是一个个内核模块,每次升级内核,就必须重新编译所有模块,因此硬件厂家必须提供驱动程序源代码才能配适不断升级的Linux内核。而驱动程序源代码的开放会导致硬件设计机密的泄漏,这导致了硬件厂家的抵制,因此大量硬件没有可用的Linux版驱动程序。
我首次安装Linux是很多年前的事了,当时Linux内核版本还是2.2,当时就有很多声音批评Linux的内核模块机制。直到18年后的今天,最新的内核版本升级到了4.18,这个问题竟然毫无改进。作为一个十几年的GNU/Linux爱好者,实在感到痛心疾首,对Linux内核社区的developers感到及其失望,这18年来Linux没有大面积推广开来,这帮大神们负有不可推卸的责任。
从技术上说这个问题是否很难解决?一点都不难!微软的windows95的开发时间那么早,都可以直接使用硬件厂家提供的二进制驱动程序,Linux内核社区聚集了那么多技术大神,不可能真的有不可逾越的技术门槛。原因只能是“固执”,对GPL过于执着了,甚至可以说是病态的偏执,导致他们不肯接受硬件厂家提供的闭源二进制驱动程序。
如果Linux可以改掉这个缺点,那么它的生态环境必然会迅速改善。希望有人可以做点什么,哪怕重新fork一个Linux内核分支,甩开Linux内核社区单干也可以。只要硬件驱动程序跟上,内核的升级并不重要,现在很多办公电脑不是还在跑老掉牙的WindowsXP吗?在使用体验上和最新的Windows10相比,又有多少区别?
拙劣的Linux内核模块机制
-
- 帖子: 948
- 注册时间: 2006-01-06 22:55
- 系统: ubuntu
- 联系:
-
- 论坛版主
- 帖子: 5230
- 注册时间: 2007-01-14 16:23
Re: 拙劣的Linux内核模块机制
爱好者你好,爱好者再见,既然一点不难,麻烦您老人家顺手解决了?顺便说,听说有个叫hurd的东西,可能能满足你的需求作为一个十几年的GNU/Linux爱好者,实在感到痛心疾首,对Linux内核社区的developers感到及其失望,这18年来Linux没有大面积推广开来,这帮大神们负有不可推卸的责任。从技术上说这个问题是否很难解决?一点都不难!
- astolia
- 论坛版主
- 帖子: 6444
- 注册时间: 2008-09-18 13:11
-
- 论坛版主
- 帖子: 5230
- 注册时间: 2007-01-14 16:23
Re: 拙劣的Linux内核模块机制
说到扫描仪,我记得我这边还留了台古怪的扫描仪驱动,当初好像是明基给税务定制的,驱动和市面上的型号不一样(市面有同型号),必须用随机光盘里面的,驱动应该也是2000+xp的,估计新系统也用不来,linux的话就不清楚了
- Ping-Wu
- 帖子: 1822
- 注册时间: 2012-11-14 9:34
- 系统: Debian 12
Re: 拙劣的Linux内核模块机制
这正是 Linux 内核开发者(尤其是 Linus Torvalds 本人)从 4.15 版开始,把重点放在 in-kernel AMD amdgpu 驱动的最主要原因。目前这个开源驱动程序推出的时间甚至比硬体还早(表示 Linux 内核跟AMD显卡开发者的充分合作),在我们的系统下也比闭源的 amdgpu-pro 好用。
要骂人的时候,先找一面镜子。里面看到的,就正是必须被骂的对象。
一个功能强大,能无缝使用的显卡驱动器是 Linux 桌面大众化的最重要元件。Nvidia 虽然有它的一套软件连接器(module interface)来让 Linux 核心使用闭源驱动器,但问题很多,根本无法推荐一般大众使用。
-
- 帖子: 948
- 注册时间: 2006-01-06 22:55
- 系统: ubuntu
- 联系:
Re: 拙劣的Linux内核模块机制
忠言逆耳利于行、良药苦口利于病!
如果Linux可以使用二进制驱动,那么它只需要维护好一套开放接口,根本不需要浪费大量精力在驱动程序上,根本不会发生像上面说的 “Linux 内核开发者(尤其是 Linus Torvalds 本人)从 4.15 版开始,把重点放在 in-kernel AMD amdgpu 驱动”这种事,硬件厂家自己就会提供完美的驱动程序。
如果Linux可以使用二进制驱动,那么它只需要维护好一套开放接口,根本不需要浪费大量精力在驱动程序上,根本不会发生像上面说的 “Linux 内核开发者(尤其是 Linus Torvalds 本人)从 4.15 版开始,把重点放在 in-kernel AMD amdgpu 驱动”这种事,硬件厂家自己就会提供完美的驱动程序。
- oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: 拙劣的Linux内核模块机制
linux和windows最大的不同是稳定性,开放源码有助于稳定性提升。至于厂家是否愿意提供独立的二进制驱动,只和使用量有关。另外内核支持使用二进制驱动。
-
- 论坛版主
- 帖子: 5230
- 注册时间: 2007-01-14 16:23
Re: 拙劣的Linux内核模块机制
nvidia驱动表示,嗯,我不是二进制如果Linux可以使用二进制驱动
sis驱动表示,嗯,我也不是二进制
http://w3.sis.com/download/agreement.php?url=/download/
说起来很早以前有个古董机,用的sis672,然后sis给的驱动不但是二进制,而且是redhat7.0这种在当时已经是文物的发行版
https://fedoraproject.org/wiki/History_of_Red_Hat_Linux
2000年9月份的时候发布的系统,都有二进制驱动,差几个月正好18年,楼主却在这里谈,如果linux可以用二进制驱动
还对gpl的病态的偏执,厂家提供的二进制里面如果有bug,你说,怎么调试?因为你驱动的bug改代码?还是你厂家改驱动?
freebsd不是gpl,而且因为授权兼容问题,至今没有apache2, 按照freebsd的协议,完全可以闭源,你见几个厂家给他发布驱动了?
再说GPL,openwrt,就是当年cisco被发现用了linux之后,迫于压力放出的代码形成的一个分支,也就是说,没gpl,用了就用了,改了就 改了,反正改了什么你也不知道,到时候各自出各自的linux,连兼容能不能保证都不知道,还fork,你fork什么?
算了,人都说叫不醒装睡的,我估计喷也喷不醒的,还给自己落个喷子的名声,太亏了