验证:补充2K刷新率与单显示器验收
This commit is contained in:
1 parent
a98d9ddeee
commit
b29b59c62f
21 files changed
+1195
-4
No files matched your search
@@ -0,0 +1,55 @@
|
||||
# GPU修复后刷新率与鼠标画面优化验收(2026-11-03)
|
||||
|
||||
## 结论
|
||||
|
||||
Windows虚拟屏已调整为2560×1440、60Hz,登录脚本已备份并更新;客户端默认已设为45FPS,并通过正常选择桌面入口重连。当前盒子的Xorg/EGL路径在请求60FPS时实际只能渲染约46FPS,因此不宣称稳定2K60。45FPS短测实际44.22FPS,持续测试43.14FPS;相对30FPS基线29.83FPS提高约45%~48%,排队约1.3~1.6ms。
|
||||
|
||||
## GPU复核
|
||||
|
||||
本轮实际查询NVIDIA错误码0,驱动582.78,vBIOS 84.04.2b.00.13。动态串流期间Sunshine实际创建h264_nvenc,NVIDIA有1个编码会话,检查时编码引擎约24%。运维报告的重启测试作为其提供的验收记录,本轮未自行重启VM、宿主或GPU,也未修改直通和ROM配置。
|
||||
|
||||
## 同一修正测试源对照
|
||||
|
||||
修正后的Windows测试窗口实测约59FPS,避免了原WinForms定时器将源限制到约32FPS的问题。所有测试保持2560×1440、H.264、30Mbps、RKMPP硬解;默认客户端为已有两个输入补丁的版本,第三补丁调度未启用。除同步实验外,均关闭VSync与帧步调。
|
||||
|
||||
| 档位 | 接收/渲染FPS | 主机处理平均 | 解码平均 | 帧队列平均 | 客户端队列丢弃指标 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| VDD30 / 客户端30 | 29.95 / 29.83 | 7.5ms | 6.81ms | 0.60ms | 0.41% |
|
||||
| VDD60 / 客户端60、最新帧队列 | 58.82 / 46.11 | 7.5ms | 7.37ms | 7.54ms | 21.61% |
|
||||
| VDD60 / 客户端60、原队列 | 58.81 / 46.10 | 7.6ms | 7.13ms | 36.13ms | 10.28% |
|
||||
| VDD60 / 客户端60、精确尺寸nearest实验 | 58.20 / 42.01 | 7.5ms | 6.94ms | 7.66ms | 27.77% |
|
||||
| VDD60 / 客户端60、VSync开/帧步调关 | 57.88 / 24.39 | 7.5ms | 7.26ms | 8.12ms | 57.80% |
|
||||
| VDD60 / 客户端45、最新帧队列 | 44.84 / 44.22 | 7.6ms | 8.54ms | 1.30ms | 1.38% |
|
||||
| VDD60 / 客户端45、持续测试 | 43.98 / 43.14 | 7.6ms | 7.32ms | 1.55ms | 1.91% |
|
||||
|
||||
上表“客户端队列丢弃指标”来自上游标成`Frames dropped due to network jitter`的统计,但实际字段是`pacerDroppedFrames`,本项目最新帧队列也计入其中。不能把它全部归因于网络,原队列溢出统计也并不完整;应结合接收/解码/渲染FPS及帧队列时间评估。上述会话真正的网络丢帧字段均为0%,网络延迟约2~7ms;这些是现场顺序测试,不是严格实验室基准。
|
||||
|
||||
60FPS会话采样盒子图形核心约89%~95%负载、800MHz;DDR频率已在786MHz最高公布档位,MATE合成器关闭。测试温度约62~65℃,没有通过提高频率/电压或更改CPU/GPU调速器来制造结果。原队列没有提高帧率却增加排队,nearest采样和VSync实验均未显示收益,未部署。
|
||||
|
||||
nearest实验保留在`terminal/moonlight/experiments/0004-vdi-egl-exact-size-sampling.patch`供复查,已从盒子正常源码撤回,不进入默认构建流程。正常二进制SHA256仍为`35de7b1a4ade583823b23b5f2e012307f6d0a3848c8eb97bd6d4de9660afa00f`。
|
||||
|
||||
## 配置和回退
|
||||
|
||||
- Windows实际活动VDD编号已变为DISPLAY3,工具动态查找,未写死设备号。旧DISPLAY2备份不能直接作为新设备的恢复依据,因此探测器增加`--backup-tag`区分验收批次。
|
||||
- `tools/set-2k-display.ps1`默认60Hz,支持`-RefreshRate 30`回退;已更新原VDISet2KDisplay登录任务使用的脚本,未修改任务动作或用户。
|
||||
- Windows部署前原脚本和任务XML备份:`C:\ProgramData\VDI\backups\display-refresh-20261103-142920`。部署工具按本次新生成的结果日志和任务退出码确认成功,随后独立Query确认60Hz。本轮没有重启验证登录触发。
|
||||
- `tools/run-mouse-display-probe.py Apply --hz 30 --backup-tag nvenc-20261103`可临时恢复30Hz;要保持30Hz应恢复原登录脚本,或将登录任务脚本参数设为`-RefreshRate 30`。
|
||||
- `tools/set-terminal-fps.py --fps 45 --apply`只更改盒子Windows桌面票据FPS,自动备份和原子写入,不更改其他桌面;回退用`--fps 30 --apply`。
|
||||
|
||||
部署工具前两次因Windows任务调度器LastRunTime与墙上时钟不同步而误判成功任务为失败,已自动恢复旧脚本;随后改为新结果日志证明执行新鲜度,部署成功。受配置切换影响的`nvenc45-sustained`不纳入持续测试结论,重新执行`nvenc45-sustained-final`。
|
||||
|
||||
## 持续测试和现场收尾
|
||||
|
||||
`nvenc45-sustained-final`在视频就绪后注入20秒鼠标移动和32次点击,再持续120秒,正常退出。接收43.98/渲染43.14FPS,主机平均7.6ms、解码7.32ms、排队1.55ms、呈现1.55ms,实际网络丢帧0%。这是约两分半钟的动态会话结果,不是长期稳定性保证。
|
||||
|
||||
三组Windows点击记录共256次左右交替点击,脚本校验全部符合预期,包含被排除的持续性能试验中的32次;点击正确性可核验,但其帧率数据不纳入持续性能结论。修正测试源在保存的状态中约59.4~59.8FPS,足够进行本轮对照。
|
||||
|
||||
已执行`set-terminal-fps.py --fps 45 --apply`,原30帧票据备份于盒子`~/vdi-terminal/backups/fps-20261103-143333-297521/desktops.json`。只改变Windows卡片FPS,其余桌面、分辨率和编码配置保持原值。
|
||||
|
||||
已停止并删除VDIInputLatencyBench临时任务;最终Windows查询确认`benchmark_task_present=False`。通过正常kiosk页面点击Windows连接,实际新进程PID31694带`--resolution 2560x1440 --fps 45`,RKMPP/DRM PRIME/EGL路径正常。再次查询错误码0、NVENC会话1、编码占用18%,Sunshine本次实际创建h264_nvenc。显示守护active,正常客户端二进制未换成实验版本。
|
||||
|
||||
证据目录:`docs/evidence/2k60-20261103/`,包含逐会话日志、点击记录、最终GPU/编码查询和页面截图。实际拖窗与鼠标的主观体验仍需用户现场确认;本轮自动点击和统计不能代替物理输入到屏幕测量。
|
||||
|
||||
## 后续边界
|
||||
|
||||
独立光标尚未实现,仍保留单个Windows远程白色光标。下一阶段要进一步达到稳定2K60,需要验证更低开销的显示路径及正式Weston/Wayland架构,或评估终端硬件;当前不能通过提高FPS参数或安装所谓流畅插件绕过呈现瓶颈。独立光标双方协议与单光标交接设计见`docs/independent-cursor-design-20261103.md`。本轮未测量物理输入到屏幕的P50/P95,不能称零延迟。
|
||||
@@ -0,0 +1,199 @@
|
||||
width=2560 height=1440 paints=25330 elapsed_ms=425839 clicks=96
|
||||
|
||||
ms,x,y,target
|
||||
|
||||
42057,639,600,L
|
||||
|
||||
42058,1920,600,R
|
||||
|
||||
42093,639,600,L
|
||||
|
||||
42094,1920,600,R
|
||||
|
||||
42095,639,600,L
|
||||
|
||||
42096,1920,600,R
|
||||
|
||||
42097,639,600,L
|
||||
|
||||
42098,1920,600,R
|
||||
|
||||
42099,639,600,L
|
||||
|
||||
42100,1920,600,R
|
||||
|
||||
42101,639,600,L
|
||||
|
||||
42102,1920,600,R
|
||||
|
||||
42103,639,600,L
|
||||
|
||||
42104,1920,600,R
|
||||
|
||||
42105,639,600,L
|
||||
|
||||
42106,1920,600,R
|
||||
|
||||
42107,639,600,L
|
||||
|
||||
42141,1920,600,R
|
||||
|
||||
42142,639,600,L
|
||||
|
||||
42143,1920,600,R
|
||||
|
||||
42144,639,600,L
|
||||
|
||||
42145,1920,600,R
|
||||
|
||||
42147,639,600,L
|
||||
|
||||
42148,1920,600,R
|
||||
|
||||
42148,639,600,L
|
||||
|
||||
42149,1920,600,R
|
||||
|
||||
42150,639,600,L
|
||||
|
||||
42151,1920,600,R
|
||||
|
||||
42152,639,600,L
|
||||
|
||||
42153,1920,600,R
|
||||
|
||||
42154,639,600,L
|
||||
|
||||
42154,1920,600,R
|
||||
|
||||
112701,639,600,L
|
||||
|
||||
112702,1920,600,R
|
||||
|
||||
112704,639,600,L
|
||||
|
||||
112706,1920,600,R
|
||||
|
||||
112707,639,600,L
|
||||
|
||||
112709,1920,600,R
|
||||
|
||||
112711,639,600,L
|
||||
|
||||
112712,1920,600,R
|
||||
|
||||
112732,639,600,L
|
||||
|
||||
112733,1920,600,R
|
||||
|
||||
112735,639,600,L
|
||||
|
||||
112736,1920,600,R
|
||||
|
||||
112737,639,600,L
|
||||
|
||||
112759,1920,600,R
|
||||
|
||||
112762,639,600,L
|
||||
|
||||
112763,1920,600,R
|
||||
|
||||
112765,639,600,L
|
||||
|
||||
112766,1920,600,R
|
||||
|
||||
112768,639,600,L
|
||||
|
||||
112769,1920,600,R
|
||||
|
||||
112788,639,600,L
|
||||
|
||||
112790,1920,600,R
|
||||
|
||||
112791,639,600,L
|
||||
|
||||
112792,1920,600,R
|
||||
|
||||
112793,639,600,L
|
||||
|
||||
112815,1920,600,R
|
||||
|
||||
112818,639,600,L
|
||||
|
||||
112820,1920,600,R
|
||||
|
||||
112822,639,600,L
|
||||
|
||||
112823,1920,600,R
|
||||
|
||||
112824,639,600,L
|
||||
|
||||
112825,1920,600,R
|
||||
|
||||
302705,639,600,L
|
||||
|
||||
302706,1920,600,R
|
||||
|
||||
302707,639,600,L
|
||||
|
||||
302710,1920,600,R
|
||||
|
||||
302711,639,600,L
|
||||
|
||||
302712,1920,600,R
|
||||
|
||||
302713,639,600,L
|
||||
|
||||
302732,1920,600,R
|
||||
|
||||
302733,639,600,L
|
||||
|
||||
302734,1920,600,R
|
||||
|
||||
302735,639,600,L
|
||||
|
||||
302754,1920,600,R
|
||||
|
||||
302777,639,600,L
|
||||
|
||||
302778,1920,600,R
|
||||
|
||||
302779,639,600,L
|
||||
|
||||
302780,1920,600,R
|
||||
|
||||
302782,639,600,L
|
||||
|
||||
302783,1920,600,R
|
||||
|
||||
302784,639,600,L
|
||||
|
||||
302785,1920,600,R
|
||||
|
||||
302786,639,600,L
|
||||
|
||||
302805,1920,600,R
|
||||
|
||||
302809,639,600,L
|
||||
|
||||
302812,1920,600,R
|
||||
|
||||
302813,639,600,L
|
||||
|
||||
302814,1920,600,R
|
||||
|
||||
302815,639,600,L
|
||||
|
||||
302817,1920,600,R
|
||||
|
||||
302819,639,600,L
|
||||
|
||||
302820,1920,600,R
|
||||
|
||||
302821,639,600,L
|
||||
|
||||
302838,1920,600,R
|
||||
|
||||
{"LastTaskResult":267009}
|
||||
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
width=2560 height=1440 paints=29513 elapsed_ms=493665 clicks=96
|
||||
|
||||
ms,x,y,target
|
||||
|
||||
145117,639,600,L
|
||||
|
||||
145118,1920,600,R
|
||||
|
||||
145122,639,600,L
|
||||
|
||||
145123,1920,600,R
|
||||
|
||||
145144,639,600,L
|
||||
|
||||
145145,1920,600,R
|
||||
|
||||
145148,639,600,L
|
||||
|
||||
145150,1920,600,R
|
||||
|
||||
145151,639,600,L
|
||||
|
||||
145153,1920,600,R
|
||||
|
||||
145175,639,600,L
|
||||
|
||||
145180,1920,600,R
|
||||
|
||||
145183,639,600,L
|
||||
|
||||
145185,1920,600,R
|
||||
|
||||
145186,639,600,L
|
||||
|
||||
145188,1920,600,R
|
||||
|
||||
145190,639,600,L
|
||||
|
||||
145191,1920,600,R
|
||||
|
||||
145193,639,600,L
|
||||
|
||||
145213,1920,600,R
|
||||
|
||||
145215,639,600,L
|
||||
|
||||
145217,1920,600,R
|
||||
|
||||
145219,639,600,L
|
||||
|
||||
145220,1920,600,R
|
||||
|
||||
145221,639,600,L
|
||||
|
||||
145223,1920,600,R
|
||||
|
||||
145225,639,600,L
|
||||
|
||||
145245,1920,600,R
|
||||
|
||||
145246,639,600,L
|
||||
|
||||
145247,1920,600,R
|
||||
|
||||
145248,639,600,L
|
||||
|
||||
145250,1920,600,R
|
||||
|
||||
324992,639,600,L
|
||||
|
||||
324993,1920,600,R
|
||||
|
||||
324994,639,600,L
|
||||
|
||||
324995,1920,600,R
|
||||
|
||||
325013,639,600,L
|
||||
|
||||
325015,1920,600,R
|
||||
|
||||
325016,639,600,L
|
||||
|
||||
325017,1920,600,R
|
||||
|
||||
325017,639,600,L
|
||||
|
||||
325034,1920,600,R
|
||||
|
||||
325038,639,600,L
|
||||
|
||||
325040,1920,600,R
|
||||
|
||||
325042,639,600,L
|
||||
|
||||
325044,1920,600,R
|
||||
|
||||
325045,639,600,L
|
||||
|
||||
325047,1920,600,R
|
||||
|
||||
325065,639,600,L
|
||||
|
||||
325067,1920,600,R
|
||||
|
||||
325069,639,600,L
|
||||
|
||||
325070,1920,600,R
|
||||
|
||||
325072,639,600,L
|
||||
|
||||
325074,1920,600,R
|
||||
|
||||
325075,639,600,L
|
||||
|
||||
325092,1920,600,R
|
||||
|
||||
325095,639,600,L
|
||||
|
||||
325097,1920,600,R
|
||||
|
||||
325100,639,600,L
|
||||
|
||||
325102,1920,600,R
|
||||
|
||||
325103,639,600,L
|
||||
|
||||
325104,1920,600,R
|
||||
|
||||
325121,639,600,L
|
||||
|
||||
325123,1920,600,R
|
||||
|
||||
434053,639,600,L
|
||||
|
||||
434055,1920,600,R
|
||||
|
||||
434058,639,600,L
|
||||
|
||||
434061,1920,600,R
|
||||
|
||||
434063,639,600,L
|
||||
|
||||
434063,1920,600,R
|
||||
|
||||
434079,639,600,L
|
||||
|
||||
434081,1920,600,R
|
||||
|
||||
434084,639,600,L
|
||||
|
||||
434085,1920,600,R
|
||||
|
||||
434086,639,600,L
|
||||
|
||||
434088,1920,600,R
|
||||
|
||||
434089,639,600,L
|
||||
|
||||
434105,1920,600,R
|
||||
|
||||
434108,639,600,L
|
||||
|
||||
434109,1920,600,R
|
||||
|
||||
434110,639,600,L
|
||||
|
||||
434112,1920,600,R
|
||||
|
||||
434129,639,600,L
|
||||
|
||||
434131,1920,600,R
|
||||
|
||||
434132,639,600,L
|
||||
|
||||
434148,1920,600,R
|
||||
|
||||
434152,639,600,L
|
||||
|
||||
434155,1920,600,R
|
||||
|
||||
434157,639,600,L
|
||||
|
||||
434158,1920,600,R
|
||||
|
||||
434160,639,600,L
|
||||
|
||||
434162,1920,600,R
|
||||
|
||||
434163,639,600,L
|
||||
|
||||
434164,1920,600,R
|
||||
|
||||
434166,639,600,L
|
||||
|
||||
434167,1920,600,R
|
||||
|
||||
{"LastTaskResult":267009}
|
||||
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
width=2560 height=1440 paints=24646 elapsed_ms=412170 clicks=64
|
||||
|
||||
ms,x,y,target
|
||||
|
||||
145117,639,600,L
|
||||
|
||||
145118,1920,600,R
|
||||
|
||||
145122,639,600,L
|
||||
|
||||
145123,1920,600,R
|
||||
|
||||
145144,639,600,L
|
||||
|
||||
145145,1920,600,R
|
||||
|
||||
145148,639,600,L
|
||||
|
||||
145150,1920,600,R
|
||||
|
||||
145151,639,600,L
|
||||
|
||||
145153,1920,600,R
|
||||
|
||||
145175,639,600,L
|
||||
|
||||
145180,1920,600,R
|
||||
|
||||
145183,639,600,L
|
||||
|
||||
145185,1920,600,R
|
||||
|
||||
145186,639,600,L
|
||||
|
||||
145188,1920,600,R
|
||||
|
||||
145190,639,600,L
|
||||
|
||||
145191,1920,600,R
|
||||
|
||||
145193,639,600,L
|
||||
|
||||
145213,1920,600,R
|
||||
|
||||
145215,639,600,L
|
||||
|
||||
145217,1920,600,R
|
||||
|
||||
145219,639,600,L
|
||||
|
||||
145220,1920,600,R
|
||||
|
||||
145221,639,600,L
|
||||
|
||||
145223,1920,600,R
|
||||
|
||||
145225,639,600,L
|
||||
|
||||
145245,1920,600,R
|
||||
|
||||
145246,639,600,L
|
||||
|
||||
145247,1920,600,R
|
||||
|
||||
145248,639,600,L
|
||||
|
||||
145250,1920,600,R
|
||||
|
||||
324992,639,600,L
|
||||
|
||||
324993,1920,600,R
|
||||
|
||||
324994,639,600,L
|
||||
|
||||
324995,1920,600,R
|
||||
|
||||
325013,639,600,L
|
||||
|
||||
325015,1920,600,R
|
||||
|
||||
325016,639,600,L
|
||||
|
||||
325017,1920,600,R
|
||||
|
||||
325017,639,600,L
|
||||
|
||||
325034,1920,600,R
|
||||
|
||||
325038,639,600,L
|
||||
|
||||
325040,1920,600,R
|
||||
|
||||
325042,639,600,L
|
||||
|
||||
325044,1920,600,R
|
||||
|
||||
325045,639,600,L
|
||||
|
||||
325047,1920,600,R
|
||||
|
||||
325065,639,600,L
|
||||
|
||||
325067,1920,600,R
|
||||
|
||||
325069,639,600,L
|
||||
|
||||
325070,1920,600,R
|
||||
|
||||
325072,639,600,L
|
||||
|
||||
325074,1920,600,R
|
||||
|
||||
325075,639,600,L
|
||||
|
||||
325092,1920,600,R
|
||||
|
||||
325095,639,600,L
|
||||
|
||||
325097,1920,600,R
|
||||
|
||||
325100,639,600,L
|
||||
|
||||
325102,1920,600,R
|
||||
|
||||
325103,639,600,L
|
||||
|
||||
325104,1920,600,R
|
||||
|
||||
325121,639,600,L
|
||||
|
||||
325123,1920,600,R
|
||||
|
||||
{"LastTaskResult":267009}
|
||||
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
width=2560 height=1440 paints=26163 elapsed_ms=440146 clicks=64
|
||||
|
||||
ms,x,y,target
|
||||
|
||||
36986,639,600,L
|
||||
|
||||
36987,1920,600,R
|
||||
|
||||
36989,639,600,L
|
||||
|
||||
37005,1920,600,R
|
||||
|
||||
37023,639,600,L
|
||||
|
||||
37026,1920,600,R
|
||||
|
||||
37030,639,600,L
|
||||
|
||||
37031,1920,600,R
|
||||
|
||||
37033,639,600,L
|
||||
|
||||
37034,1920,600,R
|
||||
|
||||
37036,639,600,L
|
||||
|
||||
37037,1920,600,R
|
||||
|
||||
37037,639,600,L
|
||||
|
||||
37038,1920,600,R
|
||||
|
||||
37056,639,600,L
|
||||
|
||||
37058,1920,600,R
|
||||
|
||||
37060,639,600,L
|
||||
|
||||
37062,1920,600,R
|
||||
|
||||
37082,639,600,L
|
||||
|
||||
37084,1920,600,R
|
||||
|
||||
37085,639,600,L
|
||||
|
||||
37086,1920,600,R
|
||||
|
||||
37087,639,600,L
|
||||
|
||||
37088,1920,600,R
|
||||
|
||||
37106,639,600,L
|
||||
|
||||
37110,1920,600,R
|
||||
|
||||
37112,639,600,L
|
||||
|
||||
37113,1920,600,R
|
||||
|
||||
37114,639,600,L
|
||||
|
||||
37114,1920,600,R
|
||||
|
||||
37115,639,600,L
|
||||
|
||||
37116,1920,600,R
|
||||
|
||||
264310,639,600,L
|
||||
|
||||
264311,1920,600,R
|
||||
|
||||
264314,639,600,L
|
||||
|
||||
264315,1920,600,R
|
||||
|
||||
264316,639,600,L
|
||||
|
||||
264317,1920,600,R
|
||||
|
||||
264334,639,600,L
|
||||
|
||||
264337,1920,600,R
|
||||
|
||||
264338,639,600,L
|
||||
|
||||
264339,1920,600,R
|
||||
|
||||
264340,639,600,L
|
||||
|
||||
264358,1920,600,R
|
||||
|
||||
264361,639,600,L
|
||||
|
||||
264362,1920,600,R
|
||||
|
||||
264363,639,600,L
|
||||
|
||||
264364,1920,600,R
|
||||
|
||||
264368,639,600,L
|
||||
|
||||
264370,1920,600,R
|
||||
|
||||
264388,639,600,L
|
||||
|
||||
264392,1920,600,R
|
||||
|
||||
264393,639,600,L
|
||||
|
||||
264394,1920,600,R
|
||||
|
||||
264396,639,600,L
|
||||
|
||||
264415,1920,600,R
|
||||
|
||||
264418,639,600,L
|
||||
|
||||
264420,1920,600,R
|
||||
|
||||
264422,639,600,L
|
||||
|
||||
264424,1920,600,R
|
||||
|
||||
264425,639,600,L
|
||||
|
||||
264427,1920,600,R
|
||||
|
||||
264428,639,600,L
|
||||
|
||||
264429,1920,600,R
|
||||
|
||||
{"LastTaskResult":267009}
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
@@ -0,0 +1,11 @@
|
||||
{"Name":"NVIDIA GeForce GTX 965M","ConfigManagerErrorCode":0}␍
|
||||
NVIDIA GeForce GTX 965M, 84.04.2b.00.13, 1, 18 %␍
|
||||
␍
|
||||
Capture size : 2560x1440␍
|
||||
[2026-11-03 14:34:22.850]: Info: Requested frame rate [45fps]␍
|
||||
[2026-11-03 14:34:22.851]: Info: Creating encoder [h264_nvenc]␍
|
||||
2026-11-03T14:29:21.7186993+08:00 device=\\.\DISPLAY3 result=0 mode=2560x1440@60␍
|
||||
benchmark_task_present=False␍
|
||||
␍
|
||||
␍
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.4 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 MiB |
@@ -0,0 +1,19 @@
|
||||
Stopped scoped encoder-session monitor␍
|
||||
[{"Name":"Microsoft Basic Display Driver","ConfigManagerErrorCode":0},{"Name":"Virtual Display Driver","ConfigManagerErrorCode":0},{"Name":"NVIDIA GeForce GTX 965M","ConfigManagerErrorCode":0},{"Name":"Microsoft Basic Display Adapter","ConfigManagerErrorCode":0}]␍
|
||||
NVIDIA GeForce GTX 965M, 582.78, 10 %␍
|
||||
␍
|
||||
[2026-11-03 16:57:40.500]: Error: Couldn't get default audio endpoint [0x80070490]␍
|
||||
[2026-11-03 16:57:40.500]: Error: Unable to initialize audio capture. The stream will not have audio.␍
|
||||
Capture size : 2560x1440␍
|
||||
[2026-11-03 16:57:41.165]: Info: Desktop resolution [2560x1440]␍
|
||||
[2026-11-03 16:57:41.165]: Info: Display refresh rate [60Hz]␍
|
||||
[2026-11-03 16:57:41.166]: Info: Creating encoder [h264_nvenc]␍
|
||||
Capture size : 2560x1440␍
|
||||
[2026-11-03 17:14:13.305]: Info: Desktop resolution [2560x1440]␍
|
||||
[2026-11-03 17:14:13.306]: Info: Display refresh rate [60Hz]␍
|
||||
[2026-11-03 17:14:13.308]: Info: Creating encoder [h264_nvenc]␍
|
||||
probe_task_present=False␍
|
||||
backup_exists=True␍
|
||||
␍
|
||||
␍
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
[{"width":0,"height":0,"description":"Microsoft Basic Display Adapter","primary":false,"active":false,"y":0,"hz":0,"device":"\\\\.\\DISPLAY1","x":0},{"width":0,"height":0,"description":"NVIDIA GeForce GTX 965M","primary":false,"active":false,"y":0,"hz":0,"device":"\\\\.\\DISPLAY2","x":0},{"width":2560,"height":1440,"description":"Virtual Display Driver","primary":true,"active":true,"y":0,"hz":60,"device":"\\\\.\\DISPLAY4","x":0}]
|
||||
|
||||
|
||||
|
||||
task_result=0
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384
|
||||
HDMI-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
|
||||
1920x1440 75.00
|
||||
2048x1152 60.00
|
||||
1920x1080 100.00 60.00 60.00 50.00 59.94
|
||||
1920x1080i 60.00 50.00 59.94
|
||||
1600x1200 60.00
|
||||
1680x1050 59.88
|
||||
1600x900 60.00
|
||||
1280x1024 60.02
|
||||
46934 /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.70 Desktop --resolution 2560x1440 --fps 45 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --keep-awake --no-vsync --no-frame-pacing --audio-on-host
|
||||
active
|
||||
@@ -0,0 +1,7 @@
|
||||
[{"width":0,"height":0,"description":"Microsoft Basic Display Adapter","primary":false,"active":false,"y":0,"hz":0,"device":"\\\\.\\DISPLAY1","x":0},{"width":0,"height":0,"description":"NVIDIA GeForce GTX 965M","primary":false,"active":false,"y":0,"hz":0,"device":"\\\\.\\DISPLAY2","x":0},{"width":2560,"height":1440,"description":"Virtual Display Driver","primary":true,"active":true,"y":0,"hz":60,"device":"\\\\.\\DISPLAY4","x":0}]
|
||||
|
||||
|
||||
|
||||
task_result=0
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
[{"width":2560,"height":1440,"description":"Microsoft Basic Display Adapter","primary":false,"active":true,"y":1440,"hz":64,"device":"\\\\.\\DISPLAY1","x":-1024},{"width":0,"height":0,"description":"NVIDIA GeForce GTX 965M","primary":false,"active":false,"y":0,"hz":0,"device":"\\\\.\\DISPLAY2","x":0},{"width":2560,"height":1440,"description":"Virtual Display Driver","primary":true,"active":true,"y":0,"hz":60,"device":"\\\\.\\DISPLAY4","x":0}]
|
||||
|
||||
|
||||
|
||||
task_result=0
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Windows仅保留2K主屏(2026-11-03)
|
||||
|
||||
用户条件:只有在不影响当前2K屏幕使用时才调整。已完成并读回:Windows仅一个活动桌面输出,保留Virtual Display Driver主屏2560×1440@60,盒子原Moonlight进程46934继续2K45/RKMPP/EGL,截图正常。GTX965M错误码0,Sunshine布局变化后仍创建h264_nvenc,最终编码占用10%。没有重启Windows/盒子、禁用显卡设备、卸载驱动或修改PVE/GPU直通。
|
||||
|
||||
## 调整前后
|
||||
|
||||
| 输出 | 原布局 | 现布局 |
|
||||
| --- | --- | --- |
|
||||
| DISPLAY4 / Virtual Display Driver | 主屏,2560×1440@60,坐标0,0 | 保留原模式和主屏身份,唯一活动输出 |
|
||||
| DISPLAY1 / Microsoft Basic Display Adapter | 扩展屏,2560×1440@64,坐标-1024,1440 | 从Windows桌面布局停用 |
|
||||
| DISPLAY2 / NVIDIA GTX965M直接输出 | 原本未激活 | 保持未激活;GPU本身仍正常用于硬件编码 |
|
||||
|
||||
这里的“停用”仅指显示输出不参与Windows扩展桌面。设备管理器仍保留显示适配器,Windows设置也可能列出未连接的输出,不能将此操作说成卸载了多余显卡或移除了所有显示设备条目。
|
||||
|
||||
本轮VDD编号已是DISPLAY4,早先DISPLAY3记录不能用于写死设备号。工具按唯一活动VDD动态选择,并在修改前强制核对它已是2560×1440@60主屏,不满足条件不修改。
|
||||
|
||||
## 实现与验证
|
||||
|
||||
新增`tools/set-single-vdi-display.ps1`,Query只查询;Apply先保存设备身份、模式、主屏、布局为XML,使用ChangeDisplaySettingsEx逐项暂存,最后一次提交停用其他活动输出。申请为当前用户保存布局;不添加持续守护或额外登录任务。读回若不是唯一VDD主屏或模式改变,立即尝试恢复本次原布局。已有备份拒绝覆盖。
|
||||
|
||||
新增`tools/run-single-vdi-display.py`,通过已有VM100代理,在当前已登录用户会话运行一次性任务。任务已删除,最终`probe_task_present=False`。初次Query编译因缺少System.Xml引用失败,未执行显示修改;补齐引用后查询、应用、独立再次查询均成功。
|
||||
|
||||
当前状态已经验证;未通过重启/重新登录检验持久性,以避免中断用户使用。原2K登录脚本仍动态选择VDD,未改分辨率策略。盒子原配置、显示守护和串流参数未修改。
|
||||
|
||||
复核时误使用了会持续运行的`nvidia-smi encodersessions`,读取超时后已按进程及父命令精确停止本次监视子进程,再以一次性查询确认GPU健康;没有终止Sunshine或用户应用。Sunshine日志中的16:57音频端点错误早于本次显示调整,不是本次产生的新故障。
|
||||
|
||||
## 回退和证据
|
||||
|
||||
Windows原布局备份:`C:\ProgramData\VDI\single-display-20261103\before.xml`。
|
||||
|
||||
如需恢复,使用`python tools/run-single-vdi-display.py Restore`。恢复前核对显示设备名称、ID和注册表Key,身份变更时拒绝套用旧布局;本轮没有为演示回退再次打断当前单屏状态。
|
||||
|
||||
证据目录`docs/evidence/single-display-20261103/`包含before、apply、独立after-query、显卡/编码健康查询及实际2560×1440桌面截图。
|
||||
|
||||
API依据:[Microsoft ChangeDisplaySettingsEx](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-changedisplaysettingsexw)。
|
||||
Reference in new issue
Block a user