Skip to content

fix(desktop): Linux 默认禁用 WebKitGTK DMABUF 渲染器,修复启动黑屏 - #1288

Open
linanwanttodo wants to merge 1 commit into
chaitin:mainfrom
linanwanttodo:fix/linux-webkit-dmabuf-black-screen
Open

linanwanttodo wants to merge 1 commit into
chaitin:mainfrom
linanwanttodo:fix/linux-webkit-dmabuf-black-screen

Conversation

@linanwanttodo

Copy link
Copy Markdown

问题

Linux 环境下启动桌面客户端,主窗口弹出但内容持续黑屏(后端引擎 ohmyagent 正常启动,仅渲染层异常)。

实测复现环境:Ubuntu 26.04 + AMD 核显(Ryzen Hawk Point iGPU),官方 AppImage。

根因

WebKitGTK 2.46+ 默认启用 DMABUF 渲染器,在部分 AMD/Intel GPU 与较新 Mesa 组合下渲染进程 (WebKitWebProcess) 首帧异常:窗口黑屏或随机挂死不再重绘。已知问题:tauri-apps/tauri#13498

修复

main() 中、任何 GTK/WebKit 初始化之前设置 WEBKIT_DISABLE_DMABUF_RENDERER=1,强制回退共享内存渲染路径:

  • 紧接现有 GDK_BACKEND 选择块之后,同属 Linux 初始化阶段,不改变 Wayland/X11 会话后端选择逻辑
  • 仅在用户未显式设置该变量时生效(var_os 检查),保留排查调优出口
  • 写法与 tauri 社区对此问题的通行处理一致

验证

同环境实测:不设置该变量时窗口黑屏,设置后窗口正常渲染。临时验证可通过启动前 WEBKIT_DISABLE_DMABUF_RENDERER=1 环境变量确认。

本 PR 未改动 X11/Wayland 后端选择,仅处理 WebKit 渲染路径。

WebKitGTK 2.46+ 在部分 AMD/Intel GPU 上启用 DMABUF 渲染器后,
渲染进程 (WebKitWebProcess) 首帧异常:窗口弹出但内容持续黑屏,
或随机挂死不再重绘。参见 tauri-apps/tauri#13498。

在 main() 中、任何 GTK/WebKit 初始化之前设置
WEBKIT_DISABLE_DMABUF_RENDERER=1,强制回退共享内存渲染路径。
仅在用户未显式设置该变量时生效,不影响排查调优。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant