英特尔近期披露了 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有了更差的结局的更多相关文章

  1. Linux代码的重用与强行卸载Linux驱动

    (一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...

  2. Linux微信web开发者工具

    Linux微信web开发者工具 https://github.com/cytle/wechat_web_devtools Linux微信web开发者工具, 可在 linux 桌面环境跑起 微信开发者工 ...

  3. Linux与Windows的桥梁--共享目录

    1.关闭防火墙和selinux         # service iptables stop         # chkconfig --level 2345 iptables off        ...

  4. 设置共享,实现Linux和Windows之间的共享

    设置共享,实现Linux和Windows之间的共享 前提: 安装虚拟机.可以参考:在Windows上安装虚拟机详细图文教程 安装Linux.可以参考:在VMware Workstation里的Linu ...

  5. Linux主机共享目录给Windows主机的方法

    Linux主机共享目录可以通过samba来实现 首先,来看下百科上关于samba的介绍: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...

  6. Linux在Hyper-V中实现与Windows的宽带共享上网

    相信不少读者都会做(或者曾经做过)这么一项活动——把一个Linux系统安装到Windows系统下的虚拟机软件中,然后在Windows这个大环境中对Linux进行学习或者一些实验操作.在进行这么一项活动 ...

  7. Linux访问Windows磁盘实现共享

    业务需求说明:公司在部署hadoop集群和DB server与SAN存储,公司的想法是前端通过DB Server能够将非结构化的数据能放进SAN存储当中,而hadoop集群也能够访问这个SAN存储.因 ...

  8. 通过VMware Tools 将主机windows的目录共享给linux虚拟机

    之前有写过 本地虚拟机挂载windows共享目录搭建开发环境 这篇,里面讲通过使用samba来实现网络共享 最近发现其实完全不用这么麻烦,VMware tools就可以帮助我们轻松的共享文件夹 这里引 ...

  9. 将Linux代码移植到Windows的简单方法

    一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C ...

随机推荐

  1. EXPECT交互式批量上传公钥

    EXPECT交互式批量上传公钥 # vim key.sh #/bin/bash Public_Key() { [ ! -f /usr/bin/expect ] && yum insta ...

  2. Kubernetes 配置私有镜像仓库时,没有权限访问的问题

    使用 K8S 部署服务时,如果指定的镜像地址是内部镜像仓库,那么在下载镜像的时候可能会报权限错误.这是由于在 K8S 中部署服务时,K8S 需要到 Harbor 中进行一次验证,这个验证与节点中使用 ...

  3. linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)

    firewall-config是firewalld防火墙管理工具的GUI(图形用户界面)版本,几乎可以实现所有以命令行来执行的操作. firewall-config的界面如下图(在终端直接运行fire ...

  4. js-同步和异步

    js异步 学习js开发,无论是前端开发还是node.js,都避免不了要接触异步编程这个问题,就和其它大多数以多线程同步为主的编程语言不同,js的主要设计是单线程异步模型.正因为js天生的与众不同,才使 ...

  5. PLC模拟量采集模块在工控领域的应用

    在工业现场中,往往需要对温度.电流.电压等模拟量进行控制采集,这可以使用PLC对这些数据进行采集,但是如今生产各种PLC模拟量采集模块的厂家非常多,不同类型的PLC都是有自己专属的模拟量采集模块的,不 ...

  6. undefined reference to 'mq_open'

    验证 UNPv2里的一个例子时,连接时出现 undefined reference to 'mq_open' 错误. man mq_open ,发现里面有这么一句话 :link with -lrt . ...

  7. python测试报告输出 htmltestrunner 及 中文乱码的解决方式

    下载HTMLTestRunner.py 第三方库 下载地址: python2:http://tungwaiyip.info/software/HTMLTestRunner.html 右键另存为下载HT ...

  8. Union-Find算法详解

    今天讲讲 Union-Find 算法,也就是常说的并查集算法,主要是解决图论中「动态连通性」问题的.名词很高端,其实特别好理解,等会解释,另外这个算法的应用都非常有趣. 说起这个 Union-Find ...

  9. js某时间与当前时间差

    function minuteFormat(min){ if(!min){ return '-'; } var result=''; if(min%(60*24*30*12)!=min){ resul ...

  10. leetcode113:sudoku-solver

    题目描述 请编写一个程序,给数独中的剩余的空格填写上数字 空格用字符'.'表示 假设给定的数独只有唯一的解法 这盘数独的解法是: 红色表示填上的解 Write a program to solve a ...