英特尔近期披露了 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. ansible-palybooks

    ansible-playbooks 如果用模块形式一般有幂等性,如果用shell或者command没有幂等性 playbooks相当于是shell脚本,可以把要执行的任务写到文件当中,一次执行,方便调 ...

  2. eclipse配置springMVC

    基础还是创建一个Dynamic web project. WEB-INF/lib中添加必需的jar. commons-logging-1.1.3.jar spring-aop-4.3.6.RELEAS ...

  3. 02 . 02 . Go之Gin+Vue开发一个线上外卖应用(集成第三方发送短信和xorm生成存储数据库表)

    集成第三方发送短信 介绍 用户登录 用户登录有两种方式: 短信登录,密码登录 短信登录是使用手机号和验证码进行登录 短信平台 很多云平台,比如阿里云,腾讯云,七牛云等云厂商,向程序开发者提供了短信验证 ...

  4. 用 Java 训练深度学习模型,原来可以这么简单!

    本文适合有 Java 基础的人群 作者:DJL-Keerthan&Lanking HelloGitHub 推出的<讲解开源项目> 系列.这一期是由亚马逊工程师:Keerthan V ...

  5. Java创建二叉树、二叉树的遍历

    创建二叉树: public class Node {     // 左子节点     public Node leftNode;     // 右子节点     public Node rightNo ...

  6. Nginx跳转配置

    1.携带目录调转到后端,后端无目录,location配置如下 例子: i2.jusdacfj.com/ideas_edi/--10.0.2.137:7040/10.0.2.138:7040 locat ...

  7. IOCP三层结构

    iocp三层架构服务器模型 分类: GameEngine专题之IOCP(完成端口)2010-04-06 14:44 2611人阅读 评论(0) 收藏 举报 服务器socket工作测试应用服务器性能优化 ...

  8. vscode实现远程linux服务器上Python开发

      最近需要训练一个生成对抗网络模型,然后开发接口,不得不在一台有显卡的远程linux服务器上进行,所以,趁着这个机会研究了下怎么使用vscode来进行远程开发.   1 配置免密登录¶   (1)在 ...

  9. 手写Koa.js源码

    用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...

  10. WSL Ubuntu 18.04 LTS + VS Code

    WSL Ubuntu 18.04 LTS + VS Code ​ WSL(Windows Subsystem for Linux)使得Windows用户能够在Windows系统上使用原生的Linux环 ...