mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[Docs] (P12): the FCL fork's keep-running setting is committed and pushed
This commit is contained in:
@@ -38,7 +38,7 @@ Android 上的 server 应用自己开一个全屏窗口,把收到的渲染流
|
||||
- 出口门 A、B 都过;契约 [`MG_Remote/CONTRACT-P12.md`](../../MobileGL/MG_Remote/CONTRACT-P12.md) 已写;`gate.sh` 的 G1 只在同机基线上比较;G1 在 Arch 上成立(pull 构建 `.text` 与基线同为 `0xa52203`,符号增 0 减 0)。
|
||||
- 没做、转入 [`notes/DEBTS.md`](notes/DEBTS.md):DirectGLES 去全局、freezer、多 context、D8 窗口种类白名单、TLS。
|
||||
- 收官审查:用户裁定不派 agent / Codex;契约断言由本人对照代码核过。
|
||||
- FCL fork 的「游戏退到后台时不暂停」改动在 FCL 仓库,**未提交**(父仓库在合并冲突中)。
|
||||
- FCL fork 的「游戏退到后台时不暂停」在 FCL 仓库,已提交并推送(`Swung0x48/FoldCraftLauncher` 的 `merge-upstream-surfaceview`,`241471515`)。
|
||||
|
||||
## 下一步
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
| E1 对照的重定义(ID-122) | 无主(开放问题 24) |
|
||||
| `MOBILEGL_IPC_IDLE_EXIT_S` 未解析;`CONTRACT-P6.md` 仍把 `DynamicBackendParameters` 定宽记在 P7 名下(已由 P6.5 wf 落地) | 文档 / 小修 |
|
||||
| P12 未做(2026-09-29 收官时转入):DirectGLES `g_Display` / `g_Surface` / `g_Context` 仍是全局(每进程一个会话时不需要);cached-app freezer 的完整处理(文档从未定义);多 context;D8 窗口种类白名单(X11 / Win32Hwnd / None 仍被接受并把 token 强转为指针);TLS;server 窗口不转发输入;修后的横屏 server 窗口未重测 | 无主;D8 等 Windows / X11 client,其余等出现第二个会话 / 第二个 context 的需求 |
|
||||
| FCL fork 的版本设置「游戏退到后台时不暂停」未提交(父仓库在合并冲突中:`FCLauncher.java` 为 `UU`,`.gitmodules` 已暂存) | 用户处理父仓库合并后提交 |
|
||||
| 树外脚本:普查跑器、`wsl_p5_gate.sh` 等在 `~/w7/notes/`,git merge 不会传播 | 需要时入库 |
|
||||
| 临时 CI trigger | 合入 `dev` 前删除 `test.yml` / `apk.yml` 的 `feat/disaggregated` 触发器 |
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
1. **FCL 一退后台游戏就暂停。** FCL 的界面离开前台时,SDL 被切到 PAUSED,GLFW 的 focused / visible 也被撤销,渲染线程停住;而 server 窗口要在屏幕上就必须把 FCL 切到后台。
|
||||
FCL fork 里新增版本设置 **「游戏退到后台时不暂停」**(`keepRunningInBackground`,默认关,在版本设置的渲染组里):开启后强制用 TextureView 并让系统别销毁它的 SurfaceTexture
|
||||
(SurfaceView 在界面不可见时会被销毁,游戏拿着失效窗口会报 `Failed to create backend OpenGL/Vulkan`),界面离开前台时不通知 SDL 暂停、不撤销 GLFW 焦点。
|
||||
改动在 FCL 仓库(`JVMActivity`、`VersionSetting`、`VersionSettingAdapter`、`LauncherHelper`、三份 strings),**尚未提交**(父仓库处于合并冲突状态)。
|
||||
改动在 FCL 仓库(`JVMActivity`、`VersionSetting`、`VersionSettingAdapter`、`LauncherHelper`、三份 strings),已提交并推送(FCL 仓库 `merge-upstream-surfaceview`,`241471515`)。
|
||||
2. **FCL 的默认 spawn(游戏进程派生 server 子进程)走不通,只能接外部 render server。** FCL 把自己的窗口指针发给 server,server 按 P12 设计具名拒绝
|
||||
(`Fatal{UnmigratedSurface, "AndroidNativeWindow@P12"}`),client 随即 device-lost。
|
||||
3. **修了一个日志洪水。** device-lost 之后每个被 DECLINED 的 verb 都打一行 ERROR(`…woke on a dead doorbell; the server is gone`),FCL 里 48 秒 113,080 行、几千行/秒。
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
| 项 | 处置 |
|
||||
|---|---|
|
||||
| in-process server 的 `unix:` 监听 | ✅ 已做(`c16fb5a8a`) |
|
||||
| FCL env 与 plugin APK 开关表接线 | ✅ FCL 走 `/sdcard/FCL/mg_env.txt`;plugin / trace 两个 APK 都带 Render Server 屏与二进制(`1987bdff5`);FCL fork 新增版本设置「游戏退到后台时不暂停」(FCL 仓库,未提交) |
|
||||
| FCL env 与 plugin APK 开关表接线 | ✅ FCL 走 `/sdcard/FCL/mg_env.txt`;plugin / trace 两个 APK 都带 Render Server 屏与二进制(`1987bdff5`);FCL fork 新增版本设置「游戏退到后台时不暂停」(FCL 仓库,已提交 `241471515`) |
|
||||
| DirectGLES `g_Display` / `g_Surface` / `g_Context` 去全局 | 不做:每进程一个会话时不需要 → [`DEBTS.md`](../DEBTS.md) |
|
||||
| cached-app freezer 的完整处理 | 不做:文档从未定义它;FCL 后台暂停的实测答案见契约 → DEBTS |
|
||||
| 多 context | 不做(同上)→ DEBTS |
|
||||
|
||||
Reference in New Issue
Block a user