如果您强调 X 作为现代 Linux 系统的开销来源,那么您可能没有找对地方。X 是很久以前为功能远不如现代手机的计算机设计的。
如果您查看“顶部”并看到 X 使用内存,则需要做很多工作才能计算出实际的 X 开销。有些内存映射不是“真正的”内存,还有代表应用程序分配的资源(例如大块像素)。最重要的是,顶部的 X 显示的内存并不是人们可能想的那样。
人们还听说 X 使用“网络”并认为这将成为性能瓶颈。这里的“网络”是指本地 UNIX 域套接字,它在现代 Linux 上的开销可以忽略不计。在网络上会成为瓶颈的东西,有 X 扩展来加快速度(共享内存像素图、DRI 等)。进程中的线程不一定比 X 套接字快,因为瓶颈更多地与协调多个线程或进程访问同一硬件的固有问题有关,而不是与本地套接字的最小开销有关。
多进程设置有很多优点,比如更难崩溃。例如,请参阅 Google Chrome,使用多个进程更健壮 - 事实证明,运行速度也更快。更少的流程并不一定意味着更现代。
使用 GTK 的应用程序不能透明地移植到 DirectFB 的原因有很多。对于 Firefox,一个是它有时直接使用 X。此外,一些独立于工具包的东西,例如浏览器插件界面,直接使用 X。例如,Flash 插件不适用于 DirectFB。即使是不直接使用 X 的应用程序通常也会假设存在正常的基于 X 的桌面环境(GNOME 等)。
替换 X 的另一个问题是驱动程序支持,其中两个更好的显卡(NVidia、ATI)都具有比免费驱动程序更强大的专有驱动程序,并且这些专有驱动程序与 X 相关联。
当然还有迁移路径。如果您有数百个使用 X 的应用程序并且没有明显的最终用户对 X 的不利影响,那么没有人会切换到没有应用程序工作的东西。最有可能的是,这里的解决方案是在新窗口系统上运行的无根 X 服务器,因此旧应用程序仍然可以工作。
老并不总是坏的。X 是由聪明人精心设计的,这使它得以发展和改变,并且在多年后仍然有效。
无论如何,说来话长,基本上从 X 切换出来需要付出大量的努力,它确实运行良好,并且“运行良好”从未适用于任何替代方案(至少如果您希望能够在其上运行大多数应用程序)大多数硬件)。
X 存在一些问题——例如不可能进行原子屏幕更新,这是 Wayland 项目正在研究的问题——但大多数问题对于用户来说都是装饰性的(例如非原子更新)或对于开发人员来说是装饰性的(旧的已弃用扩展)之类的)。一个人可以放下 X 并神奇地拥有更小更快的东西,这不是真的。这主要是基于人们推测“旧”和“使用网络”一定是缓慢而臃肿的,但同样,X 是为非常糟糕的硬件设计的。我曾经在我的 386 上运行 X(和 Emacs!)很好,可能有 8 兆 RAM 或类似的东西。