英特尔近期披露了 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. SpringBook+Lombok 使用教程

    什么是Lombok? Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码. Lombok也存在一定风险,在一些开发工 ...

  2. MyBatis 原理浅析——基本原理

    前言 MyBatis 是一个被广泛应用的持久化框架.一个简单的使用示例如下所示,先创建会话工厂,然后从会话工厂中打开会话,通过 class 类型和配置生成 Mapper 接口的代理实现,最后使用 Ma ...

  3. 「MCOI-03」村国题解

    第二篇题解! 可能是退役之前的最后一篇题解了 (好像总共都只写了两篇) 不说了,讲题: 题面 题意: 有T个数据 有一颗树(保证所有的的节点都是相连的),有n个节点,每个节点都有相应的权值与序号,现在 ...

  4. Spring Cloud Alibaba 之Nacos

    Nacos 技术讲解 一提到分布式系统就不的不提一下 CAP 原则 什么是CAP CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability ...

  5. ssh 和scp 非22端口

    ssh :(命令中的 p 小写) ssh -p 端口号 root@服务器ip scp: (命令中的 P 大写)(-r表示将目录下的目录递归拷贝.".*"是将所有文件包括隐藏文件.) ...

  6. python开发基础(二)运算符以及数据类型之dict(字典)

    # encoding: utf-8 # module builtins # from (built-in) # by generator 1.147 """ Built- ...

  7. sort回调的简单模拟

    本来是准备讲CPP中的std::sort,但因为最近Java用得多,不知怎么的便习惯性走Java角度看问题了,所以这篇文章看起来估计会有点奇怪... 一.简单模拟sort回调 std::sort函数本 ...

  8. Luogu P3324 [SDOI2015]星际战争

    二分+最大流 首先考虑二分答案 然后可以发现对于已知时间,判断是否可以将所有机器人摧毁可以用网络流 建立源点和汇点,源点向每一个激光武器连一条容量为$time*b[i]$的边,表示该激光武器在$tim ...

  9. sdasd

    create PROCEDURE v4(in c_year int) BEGIN declare num int(10) default 0; declare num1 int(10); select ...

  10. 10 XSRF和XSS

    10 XSRF和XSS CSRF(Cross-site request forgery)跨站请求伪造 XSS(Cross Site Scripting)跨站脚本攻击 CSRF重点在请求,XSS重点在脚 ...