Xwayland 26.1.0 发布候选版1

Hacker News Top 工具

摘要

Olivier Fourdan 宣布了 Xwayland 26.1.0 的首个发布候选版,包括更改如 EGLStream 移除、rootful 模式的剪贴板桥接、多座位支持以及各种错误修复,并请求进行测试。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/19 22:11

# [公告] xwayland 26.0.99.901 源文件:https://lists.x.org/archives/xorg/2026-August/062280.html **Olivier Fourdan** [ofourdan at redhat\.com](mailto:xorg%40lists.x.org?Subject=Re%3A%20%5BANNOUNCE%5D%20xwayland%2026.0.99.901&In-Reply-To=%3Ca5aa329b-6fb6-4c30-a89d-3457b8620098%40redhat.com%3E) *2026年8月19日 星期三 13:37:02 UTC* - 上一条消息(按线程):[\[公告\] xload 1\.2\.2](https://lists.x.org/archives/xorg/2026-August/062279.html) - **消息排序方式:**[\[ 日期 \]](https://lists.x.org/archives/xorg/2026-August/date.html#62280)[\[ 线程 \]](https://lists.x.org/archives/xorg/26-August/thread.html#62280)[\[ 主题 \]](https://lists.x.org/archives/xorg/2026-August/subject.html#62280)[\[ 作者 \]](https://lists.x.org/archives/xorg/2026-August/author.html#62280) --- ``` 按照计划,我荣幸地宣布 Xwayland 26.0.99.901 发布,这是即将发布的独立版 Xwayland 26.1.0 版本的第一个候选版本(简称 Xwayland 26.1.0 rc1)。 自 Xwayland 24.1 以来的一些显著变化包括: * 移除了 EGLStream 支持。 * Xwayland rootful 实现了剪贴板/主选择区桥接功能(通过 "-clipboard" 启用),允许在 rootful Xwayland 与 Wayland 桌面其他部分之间进行复制/粘贴操作。 * 通过 Xi2 支持多座位:Wayland 座位及其设备被映射到 XInput 2 层级结构中。 * 支持 "wl_fixes",即 destroy_global 和 ack_global_remove。 * RandR 模拟现在更倾向于使用原生模式直至物理分辨率,并且模拟模式现在考虑了旋转。 * Xwayland rootful 全屏模式默认使用实际输出分辨率,而非将 640x480 分辨率放大。 * 支持 xdg-system-bell:当合成器支持时,Xwayland 现在通过 Wayland 系统提示音协议发出系统提示音。 非常感谢对这个候选版本进行测试。请在 https://gitlab.freedesktop.org/xorg/xserver/-/issues 报告任何问题。 以下简短日志包含了自上一个 xwayland-24.1 分支首次创建以来(两年多前)的所有更改,但并非所有更改都与 Xwayland 相关: Aki Sakurai (2): xquartz: 修复编译问题 xquartz: 修复 macOS 上数位板笔 Y 轴倾斜反转的问题 Alan Coopersmith (190): xf86_OSlib.h: 此处无需包含 Solaris 键盘头文件 solaris: 将 APM 接口转换为官方 SRN 接口 CI: 将驱动标签检出到构建目录 将 sizeof 移至 calloc 调用的第二个参数 meson: 使 AF_INET6 检查在更严格的编译器标志下工作 compiler.h: 移除 Sun 编译器平台定义到 gcc 的转换 移除对 SVR4 之前 SysV 版本的支持残留 移除对除 Solaris 和 illumos 外 SVR4 系统的支持残留 dix: 在 Xi 事件转换例程中检查 calloc() 失败 dix: PolyText: 完全初始化 local_closure dix: SetFontPath: 成功时不设置 errorValue dix: enterleave.c: 修复隐式穿透警告 dix: CreateScratchGC: 避免解引用我们刚刚设为 NULL 的指针 dix: InitPredictableAccelerationScheme: 失败时避免内存泄漏 dix: dixChangeWindowProperty: malloc 失败时不调用 memcpy dix: ProcListProperties: 如果 numProps 为 0 则跳过不必要的工作 dix: HashResourceID: 对位移使用无符号整数 dix: GetPairedDevice: 检查 GetMaster 是否返回 NULL dix: FindBestPixel: 修复隐式穿透警告 CI: 更新 xcb 工具库到子模块 URL 正常的版本 CI: 从 fd.o 而非 gnome.org 克隆 libdecor CI: 将 libdecor 从 0.1.0 更新到 0.1.1 CI: 将 meson 从 0.56.2 (bullseye) 更新到 1.0.0 (bullseye-backports) meson: 在 xorg-server.pc 中列出 xproto 头文件所需版本 os: NextDPMSTimeout: 标记 switch 中的故意穿透 dix: 如果可用则使用 __builtin_popcountl 替换 Ones() xfree86: realloc 失败时避免内存泄漏 Xi: 如果 GetXTestDevice 返回 NULL 则避免空指针解引用 render: 如果 PictureFindVisual 返回 NULL 则避免空指针解引用 dix: 生成 DeviceButtonStateNotify 事件时修复按钮偏移 dix: 生成 Xi 事件时将检查限制在 MAX_VALUATORS modesetting: ms_present_check_unflip() 返回 FALSE 时避免内存泄漏 dix-config.h: 添加 HAVE_SOCKLEN_T 定义 os: 如果 getaddrinfo() 可用,即使禁用 IPv6 支持也使用它 os: 如果 inet_ntop() 可用,也用于 IPv4 地址 ci: 更新 XTS 到不需要 -fcommon 变通方案的提交 xkb: 确保 XkbAllocNames 在分配失败时将 num_rg 设为 0 xkb: 在 xkbtext.c 中将更多 sprintf 调用转换为 snprintf xkb: 添加 tbGetBufferString 辅助函数 pkgconfig 文件: 添加 URL dix-config.h: 为 xtrans 1.6 定义 HAVE_STRUCT_SOCKADDR_STORAGE Xserver.man: 移除 X 防火墙代理 (xfwp) 信息 man pages: 使用 .BR 标记 man 手册引用 Xserver.man: 允许默认字体路径中出现换行 Xserver.man: 在服务器特定 man 手册列表中添加 Xwayland(1) Xserver.man: 更正可用授权协议列表 xfree86: 使 modeline2c.awk 在 xf86DefModeSet.c 末尾放置换行符 test: 移除函数后多余的分号 modesetting: 修复 XF86ModuleVersionInfo 初始化中的拼写错误 test: 移除多余的返回 os: 移除未使用的 BUGADDRESS 定义 render: miindex.c 不需要头文件保护宏 mi: 使用位计数函数的通用实现 man pages: 去除尾随空格 man pages: 移除多余的 PP 宏 XWin.man: 修复字体更改转义中的拼写错误 man pages: 单个参数时不要使用 .BI 宏 Xephyr.man: 使用 \- 获取 ASCII 连字符而非 Unicode 破折号 重新导出 Ones() xf86bigfont: 修复 -Wimplicit-function-declaration 错误 ci: 在一组构建中启用 xf86bigfont xf86bigfont: 修复 -Werror=unused-variable 构建失败 xfree86: 使用 gcc -Wpedantic 修复构建 ci: 在启用大多数选项和禁用大多数选项的情况下运行构建 Xace: 当 xace 禁用时提供新钩子函数的定义 dix: 使用 meson -Dxace=false -Dwerror=true 修复构建 meson: 如果 xace 禁用则不构建 xselinux modesetting: 当 pciaccess 或 udev_kms 禁用时修复构建 xwayland: 修复 xace 禁用时的构建 modesetting: 当 glx 禁用时修复 modesetting 符号测试 meson.build: 在输出我们正在构建的哪个 ddx 中包含 Xephyr panoramix: 避免 PanoramiXMaybeAddDepth() 中的空指针解引用 panoramix: 避免 PanoramiXConsolidate() 中的空指针解引用 test: 为 os/xsha1.c 中的 x_sha1_* 函数添加单元测试 os: 使用 OpenSSL 3 构建时使用 EVP API xfree86: 修复在 64 位 Solaris/SPARC 系统上的 meson 构建 xfree86: 为在 Solaris/SPARC 上构建 sun_init.c 添加缺失的头文件 meson: 如果启用了 shmfence 但未启用 dri3 和 xwayland 则修复构建 xfree86: 修复 SPARC Sbus 探测代码中的 -Wdiscarded-qualifiers 警告 从源文件中去除尾随空格 Xext/shm: 避免 ShmInitScreenPriv() 中的空指针解引用 Xext/sync: 如果 SysCounterGetPrivate() 返回 NULL 则避免空指针解引用 Xext/sync: 避免 init_system_idle_counter() 中的空指针解引用 Xext/sync: malloc() 失败时避免解引用无效指针 Xext/vidmode: 如果 VidModeCreateMode() 分配失败则避免空指针解引用 Xext/xres: 避免 ProcXResQueryClients() 中的空指针解引用 Xext/xselinux: 为 ProcSELinuxListSelections() 添加快速路径 Xext/xselinux: 避免 SELinuxAtomToSID() 中的内存泄漏 Xext/xtest: 避免 ProcXTestFakeInput() 中的空指针解引用 Xi: 如果 wOtherInputMasks() 返回 NULL 则避免空指针解引用 Xi: 在 CopySwapKbdFeedback() 中设置 led_values 的值 Xi: 处理 ProcXGetDeviceDontPropagateList() 中的分配失败 Xi: 处理 ProcXListInputDevices() 中的分配失败 Xi: 处理 add_master_func() 中的分配失败 dix: 处理 DeviceFocusEvent() 中的分配失败 dix: 如果 wOtherInputMasks() 返回 NULL 则避免空指针解引用 dix: 断言要交换的缓冲区大小是交换大小的倍数 dix: 处理 ChangeWindowDeviceCursor() 中的分配失败 dix: 避免 ProcListProperties() 中的内存泄漏 dri: 防止 dri3_fd_from_pixmap 中的越界读取 glamor: 处理 GetPictureScreenIfSet() 可能返回的 NULL glamor: 处理 glamor_create_pixmap() 中的分配失败 glamor: 消除 glamor_validate_gc() 中的误报 glamor: 处理 glamor_largepixmap.c 中的分配失败 glamor: 避免 glamor_dash_setup() 中的空指针解引用 glamor: 避免 glamor_composite_clipped_region() 中的空指针解引用 glamor: 避免 glamor_make_pixmap_exportable() 中的双重释放 创建 SECURITY.md 文件 dix: ChangeGCXIDs() 中 XID 查找失败时正确设置 errorValue os: 使 FormatInt64() 正确处理 LONG_MIN xfree86: 移除残留的 ev56.c 源文件 gitlab CI: 将主分支添加到 check-commits 的例外列表 xfree86: 如果配置中列出了过多的时钟条目则发出错误 os: 添加通用 -verbose 选项,而非让每个服务器添加自己的选项 os: 修复使用 Nettle 4.0 时的 sha1 构建错误 ephyr: 在 Xephyr man 手册中添加 -title ephyr: 在 Xephyr man 手册中添加 -name ephyr: 在用法输出中显示 -name 和 -title 接受非可选参数 CI: 更新 cross-prereqs-build.sh 中 freetype 和 font/util 的 URL CI: 更新到 libX11 1.8.2 并在 cross-prereqs-build 中移除 -fcommon 变通方案 os: 在 xserver_poll.h 中的 mingw 上使用 winsock2.h 定义 os: 在 ospoll.c 中包含 CI: 将 debian 镜像从 bullseye (11) 更新到 bookworm (12) meson: 添加 install_tags 到 meson 无法自行猜测的文件 meson: 将 join_paths() 替换为 / 操作符 xf86: 修复 platform_noop.c 中的热插拔头文件包含 CI: 在 whitespace-check.py 中捕获 UnicodeDecodeError glx: 避免 validGlxFBConfigForWindow() 中的空指针解引用 Xvfb: 处理 vfbInstallColormap() 中的分配失败 fb: 消除 fbOverlayCopyWindow() 中的 -Wanalyzer-out-of-bounds 警告 os: 处理 set_font_authorizations() 中的内存分配失败 os: 处理 get_mcast_options() 中的内存分配失败 present: 防止 present_create_notifies() 中的内存泄漏 randr: 处理 ProcRRGetOutputInfo() 中的 -Wanalyzer-null-dereference randr: 处理 ProcRRListProviderProperties() 中的 -Wanalyzer-null-dereference randr: 处理 ProcRRGetScreenInfo() 中的 -Wanalyzer-null-dereference render: 处理 AllocateGlyphHash() 中的 -Wanalyzer-null-dereference tests: 修补 compute_expected_damage() 中的结果泄漏 tests: 处理 damage/primitives.c 中的 -Wanalyzer-possible-null-dereference xf86: 从默认的 Intel 驱动程序列表中删除不再需要的条目 xkb: 处理 XkbDDXLoadKeymapByNames() 中的 -Wanalyzer-null-dereference xkb: 在 InitKeyboardDeviceStructInternal() 错误路径中修补内存泄漏 meson: 适当时为 xtrans 定义 BSD44SOCKETS 和 LOCALCONN meson: 将最低支持版本提高到 meson 1.0.0 dix: 修复版权通知中的 Collabora 名称 COPYING: 删除已移除 SCO 代码的版权和许可通知 COPYING: 删除已移除 USL 代码的版权和许可通知 COPYING: 删除已移除非 evdev 输入驱动程序的版权 COPYING: 删除已移除的 xf8_16bpp 覆盖模块的版权 COPYING: 删除已移除 dlloader 代码的版权和许可通知 COPYING: 删除已移除 glxvisuals.c 的版权和许可通知 COPYING: 删除已移除 DMX 代码的版权和许可通知 COPYING: 删除已移除 xorgcfg 代码的版权和许可通知 COPYING: 删除已移除 assyntax.h 的版权和许可通知 COPYING: 删除已移除 mibstore.h 的版权和许可通知 COPYING: 删除已移除 kdrive linux 后端的版权和许可通知 COPYING: 删除已移除 SysV os-support 代码的版权和许可通知 COPYING: 删除已移除 extmod 代码的版权和许可通知 COPYING: 删除已移除 lnx_font.c 的版权和许可通知 COPYING: 删除已移除 DMX 输入驱动程序的版权和许可通知 COPYING: 删除已移除 kdrive 和 cw 代码的版权和许可通知 COPYING: 删除已移除 fbmmx.[ch] 文件的版权 COPYING: 删除已移除 fbcompose.c 的版权和许可通知 COPYING: 删除已移除 kdrive AGP 代码的版权 COPYING: 删除 Xquartz 中已移除 Darwin 代码的版权 COPYING: 删除已移除 i2c 多媒体模块的版权和许可通知 COPYING: 移除对 BSD tsort 代码的致谢 COPYING: 为 os/xserver_poll.c 添加 BSD-3-clause 许可 COPYING: 为 config/fdi2iclass.py 添加另一个 MIT 变体 COPYING: 为 hw/xfree86/parser/InputClass.c 添加另一个 MIT 变体 COPYING: 为 os/timingsafe_memcmp.c 添加 ISC 许可 COPYING: 为 hw/xfree86/common/modeline2c.awk 添加 BSD-2-clause 许可 COPYING: 为 glxvnd 服务器模块添加 NVIDIA/Khronos 许可 COPYING: 更新剩余现有许可的版权日期/持有者 COPYING: 排序许可 test/pyxtest: 添加 SO_PEERCRED 的 Solaris 等效项 test/pyxtest: 添加 ProcXIChangeCursor 窗口为 None 的测试 CI: 将 FreeBSD 镜像从 14.2 更新到 15.1 CI: 将 debian 镜像更新到 libpciaccess 0.19 xfree86: 将 pci_device_is_boot_display() 回退移到非导出头文件 xfree86: 更正 AllowForceTerminate 选项设置的标志 meson: 将 fixesproto 所需版本从 6.0 提高到 6.1 xkb: 修复 _XkbCopyGeom() 中的 -Wcalloc-transposed-args 警告 xf86: 防止将 NULL 指针作为 strcpy 目标传递 xf86: 防止将 NULL 指针作为 strcat() 目标传递 xf86: 消除解析器中的 -Wanalyzer-possible-null-dereference 警告 test: 消除 strndup 测试中的 -Wanalyzer-null-argument 警告 exa: 消除来自 gcc 16 的 -Wold-style-declaration 警告 xf86: 处理 DoSubstitution() 中的 malloc 失败 处理来自 gcc 16.1 的 -Wimplicit-fallthrough 警告 Alexander Melnyk (1): xkb: 修复多个键盘间锁定/锁定指示器不同步的问题 Andy Myers (2): xvfb: 添加多 CRTC 支持 xvfb: 扩展 -crtcs 以接受可选大小 (N at WxH) Ben Skeggs (1): xfree86: 在 GeForce 8 及更新型号上默认使用 modesetting 驱动程序 Benjamin Valentin (1): xf86: 在 xf86CompatOutput() 中检查 XF86_CRTC_CONFIG_PTR 的返回值 Bjarni Ingi Gislason (8): xorg.conf.man: 省略号中未加保护的句点 xorg.conf.5: 手册中的一些格式和文字更正 Xserver.man: 一些微小的标记更改 Xserver.man: 修复一些文本和格式问题 Xserver.man: 一些手册编辑修复 Xserver.man: 一些针对此手册页的备注和编辑更改 exa.man: 针对此手册页的编辑更改 inputtestdrv.4: 针对此手册页的编辑更改 Chenx Dust (1): xwayland: 修复 `xwl_glamor_gbm_init_main_dev` 中的段错误 Christian Göttsche (2): selinux: 在策略加载时重新映射安全类别 selinux: 仅为 avc 和错误消息生成审计事件 Demi Marie Obenour (3): 实现 XFixes 6.1 在 xorg.conf 中添加 AllowForceTerminate 当 ForceTerminate 被阻止时添加日志消息 Diego Viola (3): 修复拼写错误 恢复 "Avance Logic" 的正确拼写 全树修复拼写错误 Dongwon Kim (1): modesetting: 调度完成后清空损害 Doug Brown (1): dri2: 防止 dri2ClientPrivate 断言失败 Doug Johnson (1): os: 回溯: 修复 32 位目标上的 -Wincompatible-pointer-types 编译器错误 Dr. David Alan Gilbert (1): xkb: 死代码清理 Edênis Freindorfer Azevedo (1): 支持 `XDG Base Dir Spec 0.8` Enrico Weigelt, metux IT consult (311): xfree86: os-support: 清理 SVR3/sysv 支持残留 xfree86: os-support: 移除 Solaris pre-7 残留 xfree86: os-support: 将 _NEED_SYSI86 保护的块移到 sun_vid.c xfree86: vgahw: 移除过时的 _NEED_SYSI86 present: present_scmd: 移除过时的包含 m4: 移除 autoconf 残留 os: connection: 移除过时的定义 Pid_t xnest: Display: 修复 xallocarray() 编译器警告 Xnest: 忽略 NoExpose 事件 Xnest: 规范化包含 Xnest: 清理 X.h 包含 Xnest: 在警告未处理的上游事件时打印事件 ID xfree86: x86emu: 从 debug.h 中移除不必要的 extern C xfree86: x86emu: 修复 debug.h 中缺失的 Xfuncproto.h 包含 include: 将 busfault.h 移出公共包含目录 include: gc.h: 移除未使用的定义 os: 取消导出 xthread_sigmask os: 取消导出 OsLookupColor() os: 取消导出 OsVendorVErrorFProc 指针 dix: 将 closestr.h 移到 dix 目录以防止在 Windows 上与 RT_* 定义冲突 dix: 避免在 win32 上 CreateWindow() 名称冲突 ```

相似文章

Xorg-Server 26.0.99.901

Hacker News Top

xorg-server 26.1.0 的首个发布候选版本已发布,带来多项更新,如移除 autoconf/automake 构建系统、新增显示特性,以及修复了 Xorg 和 Xwayland 等多个服务器的错误。

Xfwl4 的首个预览版发布

Lobsters Hottest

Brian Tarricone 宣布推出 xfwl4 的首个预览版,这是 Xfce 的 Wayland 合成器,经过了六个月的工作,详细说明了已知缺失的功能和未来计划。

XLibre XServer 25.2 发布

Lobsters Hottest

社区管理的 X Window System 显示服务器 XLibre XServer 25.2 已发布,默认启用 TearFree 模式设置,支持 Nvidia 驱动程序,并通过 seatd 进行席位管理。

多用户 Wayland 现状

Lobsters Hottest

对 Linux Wayland 合成器和库中多座位(多个鼠标/键盘)支持的深入调查,并提供了已发布的工具和补丁以改善多用户计算。