vdi-cloud/docs/evidence/linux-gpu-20261111/terminal-optimization-summary.md

63 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 补充优化:终端调度对照与无线扫描(2026-11-11 15:43)
本轮保持 2560×1440、45 FPS、客户端请求 25 Mbps、H.264 SDR。两台实际 NvFBC / NVENC 保持有效,未调整原生鼠标样式或移速。没有修改 Windows 来宾的驱动、鼠标、应用或资源配置;为测试按平台流程正常关闭 Windows 并切到 Linux。此次持久调整在共用盒子的网络配置中,因而也影响盒子连接 Windows 时的网络路径。
### 实际保留的调整
盒子三次无线断开记录中有 `reason=34`。15:22:58 断开后,反复尝试同名 2.4 GHz 热点并被拒绝,直到 15:23:25 才恢复 5 GHz。先仅设置 5 GHz,15:30:31 仍断开,15:30:44 恢复;说明限制频段不足以修复断开本身。
进一步将盒子现有 YXTech 配置固定到当前 5 GHz 接入点 `f8:ce:21:a7:b9:50`。NetworkManager 文档说明固定 BSSID 会禁用漫游及后台扫描;此前断开间隔约五分钟,扫描参与问题是推断,尚未证明是唯一根因。Wi-Fi 省电原本已关闭,本轮没有把它记为新增优化。
配置已通过 nmcli 写入 `/etc/netplan/90-NM-9212612f-4dd0-4cf0-a21b-85413c900acf.yaml`,核对 `band: 5GHz` 和 BSSID。每次试验前设置了 90 秒自动回退,重连和 SSH 验证成功后取消回退;没有留下活动回退定时器。配置备份位于盒子 `/var/backups/vdi-wifi-20261111/`,不是 PVE,备份不复制到仓库以免带入无线凭据。
15:32:29—15:43:09 的约 10 分 40 秒观察中,没有再次出现无线断开或关联拒绝,越过两个此前约五分钟的周期。期间主动切换麒麟、Ubuntu并重连,不是同一桌面连续串流十分钟,也不是长期稳定性验收。若移动盒子、更换接入点或该 AP 不可用,需解除 BSSID 限制;本轮没有改路由器。
### 未保留的调度试验
确认 SDL 渲染线程申请高优先级因权限失败。先由 root 仅把当前 Moonlight 的 PacerRender 线程从 nice 0 临时改为 -10,保持普通 TS 调度;未使用 SCHED_FIFO、文件 capabilities、全进程提权或更改用户权限上限。固定接入点后,两台分别在同一连接内顺序 A/B,每类 50 次。表内为 P50 / P95,单位 ms:
| 系统 | PacerRender nice | 悬停回显 | 点击回显(含40ms按住) | 掩码字符回显 |
| --- | ---: | ---: | ---: | ---: |
| Ubuntu | 0 | 122.5 / 141.6 | 173.0 / 195.6 | 83.7 / 120.5 |
| Ubuntu | -10 | 121.7 / 151.0 | 172.8 / 213.7 | 79.1 / 105.9 |
| 麒麟 | 0 | 103.1 / 127.6 | 147.0 / 165.5 | 81.9 / 103.6 |
| 麒麟 | -10 | 101.3 / 121.3 | 146.5 / 172.8 | 86.1 / 99.6 |
悬停及点击中位数没有稳定收益,部分 P95 反而上升,因此两台试验均恢复 nice 0,没有持久化提权。Ubuntu 固定 AP 前另有两轮 A/B,同样没有一致收益;被断网打断的 A2、B2 与麒麟第一次 B 不计为完整结果。不能把警告消失或某一类输入的单轮改善解释为整体延迟降低。
### 功能与呈现复查
| 系统 | 拖动回显 P50 / P95(ms) | 观察到的新位置更新/秒 | 输入验证 |
| --- | ---: | ---: | --- |
| Ubuntu | 90.9 / 109.8 | 35.4 | 300 次末位置可见,松键成功 |
| 麒麟 | 84.4 / 106.9 | 37.2 | 300 次末位置可见,松键成功 |
以上为 XTest 输入至首次观察到唯一解码标记,排除实体 USB 鼠标和屏幕扫描;更新/秒是 60 Hz 拖动下采样到的独特位置,不等于解码或显示帧率。GTK 的合成页面提交没有业务后端,不能代表真实密码认证或应用启动耗时。
Ubuntu 在来宾内部另测本地 X11 标记,悬停中位数约 21 ms、点击约 78 ms(含40ms按住)、掩码字符约 5 ms,每类30次。它与盒子端测量路径不同,只用于区分来宾处理与串流路径,不将差值当作可直接消除的延迟。
结束前的 Ubuntu 单会话统计:接收/解码约45.03 FPS、呈现44.18 FPS、平均网络6 ms(variance栏1 ms)、解码7.67 ms、排队4.62 ms。麒麟对应会话呈现43.85 FPS。无线条件不恒定,不能将这几次统计差异全归因于固定 AP。network jitter 栏还包含客户端丢弃旧帧,不能全当无线丢包。
Ubuntu 再次退出和重连后,三处背景检查均未发现视频内重复箭头,仍有24×24的本地原生光标。临时 GTK 参考窗口已停止,桌面实际截图核验通过。
### 深层显示链路和边界
盒子仍是 RKMPP 硬解、DRM PRIME / EGL 呈现。现场 GPU 约800 MHz、90%—93%负载,不能承诺真2K60。部署源码明确要求 DRM master 才能直接设置显示 plane;现有原生光标实现也显式要求 X11。改成 DRM 直出需要同时完成 VT/显示所有权、光标后端、退出恢复及快捷键验证。本轮没有停掉 X11 或把“Direct rendering disabled”当成一个可随意开启的选项;没有声称已实现新的直接扫描输出或完全零拷贝链路。
本轮主要消除已观察到的无效频段重试并测试固定 AP 的短期稳定性,尚未证明 Ubuntu/麒麟全部交互延迟与 Windows 相同。继续提高 CPU 核数不能解决盒子 GPU 呈现吞吐和无线驱动/AP层问题。两小时/八小时、物理相机延迟及统一真实业务场景验收仍未完成。
### 收尾与回退
仅 Ubuntu VM102 运行并留在盒子上,Windows、麒麟停止;宿主未重启,共享 GPU 钩子和三台 VM 配置未改。Ubuntu 双光标修复、麒麟原有合成设置均保留。PacerRender / InputSend / FFDecoder 最终均为 nice 0、TS。
在盒子上解除本轮网络限制(会短暂断网):
```sh
sudo nmcli connection modify uuid 9212612f-4dd0-4cf0-a21b-85413c900acf 802-11-wireless.bssid '' 802-11-wireless.band ''
sudo nmcli connection up uuid 9212612f-4dd0-4cf0-a21b-85413c900acf ifname wlan0
```
证据:`wifi-before-5ghz.log`、`wifi-fixed-ap-final.log`、`*-sched-fixed-ap.jsonl`、`*-fixed-ap-drag.json`、`ubuntu-local-screen-response.raw`、`ubuntu-fixed-ap-client-stats.log`、`ubuntu-fixed-ap-double-cursor.json`、`optimization-host-final-state.log`。测量脚本为 `box-sched-pair.py`、`response-probe-50.py`、`guest-local-response.py`。
依据:[NetworkManager 无线配置](https://networkmanager.dev/docs/api/latest/settings-802-11-wireless.html)、[SDL Linux线程优先级实现](https://github.com/libsdl-org/SDL/blob/release-2.30.11/src/core/linux/SDL_threadprio.c),以及现场部署的 Moonlight DRM / 原生光标源码。