diff --git a/docs/components/manager.md b/docs/components/manager.md index bcb51f2..56cfa4c 100644 --- a/docs/components/manager.md +++ b/docs/components/manager.md @@ -27,8 +27,8 @@ modavd [--root <目录>] [--json] [--quiet] [--verbose] <命令> [参数] | --- | --- | | `list` | 全部实例和状态 | | `info ` / `status ` | 一台实例的详细信息 / 状态 | -| `create [--index N] [--title T] [--memory 6G] [--cpu N] [--data-gb N] [--fps 30\|60] [--no-bridge]` | 新建。默认带 arm64 执行桥,第一次开机时装上 | -| `set [--title T] [--memory M] [--cpu N] [--fps F] [--data-gb N]` | 修改,下次开机生效。`--data-gb` 只能改大,游戏数据不动 | +| `create [--index N] [--title T] [--memory 6G] [--cpu N] [--data-gb N] [--fps 30\|60] [--resolution 1080\|720] [--no-bridge]` | 新建。默认带 arm64 执行桥,第一次开机时装上 | +| `set [--title T] [--memory M] [--cpu N] [--fps F] [--resolution 1080\|720] [--data-gb N]` | 修改,下次开机生效。`--data-gb` 只能改大,游戏数据不动 | | `delete --yes` | 删除已关机的实例,连同游戏数据 | | `start [--window] [--timeout 300] [--no-bridge]` | 开机,等开完并做完开机后的设置 | | `stop [--force]`、`stop --all` | 关机:先让安卓正常关机,不成再 sync + kill;`--force` 是 sync + 强杀 | @@ -45,6 +45,10 @@ modavd [--root <目录>] [--json] [--quiet] [--verbose] <命令> [参数] 机读输出(`--json`)、退出码和完整的选项说明见 [ModAVDManager 的 README](https://github.com/ModAVD/ModAVDManager#命令行)。 +分辨率在管理器的新建和实例设置中选择,CLI 用 `--resolution 1080|720`,MCP 的 `create_instance`、`update_instance` 用 `resolution`。新建默认 1080p(1920×1080 / DPI 280);720p(1280×720 / DPI 240)更省资源。换档联动宽、高、DPI,保留横竖屏,下次开机生效。已有横屏或竖屏 1920×1080 配置保持 1080p;其余配置及缺字段的旧配置保持 720p,不会自动升级。DPI 不单独设置。自动化工具里的分辨率也要跟着改。 + +AUTO-MAS 的两档配套见 [AUTO-MAS#1837](https://github.com/AUTO-MAS-Project/AUTO-MAS/pull/1837),覆盖新建、实例设置和没有包内 CLI 时的 Python 启动,重启保留所选档位。使用 1080p 前须更新 AUTO-MAS 及包内 CLI;不支持两档的旧 CLI 会在写盘前提示升级。旧版 AUTO-MAS 的 Python 回退仍会固定写回 720p。 + ## MCP ``` diff --git a/docs/develop/adapt-game.md b/docs/develop/adapt-game.md index 2a69b9e..ed60fb7 100644 --- a/docs/develop/adapt-game.md +++ b/docs/develop/adapt-game.md @@ -34,7 +34,7 @@ | 原因 | 先试(不用重新编译) | 真要改的话改哪 | |---|---|---| | 只有 arm64,崩在转译层或刚启动就退 | 让执行桥临时对它生效:先确认实例装好了桥,再 `shell su 0 setprop modavd.gate.target <包名>`,然后冷启动游戏。这个属性会整体替换名单,不持久,客体重启就没了。看 logcat 里有没有 `shim-ctor OK`、游戏能不能过 | 能过:PR 把包名加进 `bridge/companion/jni/native_to_guest_companion.cc` 的 `kDefaultGateTargets`。还是不行:这是转译层和执行桥的深水区,开 issue 附上 tombstone 和启动 logcat | -| 图形:黑屏、花屏、Vulkan 报错、设备丢失 | 两个默认关闭的环境变量开关(`ANDROID_EMU_VK_HIDE_REBAR=1`、`ANDROID_EMU_VK_ASTC_BC3=1`,见[和官方模拟器有什么不同](../guide/changes#graphics));换分辨率(720p / 1080p 两档);排查时可以用 `modavd bridge <编号> uninstall` 卸桥对比,卸桥会把 GL 传输恢复成原来的 | 模拟器本体的 gfxstream 补丁,见[模拟器本体](./emulator) | +| 图形:黑屏、花屏、Vulkan 报错、设备丢失 | 两个默认关闭的环境变量开关(`ANDROID_EMU_VK_HIDE_REBAR=1`、`ANDROID_EMU_VK_ASTC_BC3=1`,见[和官方模拟器有什么不同](../guide/changes#graphics));在实例设置里换分辨率(1080p / DPI 280、720p / DPI 240 两档,下次开机生效);排查时可以用 `modavd bridge <编号> uninstall` 卸桥对比,卸桥会把 GL 传输恢复成原来的 | 模拟器本体的 gfxstream 补丁,见[模拟器本体](./emulator) | | 卡顿、掉帧 | 按[卡顿、掉帧怎么查](./performance)先找到瓶颈在哪条线程、哪一段;再对比几个现成的开关:GL 传输 asg / pipe、`ANDROID_EMU_VK_HIDE_REBAR=1`、Vulkan 特性开关 | 瓶颈在图形往返:改本体的 gfxstream;在转译:开 issue 讨论;在游戏主线程本身:先接受,或调低画质 | | 检测到模拟器、root,或进游戏后被踢 | — | 不做。ModAVD 不绕过游戏的保护,也不改游戏文件。记下提示原文,开 issue 说明情况就行 | | 网络请求超时、热更新失败 | 换网络;查游戏数据目录里有没有 0 字节的文件(硬杀留下的) | 一般不在 ModAVD 里改 | diff --git a/docs/en/components/manager.md b/docs/en/components/manager.md index 0475e6b..b906c71 100644 --- a/docs/en/components/manager.md +++ b/docs/en/components/manager.md @@ -27,8 +27,8 @@ modavd [--root ] [--json] [--quiet] [--verbose] [args] | --- | --- | | `list` | All instances and their status | | `info ` / `status ` | Detailed information / status of one instance | -| `create [--index N] [--title T] [--memory 6G] [--cpu N] [--data-gb N] [--fps 30\|60] [--no-bridge]` | Create an instance. It includes the arm64 execution bridge by default, installed on the first boot | -| `set [--title T] [--memory M] [--cpu N] [--fps F] [--data-gb N]` | Change settings; they take effect on the next start. `--data-gb` can only grow the disk; game data is untouched | +| `create [--index N] [--title T] [--memory 6G] [--cpu N] [--data-gb N] [--fps 30\|60] [--resolution 1080\|720] [--no-bridge]` | Create an instance. It includes the arm64 execution bridge by default, installed on the first boot | +| `set [--title T] [--memory M] [--cpu N] [--fps F] [--resolution 1080\|720] [--data-gb N]` | Change settings; they take effect on the next start. `--data-gb` can only grow the disk; game data is untouched | | `delete --yes` | Delete a shut-down instance together with its game data | | `start [--window] [--timeout 300] [--no-bridge]` | Start, then wait until boot is complete and the post-boot setup is done | | `stop [--force]`, `stop --all` | Shut down: first ask Android for a clean shutdown; if that fails, sync + kill. `--force` is sync + force-kill | @@ -45,6 +45,10 @@ modavd [--root ] [--json] [--quiet] [--verbose] [args] For machine-readable output (`--json`), exit codes and the full option reference, see [the ModAVDManager README](https://github.com/ModAVD/ModAVDManager/blob/main/README.en.md#command-line). +Choose the display preset in the manager’s create or instance settings form, with CLI `--resolution 1080|720`, or with MCP `resolution` in `create_instance` and `update_instance`. New instances default to 1080p (1920×1080 / DPI 280). 720p (1280×720 / DPI 240) uses fewer resources. Changing the preset updates width, height and DPI together, preserves orientation, and takes effect at the next boot. Existing landscape or portrait 1920×1080 configurations stay at 1080p; other configurations, including missing dimensions, stay at 720p. DPI is not a separate option. Update your automation tool’s resolution as well. + +[AUTO-MAS#1837](https://github.com/AUTO-MAS-Project/AUTO-MAS/pull/1837) adds both presets to creation, instance settings and the Python launch path used when no packaged CLI is present. The selected preset survives restarts. Update AUTO-MAS and the packaged CLI before using 1080p; a CLI without preset support reports that an update is needed before it can change the configuration. Older AUTO-MAS versions still force 720p in the Python launch path. + ## MCP ``` diff --git a/docs/en/develop/adapt-game.md b/docs/en/develop/adapt-game.md index f2f6171..90ae669 100644 --- a/docs/en/develop/adapt-game.md +++ b/docs/en/develop/adapt-game.md @@ -34,7 +34,7 @@ Try approaches that need no recompiling first, and settle the direction before y | Cause | Try first (no recompiling) | Where to change it if you really have to | |---|---|---| | arm64-only; crashes in the translation layer or exits right after launch | Make the execution bridge take effect for it temporarily: first make sure the instance has the bridge installed, then run `shell su 0 setprop modavd.gate.target `, then cold-start the game. This property replaces the whole list, is not persistent, and is gone when the guest restarts. Check logcat for `shim-ctor OK` and whether the game gets through | If it gets through: send a PR that adds the package name to `kDefaultGateTargets` in `bridge/companion/jni/native_to_guest_companion.cc`. If it still fails: this is the deep end of the translation layer and the bridge; open an issue with the tombstone and the launch logcat | -| Graphics: black screen, garbled picture, Vulkan errors, device lost | Two environment-variable switches that are off by default (`ANDROID_EMU_VK_HIDE_REBAR=1`, `ANDROID_EMU_VK_ASTC_BC3=1`; see [How ModAVD differs from the official emulator](../guide/changes#graphics)); change the resolution (two levels, 720p / 1080p); while investigating, you can uninstall the bridge with `modavd bridge uninstall` to compare, and uninstalling the bridge restores the GL transport to what it was | The emulator's gfxstream patches; see [the emulator itself](./emulator) | +| Graphics: black screen, garbled picture, Vulkan errors, device lost | Two environment-variable switches that are off by default (`ANDROID_EMU_VK_HIDE_REBAR=1`, `ANDROID_EMU_VK_ASTC_BC3=1`; see [How ModAVD differs from the official emulator](../guide/changes#graphics)); change the resolution in instance settings (1080p / DPI 280 or 720p / DPI 240, effective at the next boot); while investigating, you can uninstall the bridge with `modavd bridge uninstall` to compare, and uninstalling the bridge restores the GL transport to what it was | The emulator's gfxstream patches; see [the emulator itself](./emulator) | | Stutter and frame drops | Use [How to investigate stutter and frame drops](./performance) to find out which thread and which stage the bottleneck is in; then compare a few existing switches: GL transport asg / pipe, `ANDROID_EMU_VK_HIDE_REBAR=1`, and the Vulkan feature flags | If the bottleneck is the graphics round trip: change the emulator's gfxstream. If it is in translation: open an issue to discuss it. If it is in the game's own main thread: accept it, or lower the quality | | The game detects the emulator or root, or kicks you out after you enter the game | — | Do not do anything. ModAVD does not bypass the game's protection and does not change game files. Note the exact message text and open an issue describing the situation | | Network request timeout, hot update fails | Switch networks; check the game's data folder for 0-byte files (left behind by a hard kill) | Usually not something to change in ModAVD |