分享免费的编程资源和教程

网站首页 > 技术教程 正文

Ubuntu 24.10 计划全面默认使用 Wayland 窗口系统,包括 NVIDIA 显卡!

goqiw 2025-08-02 18:08:41 技术教程 3 ℃ 0 评论

概述

近日 Ubuntu 团队宣布了他们下一个版本 24.10 的开发计划,其中一项改动,就是全面默认使用 Wayland 窗口系统,包括 NVIDIA 显卡。

Wayland 简介

严格来说 Wayland 是一套通信协议,用于应用程序(客户端)和显示服务器之间的通信,而常见的实现 Wayland 协议的显示服务器是 Weston ,本文将其称为 Wayland 窗口系统。

Wayland 窗口系统是新一代窗口系统,目标是替换传统的XWindow窗口系统,解决XWindow的缺陷,下图是XWindow到Wayland的架构演进。

XWindow 的主要问题,一方面 X Server 本身不处理窗口的合成,需要外部专门的窗口合成器来进行处理,来回通信效率低,X Server 也缺少足够的信息进行绘制优化;另一方面很多原来 X Server 处理的功能也因为性能等原因移到内核中,X Server 的功能减少,沦落成传声筒的角色,而且由于 X Protocol 本身的局限性,需要增加很多协议扩展来支持这个变化,协议和处理流程也变得复杂。

因此 Wayland 窗口系统重新进行设计,将窗口合成管理的功能合并到在显示服务中,显示服务和应用程序(客户端)之间的通信协议也重新梳理,更好的适应现代显示硬件的性能优化,支持 DRI(Direct Rendering Infrastructure)、DRM(Direct Rendering Manager)等内核特性。

为了能从 XWindow 平滑过渡到 Wayland,让现有的 XWindow 应用程序(客户端)在迁移到 Wayland 之前可以继续使用,在 X.OrgServer(XWindow窗口系统的实现)1.16 版本开始,支持 XWayland 程序,本身是一个 Wayland 客户端运行在 Wayland 窗口系统中,同时作为一个 X Server 显示服务器,可以给其他旧有的 XWindow 应用程序(客户端)提供服务。

Ubuntu采用Wayland的历史

Wayland 窗口系统在 2008 年启动开发,随后 GONME、KDE 等窗口系统也开始逐步兼容 Wayland 窗口系统,但直到2017年的 Ubuntu 17.10才首次将Wayland 窗口系统作为默认的窗口系统,而且是针对非NVIDIA显卡,因为NVIDIA显卡的驱动和Wayland 窗口系统配合还存在问题。

但到了下一个版本Ubuntu 18.04,缺省窗口系统依然使用XWindow窗口系统,而不是Wayland 窗口系统,最主要的原因还是因为稳定性和可靠性,因为Ubuntu 18.04还是一个LTS长期维护版,而经过Ubuntu 17.10的使用,Wayland 窗口系统始终还存在一些问题。

直到3年后的Ubuntu 21.04,缺省窗口系统再次切换到Wayland 窗口系统(针对非NVIDIA显卡),Ubuntu团队认为Wayland 窗口系统已经相当稳定,而且还在不断优化,预计到了未来下一个LTS长期维护版,Wayland 窗口系统将会更稳定,能够满足LTS长期维护的要求。但是对于使用NVIDIA显卡的系统还是沿用传统的XWindows窗口系统,因为Wayland 窗口系统和NVIDIA的驱动依然还存在配合问题。

随着近年来NVIDIA的linux驱动不断改进,功能和稳定性得到提升,Wayland 窗口系统和NVIDIA的驱动的配合问题也大多得到了修复。虽然最新发布的 Ubuntu22.04LTS长期维护版出于稳定性等考虑,对于NVIDIA显卡的机器还是沿用传统的XWindows窗口系统。但是,Ubuntu团队近日在讨论下一个版本Ubuntu22.10的规划时透露,在Ubuntu22.10中对于NVIDIA显卡也将缺省使用Wayland 窗口系统。

虽然buntu22.10将全面使用Wayland 窗口系统作为缺省窗口系统,传统XWindows窗口系统依然还存在,可以手动切换使用。距离XWindows窗口系统退出历史舞台还有很长的路要走。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表