查看原文
其他

我为什么最终放弃了 Linux 桌面版的研发

Awilfox CSDN 2021-04-25

【CSDN 编者按】Linux作为一个开源工程,没有太多的商业化行为,就决定了它的UI设计、用户体验等等都没办法和Windows比。只有好的代码并不能构成一个好的软件。


作者 | Awilfox      译者 | 弯月
出品 | CSDN(ID:CSDNnews)

以下为译文:

Adélie Linux是由几个Linux用户、开发人员和系统管理员创建的一个开源项目。项目的主旨是在Gentoo Linux发行版的技术之上,更好地支持musl以及APK二进制包格式。最近,该项目的创始人之一A. Wilcox(awilfox)宣布放弃桌面版的开发。在本文中,我们就来听一听他的想法。 

最近,我换了一份新工作。虽然我打算继续在闲暇时间做一些开源软件的工作,但我不打算再继续创建Linux桌面版的梦想。下面,我就来说一下具体的原因。


稳定性 


当初我开发Linux桌面版的目标是稳定性。Adélie是一个仅发行LTS的版本,我认为这一点很好。但这项工作的难度越来越大了,因为Qt已删除了开源社区中的LTS版本,并明确表示他们想让我们担当Beta版的测试,而且付费商业用户是唯一应该获得稳定版本的用户。显然,这与拥有免费的稳定桌面版是相矛盾的。

Mozilla迫切希望与邪恶的Google一较高下,因此他们不断压缩发布周期。这就意味着,每年一次的ESR版将被抛弃,因为Web开发人员不明白,并非每个人都想运行最新的功能。

我认为,稳定性可能是最容易引发争论的问题。我自己都没有太坚定的看法。一些上游公司希望改进发布工程。而我也发现,就连绝大多数高级用户对于运行最新版(非稳定版)软件也持无所谓的态度,只要计算机能够正常运行即可。

我希望,将来有更多开发人员能够了解稳定的发布周期和发布工程的价值。

对于未来,我最担心的事情是,一切都将永远脱离Git主分支。


可移植性


在我看来,说服上游支持PowerPC、ARM和其他体系结构的难度越来越大。即便微软了苹果相继推出了基于ARM的笔记本电脑,Raptor仍在销售Talos和Blackbird PPC系统。

可移植性的问题很大一部分来自Google的代码。Go运行时不支持许多非x86体系结构。而即便是支持的体系结构,它提供的支持也很差。Golang仅支持64位的PPC,而且还需要Power8(相当于需要Skylake或更高版本的x86程序)。也许在最终用户应用程序中根本不会用到它,但是这样的支持不应该出现在任何系统编程语言中。

此外,Chromium代码库不适合移植到其他体系结构。即便Talos用户社区提供了PowerPC移植口,但Chromium也完全拒绝了。Chromium本来就与glibc有着紧密联系,拒绝PowerPC移植就意味着要想支持musl,就需要添加成千上万行代码的补丁。由于大端字节序的问题,他们不会接受Skia或WebP的补丁。通常,他们都不在乎可移植性的质量。

由于GCC Go可以正常工作,而且我们还有Firefox、Otter(仍然可以使用Qt WebKit)和Epiphany等浏览器,所以这个问题还好。然而,越来越多的重要软件(如KMail等)开始依赖WebEngine(Chromium嵌入式引擎)。这意味着,即使KDE的电子邮件客户端是可移植的,也无法x86_64和ARMv8之外的任何体系结构上运行。

这对用户的安全性和隐私产生了影响。Chromium引擎存在较大的高风险安全漏洞,这意味着即使有Musl或PowerPC的下游补丁程序,也需要确保新版本的Chromium发行时,向前移植这些补丁。他们的发布节奏非常快,而且他们会频繁地重写大部分引擎。因此,对于一个不需要可移植性,还需要稳定性和安全性的桌面版而言,跟上引擎的更新几乎是不可能的。 

随着越来越多的Qt和KDE应用程序对WebEngine产生依赖,越来越多的其他应用也无法跟上引擎的更新了。

我希望,将来有更多开发人员能够关心运行在非x86体系结构之上的补丁。


图形栈


我个人认为,即使到了今时今日,让人们普遍接受Wayland的难度仍然不亚于修复X11。但是,这个问题可以暂时放一放。我们还要抛开一个事实,即他们不想让它在英伟达的GPU上运行,可问题在于英伟达的GPU占据了一半的市场。

去年12月的时候,我曾尝试在WayBook G4上运行Wayland。该计算机在X11下运行KDE Plasma 5.18(当前的LTS版本),没有任何问题,也没有跳帧现象。它拥有支持硬件OpenGL 2.1的Radeon 9600XT。

我花了几天的时间来搭建这个系统,因为由于某种原因,wlroots在处理r300时遇到了很多困难。在问题都得到解决后,我发现它绘制出来的颜色都是错误的。努力了很多天,我才发现可能是Mesa中存在的某些问题引发了这个问题。

我请求Wayland社区提供一些帮助,但由于Mesa的代码超出了我的水平(快要奔三的我仍然会被图形代码吓到),所以最后我只落得了一阵嘲笑和批评。

另外,我依旧找不到支持帧缓冲和/或软件模式的Wayland合成器,否则就不需要修复Mesa了。有了帧缓冲支持,它还可以在运行LXQt计算机上运行,例如Pentium III和iBook G3,它们都具有不带硬件GL2的Rage 128卡。当然,这些也遭到了嘲笑和批评。

如果他们坚决不配合我,那么我为什么还要为了支持我关心的硬件而煞费苦心地改善Wayland生态系统,然后指责S3 Trio64和Rage128等卡没有DRM2驱动程序呢?

我希望,将来Wayland合成器能够支持更多类型的硬件,或者改进X11并避免对Wayland的依赖。

对于未来,我最担心的事情是,你需要RX 480才能在Linux上使用GUI。


易用性


这个观点比较客观,但是Linux桌面版似乎永远都比不上其他环境。ElementaryOS基本上可以解决这个问题,但是从我的角度来看,我们还要付出很多努力,才能见到一丝曙光。


总结


我仍然计划在我所有的服务器上运行Linux(很可能是Adélie)。

但是,我一直在慢慢地将自己的工作重心从Adélie Linux桌面版转移到运行Catalina的Mac上。可悲的是,我发现自己心情越来越好,而且有更多的时间去做自己想做的事情。

我非常希望,在若干年后,Linux生态系统能够吸取经验教训,而我也愿意回归,并再次认真地做出贡献。但在这之前,对于我来说这些只是系统/内核级的工作,而且还会为了musl而破坏POSIX的一致性而已。Linux桌面版与我的所需相差太远了。

原文链接:https://catfox.life/2021/03/21/really-leaving-the-linux-desktop-behind/

声明:本文由CSDN翻译,转载请注明来源。

华为高管揭秘公司不上市的原因;微信回应「花钱就能查到聊天记录」;马斯克删除「超苹果只要几个月」评论 | 极客头条

Rust 要“进驻” Linux 内核了?Linux 之父:保持观望

望而生畏的C语言在逐渐凋零

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存