首页
学习
活动
专区
圈层
工具
发布

揭开Wayland的面纱(二):Wayland应运而生

在本篇正式开始介绍Wayland之前,让我们先回到2008年11月4日,也就是整整两年前,我当时在中文领域第一时间报道了"Wayland"的新闻:Wayland:Linux的新X Server,在其后的一个月...没错,Wayland是一个简单的"显示服务器"(Display Server),与X Window属于同一级的事物,而不是仅仅作为X Window下X Server的替代(注:X Window下分X Server...更确切的说,Wayland只是一个协议(Protocol),就像X Window当前的协议---- X11一样,它只定义了如何与内核通讯、如何与Client通讯,具体的策略,依然是交给开发者自己。...可以这么理解,但实际上与X Window的Server/Client有着本质的区别。 让我们用一张类似前文所示的图表来重新演示一下,在Wayland的框架下,窗口事件的响应是如何进行的。...这时问题就来了,因为Wayland所使用的,都是当前Linux下最新潮的图形技术。所以理所当然的,在驱动这一层面会有一些厂商跟不上。

4.6K70

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

只是为了录制屏幕而 在 Xorg 和 Wayland 之间切换,这不是很方便。 这种情况下,我很高兴地得知,由于 Pipewire 的帮助,在 OBS Studio v27 中支持了 Wayland。...要在 Ubuntu 18.04、20.04、Linux Mint 20 等系统上安装 OBS Studio 27,请使用 官方的 OBS Studio PPA。...第二步:检查 Wayland 捕获是否工作 请确认你正在使用 Wayland。现在启动 OBS Studio,查看它在第一次运行时显示的所有内容。我不打算展示这些。...如果你看到了,你现在就可以开始在 Wayland 中录制屏幕了。 第三步:让改变成为永久性的 这很好。你刚刚验证了你可以在 Wayland 上录制屏幕。...export QT_QPA_PLATFORM=wayland 退出并重新登录。现在 OBS 会自动开始使用这个参数,你可以用它来录制 Wayland 的屏幕。

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编写 Wayland 客户端(二)

    Wayland 在技术上并不限于 Linux,它也可以运行在任何类 Unix 系统上。但为了保持简单,我们将在 Linux 上进行学习。 你首先需要一个可用的 C 编译器。...注: deepin Linux 的 TreeLand 是基于 Wayland 的窗口管理器,本文所有代码均在 deepin Linux V25 下验证通过。...与前面提到的层次不同,核心协议是 可扩展 的,可以在其上添加新的接口。比较著名的扩展是 xdg-shell,我们会在下一节进行讨论。...为了管理对象,wayland-client 会在一些命名合理的不透明结构(opaque structures)中保存与对象相关的元数据。...还有一些接口介于两者之间,比如 wl_output,通常会有一组固定的显示器与之对应。 这就引出了 全局对象(global objects) 的概念。

    25910

    编写 Wayland 客户端(三)

    继续前面的章节: 编写 Wayland 客户端(一) 编写 Wayland 客户端(二) 黑方块 《黑方块》是卡济米尔·马列维奇(Kazimir Malevich)的著名画作: 在本节的最后,我们将构建一个至少同样酷...(而且黑得多)的东西: 表面(Surfaces)与缓冲区(Buffers) 在 Wayland 协议 中,你找不到 “window(窗口)” 这个词;取而代之的是 “surface(表面)”。...但在 Wayland 里,表面并不仅限于桌面窗口。...我这里使用 Linux 的 memfd_create 系统调用,如果不能用它,创建一个临时文件也同样可行: #include #include #include...xdg-shell.xml 生成: $ sudo apt install wayland-protocols $ wayland-scanner client-header \ /usr/share

    26010

    编写 Wayland 客户端(一)

    前言 在上一篇文章 干得漂亮,Ubuntu 终于干掉了 X11 写到 Linux 界一哥终于下定决心彻底移除多年来统治 Linux 桌面的 X 系统。...例如,了解 Wayland 的事件循环、缓冲区管理以及与显示服务器的通信方式,会让你在处理输入、渲染和同步时更加高效。...操作系统或显示服务器的深入原理 虽然你会了解 Wayland 客户端如何与显示服务器交互,但本指南不会深入讨论操作系统内核或显示服务器的实现细节。...本指南主要面向以下读者群体: 想学习 Wayland 客户端编程的人 你已经熟悉 Linux 编程基础,想了解如何直接与 Wayland 显示服务器交互,而不是依赖高级 GUI 工具包。...对现代 Linux 图形系统感兴趣的人 如果你想深入理解 Linux 图形栈,了解 Wayland 相比 X11 的优势,以及如何高效管理窗口和输入事件,本指南会很有帮助。

    24210

    从 X11 的角度理解 Wayland

    在 Linux 桌面领域,Wayland 常被提及为 “X11 的继任者”。...事实上,各大主流 Linux 发行版都在加速推进去 “X11 化”,国产桌面系统也在积极转向 Wayland 作为默认显示协议。...然而,与这一趋势形成鲜明对比的是:Wayland 相关的开发资料却异常稀少。...它本质上只是客户端与 compositor 之间的一个纯连接对象**,主要负责: Wayland 协议消息的发送与接收 协议对象 ID 的分配与管理 事件的分发与调度 与 X11 不同的是,wl_display...、状态和策略高度集中 Wayland 将绘制责任下放到客户端,只保留最小、清晰的合成与调度核心 X11 依赖隐式状态与扩展演进 Wayland 依赖显式协议与受控语义 从 X11 的角度理解 Wayland

    44810

    使用 Weston 调试 Wine 的 Wayland 实现

    随着主流 Linux 发行版纷纷加速从 X11 向 Wayland 迁移,GNOME 与 KDE Plasma 这两大桌面环境也相继宣布计划彻底移除 X11 相关代码。...从生态趋势看,无论是桌面环境还是应用程序,转向 Wayland 已势不可挡。 Wine 作为 Linux 平台运行 Windows 应用的重要兼容层,在整个 Linux 生态中占据着关键位置。...Wine 项目组同样意识到 Wayland 的发展方向,已着手推进 Wayland 驱动的开发。然而,由于 Windows 窗口模型与 Wayland 的设计理念存在显著差异,移植工作面临不少挑战。...我想起自己曾写过一篇介绍 Wayland 客户端开发的文章《编写 Wayland 客户端(二)》,其中提到 Weston——用于展示 Wayland 协议与功能的参考实现合成器。...编译 Wine 的 Wayland 支持 要编译 wayland 支持,需要额外安装如下开发包: libwayland-dev wayland-protocols libxkbcommon-dev linux-libc-dev

    28410

    探索纯正的 Wine-Wayland:让 Windows 应用真正运行在纯 Wayland 桌面环境中

    无独有偶,另一大主流 Linux 发行版 Fedora 也宣布从 Fedora 43 起,桌面环境切换为 Wayland-only。...目前,大多数 Linux 版本已经将 Wayland 设为默认,经过了这几年的检验,终于可以向 X11 说声再见。...作为 Linux 桌面的两大支柱,GNOME 和 KDE Plasma 都已完成了对 Wayland 的适配与优化。那么问题来了:桌面准备好了,应用程序是否也准备好了?...合成器只会暴露自己支持的接口列表(如 xdg_wm_base, wl_data_device_manager, zwp_linux_dmabuf_v1 等)。...小结 Wayland 无疑是 Linux 图形系统的未来,但它仍在成长之中。Wine 的 Wayland 支持虽已初见雏形,但距离完全替代 X11 还有一段路要走。

    50210

    揭开Wayland的面纱(一):X Window的前生今世

    Ubuntu"或其他地方看到了这篇文章:Ubuntu 决定未来将启用 Wayland X-Server。 Wayland是什么呢?它是X Window?还是要取代X Window?它的优势在哪里?...Linux桌面/移动会因此有什么变化?在本篇中,我将回顾历史,展望未来,通过简易的文字,来先回顾一下X Window,从而继续解答Wayland。...所以你看到了尽管23年过去了,基于X Window的GNOME、KDE,还能保持与同期Windows、Mac OS X竞争甚至某些方面更好,你就不得不佩服这些前辈在最初设计时定下的设计哲学是多么正确了。...尽管后来Linux也支持了各种用户层(user- space)的模式设置,让终端也支持标准的分辨率,但是X的模式设置与此是不相干的,所以一两年前,在Linux的启动过程中,从终端进入图形界面时,屏幕会"...它便是下篇要介绍的:Wayland!!! 本文来源 https://imtx.me/archives/1573.html

    5.2K80

    从 X11 到 Wayland,迈出这一步为何如此艰难?

    在嵌入式领域,Linux 系统几乎独占市场;在手机领域,基于 Linux 内核的 Android 与 iOS 分庭抗礼;在服务器领域,Linux 早已确立了绝对统治地位。...Linux 桌面系统的短板不仅仅是生态匮乏,还有其图形系统框架长期以来的不尽如人意,这使得用户体验难以与主流系统媲美。...Wayland 的开发虽然早已启动,但其稳定性和生态系统的建立用了较长时间。 可靠性与成熟度: 经过几十年的发展,X 系统已经非常稳定,并能满足大部分用户的需求。...deepin Treeland 从 X11 到 Wayland 的演进,展现了技术变革中前进与妥协的平衡。在这个过程中,社区需要在推动创新和保留兼容性之间找到最佳方案。...结语 Wayland 的普及正在稳步推进,尽管还有许多挑战,但它已经为 Linux 桌面图形栈的未来奠定了坚实基础。在这个过程中,国产系统迎来了前所未有的机遇。

    1.4K10

    IDEA EAP 2026.1新特性: 全面支持 Wayland,为开发者带来了革命性体验

    摘要:JetBrains宣布自2026.1EAP版本起,IntelliJ系列IDE将在支持的Linux桌面环境中默认启用原生Wayland支持,告别对X11的依赖。...这一转变不仅顺应Linux桌面生态演进趋势,更为开发者带来分数缩放、性能优化、安全性提升等实质性改进。一、为什么是Wayland?...Linux桌面的必然演进Wayland作为Linux新一代显示服务器协议,正逐步取代已有30多年历史的X11(X.Org)。...与X11相比,Wayland的核心优势在于:特性X11Wayland架构客户端-服务器模型,应用可直接操作其他窗口合成器主导,应用仅能控制自身内容安全性低:应用可监听键盘事件、截屏其他窗口高:严格的权限隔离...随着Wayland生态的成熟,我们有理由相信:Linux将成为开发者最高效、最愉悦的开发平台。

    12110

    干得漂亮,Ubuntu 终于干掉了 X11

    在《从 X11 到 Wayland,迈出这一步为何如此艰难?》一文中,我们分析过从 X11 过渡到 Wayland 所面临的诸多挑战。...如今,终于有 Linux 发行版吹响了 X11 的丧钟:Ubuntu 25.10 正式弃用 GNOME 的 Xorg/X11 会话,将 GNOME Shell + Mutter 桌面环境完全切换为 Wayland-only...到了 25.10,Ubuntu 终于与 X11 彻底告别——不再提供 X11 会话选择。目前 25.10 仍是测试版,根据 Ubuntu 发布节奏,下个月将发布正式版本。...Ubuntu 只保留单一桌面会话路径,使 GNOME 可以集中精力发展 Wayland,而不再维护 Xorg 与 Wayland 的双路线。...这不仅是技术上的更新,更是方向上的宣示:Ubuntu 正迈向一个更安全、更现代、更统一的 Linux 桌面未来。

    79310

    万字长文详解 Wayland 协议、架构

    DRM (Direct Rendering Manager): Linux 内核中与现代显卡通信的子系统。...Wayland 的前景 虽然 Wayland 面临着挑战,总的来说,Wayland 的前景非常光明,它已经越过了最艰难的“引爆点”,正在成为 Linux 桌面的既定未来标准。...Wayland 的前景展望 不可逆转的趋势:几乎所有主流 Linux 发行版(Fedora, Ubuntu, Arch 等)和桌面环境都在将 Wayland 作为默认选项。...这意味着整个 Linux 图形生态的开发重心和资源都在向 Wayland 倾斜。开发者和用户除了跟随,别无选择。...Wayland 原生支持可变刷新率(VRR)、更低的输入延迟以及对现代图形 API 的更好集成,长远来看,它将为 Linux 游戏提供比 X11 更优越的平台。

    3.2K33

    全志 Tina Linux 图形系统 框架介绍 最全介绍 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland

    、Wayland,整体结构 如下: 适用范围:Tina Linux v3.5及以上版本。...修改文件tina/lichee/linux-3.4/drivers/video/sunxi/disp2/disp/dev_disp.c 注:V853平台代码路径为:lichee/linux-4.9/drivers...Wayland是一套display server(Wayland compositor)与client间的通信协议,而Weston是Wayland compositor的参考实现,定位于在Linux上替换...Wayland目前可以在R18与R40上运行,其他平台暂未测试,其中在R40只能使用FBDEV 作为运行后端,在R18上可以使用DRM与FBDEV。...8.3.2 weston.ini. weston.ini 是 Wayland 的桌面配置文件,比如说想要去掉背景与状态栏,则可以修改以 下的参数值。

    19.4K10

    Wine 是如何加载图形驱动的?

    在 Wine 语境下,graphics driver(图形驱动)与 Windows 内核态的显卡驱动,或 Linux DRM / KMS / Mesa 这一整套图形栈中的硬件驱动,不是同一个层级的概念。...它是一个用户态的窗口系统与图形后端适配层,而不是硬件驱动。...其核心职责是把 Windows 程序眼中的 GDI / 窗口 / OpenGL / Vulkan 等图形与窗口操作,映射到宿主系统的图形与窗口系统实现上。...有兴趣的读者不妨进一步深入分析这一机制,在理解其实现细节的过程中,往往会由衷感叹这些开发者在设计上的巧思与工程智慧。...默认的加载次序为 mac、x11、wayland,在 Linux 下,不存在 macdrv,肯定加载失败。然后就会尝试加载 x11drv。

    22710
    领券