mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-09-20 11:33:32 +08:00
fix(chromium): 升级实例后黑屏崩溃循环 —— 强制 device-scale-factor=1
回归根因(v1.3.0 实例镜像重建时 apt 拉到 Chromium 149 引入,非某个 PR 的代码 bug): 较新 Chromium(≥149)在 KasmVNC 尚无客户端连接、Xvnc 分辨率/DPI 为退化值时, device-scale-factor 读成 0 → 合成器算出的显示变换矩阵不可逆(transform.cc NOTREACHED) → GPU/viz 进程连崩 3 次 → "GPU process isn't usable. Goodbye." → 浏览器退出 → autostart 每 2s 重启 → 死循环黑屏(只有鼠标、无窗口)。旧版 Chromium 容忍退化分辨率,149 变严格才暴露。 修复:Chromium 启动加 --force-device-scale-factor=1,强制缩放为 1 使变换矩阵可逆,从根上消除崩溃。 仅影响 Chromium 实例;微信(自带 CEF)与旧镜像不受影响。 验证:新镜像一次性容器(最坏情形:无客户端连接、分辨率退化)下 chromium 30s 零退出、 窗口正常显示(修复前每 2s 崩一次、诊断包里 173/58 次退出)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,8 +15,13 @@ woc_app_def() {
|
||||
# --disable-background-networking:关掉 Chromium 后台 phone-home(GCM 推送 / 组件更新 / 变体下载),
|
||||
# 在受限网络(NAS / 被墙)下这些会反复失败刷屏 "gcm ConnectionHandler failed net error: -2"。
|
||||
# 只影响后台流量,不影响前台网页加载与真实网络错误提示。
|
||||
# 稳定性关键(v1.3.1,修复升级实例后黑屏回归):较新 Chromium(≥149)在本极简容器里,当 KasmVNC 的 Xvnc
|
||||
# 尚无客户端连接时分辨率/DPI 为退化值(xrandr 显示空、device-scale-factor 读成 0)→ 合成器算出的显示变换矩阵
|
||||
# [0 0 0 0; 0 0 0 0; …] 不可逆 → transform.cc NOTREACHED → GPU/viz 进程连崩 3 次 → "GPU process isn't usable.
|
||||
# Goodbye." 整个浏览器退出 → autostart 每 2s 重启 → 死循环黑屏(只有鼠标、无窗口)。旧版 Chromium 能容忍退化
|
||||
# 分辨率,149 变严格才暴露。--force-device-scale-factor=1 强制缩放为 1,使变换矩阵可逆,从根上消除该崩溃。
|
||||
APP_BIN=/usr/bin/chromium
|
||||
APP_LAUNCH="$APP_BIN --no-sandbox --no-first-run --no-default-browser-check --start-maximized --password-store=basic --disable-gpu --disable-background-networking --user-data-dir=/config/chromium"
|
||||
APP_LAUNCH="$APP_BIN --no-sandbox --no-first-run --no-default-browser-check --start-maximized --password-store=basic --disable-gpu --force-device-scale-factor=1 --disable-background-networking --user-data-dir=/config/chromium"
|
||||
APP_NAME=Chromium
|
||||
;;
|
||||
custom)
|
||||
|
||||
Reference in New Issue
Block a user