OpenJDK 的原生 Wayland 支持正在取得进展


OpenJDK/Java 在实现不依赖 X.Org/X11 或 XWayland 来渲染 Java GUI 应用程序的原生“纯” Wayland 工具包集成方面取得了进展。

开发人员 Alexey Ushakov 本周更新了 OpenJDK Wiki,概述 Linux 上 OpenJDK 获得 Wayland 支持的最新进展,这也是对成熟的 X11 支持的进一步完善。

这个新的工具包支持继续从头开始实现,目前正在通过 Java 的 Wakefield 仓库和“pure_wl_toolkit”分支完成开发。到目前为止,大部分测试似乎都是使用 Wayland 的 Weston 参考合成器并使用 Ubuntu 21.10 完成。

下面是该工具包的一些主要工作:

  • 事件处理

    • 在 EDT 上调度原生事件,以避免在从 EDT 和工具包线程更新状态时出现潜在的竞争条件。在此处查看完整的提案
  • 图形设备支持

    • 屏幕上/屏幕外的 Wayland 接口管理

    • 采用 OGL 管道在 Wayland 接口上进行渲染

    • 实现基于 Vulkan 的新渲染管道(以获得更好的性能)

  • java.awt.Robot

    • 发送输入事件

    • 读取屏幕数据(至少当前的 java 应用程序窗口)

  • Windows 的客户端装饰

    • Swing 内部框架渲染代码可重用

▲ OpenJDK 开发者展示了他们使用 Java 的 Wayland "WLToolkit" 进展

▲ 已实现键盘和鼠标输入

详情查看 OpenJDK Wiki 页面和 JDK-8281970 错误跟踪器。


相關推薦

2022-11-24

写了一份年终总结,其中介绍了为 Chrome/Chromium 实现基于 Wayland 的屏幕共享所做的工作。虽然此功能目前尚未默认启用,但 Jan 表示按照目前取得的进展,如果一切顺利,很快就会在浏览器中默认开启。 据介绍,目前在 WebRTC 中

2022-03-14

二进制兼容的开源项目,ReactOS 直到 2022 年仍在努力实现支持对称多处理 (SMP,  symmetric multi-processing)。 SMP/多核支持是一项重要功能,无论是对于现在的硬件还是大约 20 年前的设备。此外,这也是 ReactOS 的一个痛点,不过情

2022-10-27

版本主要变化 将 GraalVM 社区版的 Java 组件捐赠给上游 OpenJDK Oracle 正在向 OpenJDK 贡献 GraalVM 社区版 Java 代码,使 GraalVM 与 Java 的开发更紧密地保持一致。 按照计划,GraalVM JIT 和原生镜像将成为 OpenJDK 的一部分。Oracle 会根据

2022-12-23

。 重写编译器 Nick 认为,Rust 目前的架构已经难以支持实现增量编译、并行编译等功能。重新开始则可以使用上更多的技术,团队可以通过这种机会认真优化编译时间,简化未来的开发难度。再结合 Rust 2.0,他们可以减少

2023-11-26

前的最后一个版本。该版本的更新亮点是继续改进了 Wine Wayland 驱动程序。现在,Wine 的原生 Wayland 支持已经包括了初始的 HiDPI 缩放支持和初始的 Vulkan 支持。尽管 Vulkan 支持尚未完全可用,但正在努力整合所有的组件,并且在 Wi

2024-01-31

活力。 那么,CodeIgniter 未来会有什么新变化呢? 我们正在开发一款全新的论坛软件,这款软件完全基于 CodeIgniter 构建。这款软件的目标是提供一种符合现代审美,而又为这个社区定制的论坛体验,展示 CodeIgniter 的可能性。它

2023-02-08

一到两个百分点。最流行的三个开源 Java 运行时依然是 OpenJDK、OpenJ9 和 Oracle Java。Oracle Java 的使用率比去年的调查下降了 4 个百分点,而 OpenJDK 和 OpenJ9 保持稳定。 DevOps 开源自动化和配置工具使用率快速增长,前两年的调查显

2023-04-24

64 移植到 AArch64。 FreeBSD 中的 DRM Linux 内核图形驱动程序支持已从 Linux 5.10 更新到 Linux 5.15~5.16,并在 5.17+ 上取得进展。 由 Apple Computer 在 1990 年代编写的 FSX File-System eXercisor 工具,现在已由 FreeBSD 用 Rust 编程语言重写。 更

2023-03-18

用程序。Wine 8.4 具有重要意义,因为它是发布最初始的 Wayland 图形驱动程序代码的版本。 目前 Wine 8.4 中“winewayland.drv”的状态尚未为最终用户和游戏玩家准备好,仍处于早期阶段,正在进行开发。距离在原生 Wayland 支持之外再

2022-11-13

形设计软件 Blender 上月为每日构建的 Linux 版本实现了对 Wayland 的原生支持,并表示如果一切顺利,即将发布的 Blender 3.4 将引入该项特性。 近年来,越来越多的 Linux 发行版开始默认提供 Wayland 桌面,开发者也一直在积极为 Blende

2022-10-14

计软件 Blender 最新每日构建版本在 Linux 上已经原生支持 Wayland。官方称如果一切顺利,即将发布的 Blender 3.4 将引入此功能。 Blender 是一款跨平台的 3D 图形设计软件,可以在 Linux、macOS 以及 Windows 系统下运行。与其他 3D 建模

2022-12-13

定对象 (platform-specific objects) 的概念,现在 Qt 6.5 将支持 Wayland 原生接口,以便应用程序开发者能够直接与 Wayland 对象句柄进行交互。 Qt 6.5 通过 QNativeInterface 支持 Wayland 原生接口,使得从 Qt 应用程序代码中直接与 Wayland 对象交

2022-10-01

devscripts的安装、编译依赖构建需求; 完成apport、fcitx、openjdk-8的安装、编译依赖构建需求; 截止当前,共从上游社区自主选项构建430个项目。后续我们还会进一步优化探索软件包相关技术,欢迎各位感兴趣的社区爱好者,

2024-06-27

将资源聚焦在 Fedora 41,将操作系统安装程序过渡为原生 Wayland 应用程序。Fedora 工程与指导委员会 (FESCo) 现已同意将 Anaconda 操作系统安装程序升级为原生 Wayland 应用程序。 多年来,Fedora Linux 一直在全力开发 Wayland,但 Anaconda