功能:完善2K串流、显示恢复与输入优化
This commit is contained in:
1 parent
e47b01beec
commit
938ec97cce
95 files changed
+5788
-72
No files matched your search
@@ -0,0 +1,67 @@
|
||||
# Moonlight 客户端渲染 profile
|
||||
|
||||
## 目的
|
||||
|
||||
统一 `kiosk-shell` 产品入口与现场调试入口的 Moonlight 呈现参数,避免测试时只改了
|
||||
`vdi-moonlight` 脚本而正式页面仍使用另一套 VSync、Frame Pacing 和解码器配置。
|
||||
|
||||
代码默认 profile 是 `smooth`;RK3528现场在硬解与EGL验证通过后,通过render.conf
|
||||
选择了 `low-latency` 和2K30。软件基线和其他未验证设备仍使用smooth。
|
||||
不把关闭同步当成通用修复,现场对照与风险见 `rendering-execution-20261102.md`。
|
||||
|
||||
## 产品入口环境变量
|
||||
|
||||
这些变量由 `kiosk-shell` 和 `vdi-moonlight` 调试启动器读取,重启串流进程后生效:
|
||||
|
||||
```text
|
||||
VDI_STREAM_PROFILE=smooth # 默认,VSync + Frame Pacing
|
||||
VDI_STREAM_PROFILE=low-latency # 关闭 VSync + Frame Pacing,减少呈现等待
|
||||
VDI_STREAM_PROFILE=diagnostic # smooth + Moonlight 性能叠图
|
||||
VDI_STREAM_STATS=1 # 独立开启叠图,可同时比较smooth和low-latency
|
||||
VDI_MOONLIGHT_DECODER=software # 系统客户端默认;RKMPP现场配置使用 hardware
|
||||
VDI_MOONLIGHT_CODEC=H.264 # 当前默认,先不切换 HEVC/AV1
|
||||
VDI_MOONLIGHT_PROGRAM=... # 可指定独立构建的Moonlight启动器,不覆盖系统二进制
|
||||
VDI_SDL_FORCE_EGL=1 # 仅现场验证 SDL X11 EGL 时设置
|
||||
VDI_SDL_VIDEODRIVER=wayland # 仅实验;正式入口的X11窗口激活逻辑尚需适配
|
||||
```
|
||||
|
||||
每次会话启动时,最终 profile、解码器、编解码器、同步开关、SDL renderer 和完整参数
|
||||
会写入 `~/vdi-terminal/logs/moonlight-YYYYMMDD.log` 的 `[VDI launch]` 段落。
|
||||
|
||||
## A/B 顺序
|
||||
|
||||
1. 先恢复并确认 Sunshine 使用 `h264_nvenc`,否则客户端 A/B 不能说明服务端问题已经解决。
|
||||
2. 1080p60:比较 `smooth` 与 `low-latency`,两组都设置 `VDI_STREAM_STATS=1` 收集 queue/render/jitter。
|
||||
3. RK3528 硬解与 EGL/GLES 现场路径已验证;后续仍需单独完成 2K60 验收,不能由 2K30 结果推断。
|
||||
4. 任何 profile 都必须保留 `--absolute-mouse`;当前已解决的双光标行为不应回退。
|
||||
|
||||
## GPU 重启故障边界
|
||||
|
||||
`gpu-restart-diagnosis-20261102.md` 已确认当前没有经过验证的重启后软件恢复办法。profile
|
||||
只改变客户端呈现,不会修复 Windows Code 43、NVML 失败或 Sunshine 回退 `libx264`。
|
||||
GPU 修复仍需设备厂商提供匹配的 GM204M/13D9 生产版 vBIOS,并在维护窗口内按验收标准
|
||||
重复验证 `nvidia-smi`、DXGI、`h264_nvenc` 和 Windows/VM 重启后的持久性。
|
||||
|
||||
## RK3528现场配置与回退
|
||||
|
||||
`~/.config/vdi-terminal/render.conf` 当前内容:
|
||||
|
||||
```ini
|
||||
profile=low-latency
|
||||
stats=0
|
||||
program=/home/armbian/vdi-terminal/bin/vdi-moonlight-rkmpp
|
||||
decoder=hardware
|
||||
codec=H.264
|
||||
```
|
||||
|
||||
Windows桌面卡当前请求2560x1440@30、30Mbps,实际持续动画约23FPS;
|
||||
虚拟屏仍为30Hz。私有构建位于 `~/vdi-build/rkmpp-experiment`,不要删除该目录。
|
||||
目前是用户目录内的POC部署,尚未打包为完整OTA镜像。
|
||||
|
||||
如现场发现关闭同步导致明显撕裂,可先将profile改为smooth,并将桌面卡FPS改回20。
|
||||
如需彻底退回系统客户端,退出串流后将render.conf改名保存,并恢复
|
||||
`desktops.before-rkmpp-20261102.json` 为desktops.json,然后重新启动kiosk受管栈。
|
||||
系统 `/usr/bin/moonlight-qt` 未被覆盖,不需要卸载MPP或替换系统FFmpeg。
|
||||
|
||||
设备访问规则是 `/etc/udev/rules.d/70-vdi-rockchip-video.rules`,限定video组0660;
|
||||
部署工具会安装并重载规则。udev匹配已验证,本轮未重启盒子做重启后串流复验。
|
||||
Reference in new issue
Block a user