英特尔最近透露了一些关于Linux图形驱动程序的细节,并指出英特尔的图形驱动程序现在在Windows/Linux库之间共享大约60%的代码,90~100%的性能。对此,RedHat高级工程师、Linux内核开发者、Mesa图形项目贡献者DaveAirlie发出警告,Chipzilla的代码共享开发模式并不总是好的。并表示这将对基于Linux的发行版和图形领域的开源开发模式产生不良影响。根据Airlie的说法,开源发布的项目和开源开发的项目之间存在很大差异,从“可持续性和社区”的角度来看,前者并不完全健康。Airlie以Linux内核和他参与的Mesa项目为例,指出两者都是在开放环境下开发的,采用完全开源、与供应商无关的方法。并指出这两个项目都没有供应商控制,目标是最大限度地共享所有供应商的驱动程序的代码和共享过程/编码标准。“这种跨供应商协同作用对于Linux图形堆栈作为一个生态系统的功能非常重要。该堆栈在某些地方还依赖于LLVM项目,但LLVM上游仍然是供应商中立和开源的。”然而存在一个潜在的问题是,供应商可能更希望看到投资回报,每隔几个开发周期就将内部开发的代码放入一个开源repo,而不是围绕该项目构建一个社区。根据Airlie的说法,供应商正在做一些事情,比如共享Windows/Linux堆栈,更多的是为了他们自己的利益,而不是为了Linux社区的利益。Airlie使用AMDVLKvsradv作为例子来证明他的观点。他说他开始radv项目是因为AMD一直向世界承诺为Linux提供开源Vulkan驱动程序,以与他们的Windows堆栈共享。然而,Airlie发现社区根本无法参与驱动程序开发。“外部贡献者永远不会与AMD员工站在同一边,即使是不同团队的AMD员工也不行”。相比之下,他认为Mesa的radv项目最终效果远好于AMD的vendor-sharedcode。事实上,Airlie不满意的主要点是英特尔图形编译器(IGC)。这是一个英特尔内部项目,关于项目的方向、如何参与或社区在哪里的信息很少。而且该项目似乎没有太多的公众审查,补丁似乎被igcbot合并到公共仓库中,这可能意味着它们是从一些内部仓库中镜像出来的。Airlie将IGC方法与Mesa内部NIR后端的开发进行了对比,称在NIR后端中,审查了大量更改,并试图最大限度地共享通用代码,以便所有供应商都能从代码中受益。有利。尽管如此,他还是对AMD及其核心中的显示代码说了些好话,并赞扬了该团队的社区参与。尽管他也表示“代码仍然很糟糕,并不是Linux上最好的”。最后,Airlie说,警告任何希望在操作系统之间进行更多供应商代码共享的人,此举通常不会对Linux产生更好的影响,但会更加分散,更难支持和长期。以不可持续的结果结束。本文转自OSCHINA。本文标题:Windows/Linux代码分享,Linux内核开发者:差评本文地址:https://www.oschina.net/news/120749/linux-graphics-why-sharing-code-with
