Windows/Linux 代码共享,开发者称此举使Linux有了更差的结局
英特尔近期披露了 Linux 图形驱动程序相关的一些细节并指出,英特尔的图形驱动程序现在已在 Windows/Linux 之间共享约 60% 的代码库,90~100% 的性能。
针对此事,红帽公司的高级工程师、Linux 内核开发者、Mesa 图形项目的贡献者 Dave Airlie 则发布警告称,Chipzilla 的代码共享开发模式并不总是好的。并表示,这会对基于 Linux 的发行版和在图形领域的开源开发模式产生不良影响。
Airlie 认为,开源发布的项目与开源开发的项目之间存在很大差异,从“可持续性和社区”的角度来看,前者并非完全健康。
小编推荐一个学C语言/C++的学习裙【 712,284,705】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
Airlie 以 Linux 内核和他所参与的 Mesa 项目为例,指出两者都是在开放的环境下开发的,采用了完全开放源代码的供应商不可知的做法。并指出,这两个项目都没有供应商控制,其目标都是最大限度地实现所有供应商的驱动程序共享代码和共享流程/编码标准。
"这种跨厂商的协同作用对于 Linux 图形栈这个生态系统的运作非常重要。该栈在某些地方也依赖于 LLVM 项目,但 LLVM 上游仍然与供应商无关,是开源开发的。"
然而存在一个潜在的问题是,供应商可能更热衷于看到投资回报,每隔几个开发周期就把内部开发的代码放到一个开源的 repo 中,而不是围绕项目建立一个社区。Airlie 称,供应商更多的是从自己的利益出发才搞出共享 Windows/Linux 栈这样的事情,而不是为了 Linux 社区的利益。
Airlie 以 AMDVLK vs radv 为例论证了自己的观点。他表示,自己之所以开始 radv 这个项目是因为,AMD 一直向世界承诺为 Linux 提供一个开源的 Vulkan 驱动,与他们的 Windows 栈共享。然而,Airlie 却发现,社区根本就没有参与驱动程序发展的渠道。 “外部贡献者永远不会与 AMD 员工处于同一立场,甚至不同团队的 AMD 员工也不会处于同一立场”。相比较而言, 他认为 Mesa 的 radv 项目最后的效果远比 AMD 的厂商共享代码要好。
事实上,引起 Airlie 不满的点主要在于英特尔图形编译器(IGC)。这是一个英特尔内部的项目,关于项目方向、如何参与或社区在哪里的信息都很少。且该项目似乎没有什么公开的审查,补丁也好像被 igcbot 合并到了公共 repo 中,这可能意味着它们是从某个内部 repo 中镜像出来的。Airlie 将 IGC approach 与 Mesa 内的 NIR 后端的开发进行了对比称,在 NIR 后端中,大量的变化都会被审查,并试图最大限度地共享共同的代码,以便所有的供应商都能从代码中获益。
不过,他对 AMD 及其内核中的显示代码还是有较好的评价,并称赞该团队的社区参与。尽管他也表示 "代码仍然相当糟糕,在 Linux 上并不是真正的最佳状态"。
最后,Airlie 表示,给任何希望操作系统之间有更多供应商代码共享的人一个警告,此举通常不会以 Linux 更好的结局而结束,而是以 Linux 更分散、更难支持和长期不可持续的结局而结束。
本文转自OSCHINA
Windows/Linux 代码共享,开发者称此举使Linux有了更差的结局的更多相关文章
- Linux代码的重用与强行卸载Linux驱动
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...
- Linux微信web开发者工具
Linux微信web开发者工具 https://github.com/cytle/wechat_web_devtools Linux微信web开发者工具, 可在 linux 桌面环境跑起 微信开发者工 ...
- Linux与Windows的桥梁--共享目录
1.关闭防火墙和selinux # service iptables stop # chkconfig --level 2345 iptables off ...
- 设置共享,实现Linux和Windows之间的共享
设置共享,实现Linux和Windows之间的共享 前提: 安装虚拟机.可以参考:在Windows上安装虚拟机详细图文教程 安装Linux.可以参考:在VMware Workstation里的Linu ...
- Linux主机共享目录给Windows主机的方法
Linux主机共享目录可以通过samba来实现 首先,来看下百科上关于samba的介绍: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...
- Linux在Hyper-V中实现与Windows的宽带共享上网
相信不少读者都会做(或者曾经做过)这么一项活动——把一个Linux系统安装到Windows系统下的虚拟机软件中,然后在Windows这个大环境中对Linux进行学习或者一些实验操作.在进行这么一项活动 ...
- Linux访问Windows磁盘实现共享
业务需求说明:公司在部署hadoop集群和DB server与SAN存储,公司的想法是前端通过DB Server能够将非结构化的数据能放进SAN存储当中,而hadoop集群也能够访问这个SAN存储.因 ...
- 通过VMware Tools 将主机windows的目录共享给linux虚拟机
之前有写过 本地虚拟机挂载windows共享目录搭建开发环境 这篇,里面讲通过使用samba来实现网络共享 最近发现其实完全不用这么麻烦,VMware tools就可以帮助我们轻松的共享文件夹 这里引 ...
- 将Linux代码移植到Windows的简单方法
一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C ...
随机推荐
- 【转载】HPL与HPCG测试(一)
来源:HPL与HPCG测试 (一) 一.HPL与HPCG 简介 1.HPL HPL 即 High Performance Linpack,它是针对现代并行计算集群的测试工具.用户不修改测试程序,通过调 ...
- python中的类方法,实例方法和静态方法的区别
类方法是类的方法,在定义的时候要在上方加上一个@classmethod装饰器来进行装饰,形参是cls,类和实例都可以取调用类方法: 实例方法是实例对象方法,只有实例可以调用,类是不能调用的,形参是se ...
- Luogu P2447 [SDOI2010]外星千足虫
题意 给定 \(n\) 个变量和 \(m\) 个异或方程,求最少需要多少个才能确定每个变量的解. \(\texttt{Data Range:}1\leq n\leq 10^3,1\leq m\leq ...
- Jmeter 函数助手对话框简单使用
第一步 打开Jmeter,Tools > 函数助手对话框 下拉框选择_CSVRead ,如下图所示: 第二步: 准备一份测试数据,保存在本地盘符里,数据如下图所示: 第三步,填数据, (1) ...
- nacos、ribbon和feign的简明教程
nacos简明教程 为什么需要nacos? 在微服务架构中,微服务之间经常要相互通信和调用,而且一个服务往往存在多个实例来降低负荷或保证高可用.我们假定A服务要调用B服务,最简单的方式把B服务的地址和 ...
- 力扣 - 19. 删除链表的倒数第N个节点
目录 题目 思路1 代码实现 思路2 代码实现 题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, ...
- Java如何正确比较浮点数
看下面这段代码,将 d1 和 d2 两个浮点数进行比较,输出的结果会是什么? double d1 = .1 * 3; double d2 = .3; System.out.println(d1 == ...
- 震惊!很多人都不知道 CSS Grid 框架早就有了!
前言 写作本文起源于知乎的一个问题:[CSS Grid 布局那么好,为什么至今没有人开发出基于 Grid 布局的前端框架呢?] 这篇文章拖沓了两个月,是因为真的不知道从哪里说好.这个问题的所有回答几乎 ...
- c#视频位置
static void Main(string[] args) { string scoure = @"C:\Documents and Settings\Administra ...
- 【线上问题排查技巧】动态修改LOGGER日志级别
前言 大多数情况下,我们会在打印日志时定义日志的LOGGER级别,用来控制输出的信息范围. 一方面,过多的输出会影响查看日志的效率,另一方面,过少的日志让问题定位变得困难. 但当线上出现问题时,线上容 ...