7.2 KiB
Ubuntu 画质、光标样式与响应调优(2026-11-05)
Ubuntu 已从 1920×1080 升级为真实 2560×1440 桌面与视频,分辨率、30Mbps 请求码率和 Windows 对齐。最新用户要求保留原生样式,因此后续已恢复 Adwaita/24px、default 鼠标加速,并部署原生独立光标,见实施记录。关闭 GNOME 动画保留。
以下保留较早的画质实验记录:当时使用 DMZ-White/flat,未部署独立光标,2K动态视频约21–23FPS。该视频数据不代表新方案的本地指针移动延迟;物理输入到屏幕延迟仍未测量,不能称已定量达到Windows。
生效配置与验证
- Ubuntu
.72/test2:原 Xorg、Sunshine 2026.914.233613、X11 捕获、libx264 ultrafast/zerolatency;编码线程恢复默认,没有保留较差的单线程实验。 vdi-sunshine.service启动前创建、添加并切换2560x1440_60.00,时序241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync。已实际删除自定义模式后启动服务,验证自动重建2K成功。- GNOME
~/.config/monitors.xml保存单屏2K、100%缩放。初次通过 DisplayConfig 持久应用曾等待确认后回退,随后保存明确的显示配置并重新应用;最终锁屏/解锁测试仍为2K、LockedHint=no。未重启虚拟机或GDM,整机重启后的恢复尚未验收。 - 盒子只修改 Ubuntu 卡片为
2560×1440 / 30FPS,以及逐主机文件~/.config/vdi-terminal/host-color-range/192.168.1.72为0。Windows、麒麟卡片结构比较保持原值,见隔离核验。 - 原 RKMPP、DRM PRIME、EGL/GLES、latest-frame、无VSync/无frame-pacing 保留。正常 kiosk 连接的父进程、参数、range 环境和真实2K硬解已核对,见最终连接、客户端、服务端。最终保留 Ubuntu 普通桌面连接,临时测试窗口已停止。
最终配置快照:服务、Sunshine、显示配置、系统读回、桌面截图。
同场景短测
临时 GTK 窗口显示小字号文字、单像素线、彩色文字、12级灰阶和局部运动。以下均通过正常 kiosk 入口,以真实2K视频测试。每轮24次交替点击及24次F9回显;F9测量包括 xdotool 启动、网络、客体处理、编码解码和X11像素轮询,排除物理USB输入与显示器扫描。
| 配置 | 渲染FPS | 解码ms | 队列ms | Sunshine CPU%¹ | F9 P50/P95 ms |
|---|---|---|---|---|---|
| 45FPS请求 / full / 原动画 | 21.49 | 10.48 | 0.53 | 163.1 | 373.2 / 455.9 |
| 45FPS请求 / limited / 原动画 | 22.83 | 6.82 | 0.19 | 161.5 | 376.7 / 488.6 |
| 45FPS请求 / limited / 单线程 / 无动画(撤回单线程) | 17.98 | 8.24 | 0.14 | 126.9 | 402.9 / 507.9 |
| 30FPS请求 / limited / 默认线程 / 无动画(保留) | 21.40 | 6.84 | 0.26 | 156.0 | 320.9 / 418.4 |
¹ CPU按 /proc/<pid>/stat 差值测量,100%为一个逻辑核。原始客户端日志、CPU样本、输入事件及回显样本按表中配置保存在证据目录,数值汇总见comparison.json。
limited 同参数仅小幅提高视频帧率,回显没有改善;30FPS最终配置的合成回显较低,但多项设置和网络条件不同,不能归因于单一参数或称为显著降低物理延迟。单线程方案较差,已恢复默认策略。官方对 min_threads 的说明也要求以实际目标和硬件测试选择线程数。
测试源本身在 GNOME 软件图形环境下未达到60次/秒绘制,累计绘制约15–20次/秒;上表是 Moonlight 视频帧率,包含可能重复的源画面,不能当作独立运动帧数。输入事件复核时发现,四轮各24次快速点击分别记录到24、24、23、21次,部分出现在输入通道启动阶段,原因未完全确认;单线程轮次还出现相邻点击落在同一处,不能称快速点击完整通过。第一轮F8在源窗口获得焦点前发出,未计为接收成功。
随后在最终已稳定运行的正常会话中,重新启动独立验证窗口,预热一次点击,以40ms按下保持和250ms间隔发送24次交替点击,24/24接收、两处坐标交替正确、最大误差不足1px,F8接收。见稳定会话结果及事件。该轮不证明高速点击或物理延迟。
四轮共96个F9翻转回显样本均完成、无超时,但其中一轮客体记录了多于注入次数的F9按键事件;探针只观察黑白翻转,没有逐键序号,不能证明严格的一键一回显。因此表格中的F9数据仅供探索,不能用于证明优化降低了输入时延。
limited 灰阶中心采样约为 0,8,16,24,31,64,128,192,223,235,247,254,源为 0,8,16,24,32,64,128,192,223,235,247,255,没有把limited数据直接当full显示而造成大范围灰雾或截断。见采样、full截图、limited截图。单像素和彩色文字仍受H.264 4:2:0压缩限制,不能宣称像素无损。
边界、备份和回退
Ubuntu 只有QEMU虚拟VGA、/dev/dri/card0,没有可用GPU渲染节点,Sunshine实际使用CPU编码;动态场景还观察到GNOME合成和Xorg开销。盒子解码队列已很短,继续提升到Windows水平需要处理客体图形/编码路径;本轮没有部署独立光标协议,也没有叠加假本地箭头。
本轮未修改PVE显卡、VM硬件、Windows配置、麒麟配置或客户端二进制。测试补装小型 python3-gi-cairo 包用于临时绘图,没有整体系统升级。早期独立测试会话受kiosk前景覆盖、分辨率恢复和绘图依赖缺失影响,没有纳入表格;最终有效轮次使用正常入口与实际截图核对。
备份均为首次备份:
- Ubuntu
/home/test2/vdi-terminal/backups/ubuntu-quality-20261105/:原 Sunshine配置、用户服务、四项gsettings原值;monitors.xml.absent表示此前没有显示配置文件。 - 盒子
/home/armbian/vdi-terminal/backups/ubuntu-quality-20261105/desktops.json;Ubuntu逐主机range文件此前不存在。
回退时先退出Ubuntu串流,恢复Ubuntu服务/配置及四项gsettings,按备份存在标记恢复或移除 monitors.xml,然后 systemctl --user daemon-reload 并重启 vdi-sunshine.service。盒子仅恢复备份中的Ubuntu对象,删除 .72 的range文件并在无串流时刷新kiosk;不要整文件覆盖后续其他桌面的修改。原服务会将显示设回1080p。