优化:完成麒麟合成器与Ubuntu低延迟验证

This commit is contained in:
宋一鸣 2026-11-06 18:03:57 +08:00
parent 249e8f8537
commit b979b12286
46 changed files with 2913 additions and 1 deletions

View File

@ -270,3 +270,4 @@
- 监控与运维脚本、OTA、USB 重定向等终端其余能力
先读 `PROJECT_CONTEXT.md`,再查看 `git status`,不要丢弃未提交改动。
- 2026-11-06 Ubuntu点击/拖拽修复:根因是Moonlight会话中断或失焦丢失BUTTONUP后未清理远端鼠标按钮;新增terminal/moonlight/patches/0006-vdi-release-stuck-mouse-buttons.patch,焦点丢失/会话退出释放五个按钮。盒子新SHA a09140ef…,旧SHA 5d4330f…已备份;三项输入测试通过,Ubuntu退出后普通Sunshine active、native-cursor guard inactive。报告 docs/ubuntu-mouse-release-20261106.md。

View File

@ -254,7 +254,8 @@ Moonlight 调试配置路径:
6. 切换到 Weston/Wayland 正式显示路径;
7. 开发 `vdt-agent`、OTA、USB、云端服务和 Web 控制台;
8. **云桌面内上网代理(规划)**:在终端登录首页提供代理配置入口,支持导入/更新 Clash 或 Mihomo 订阅、选择节点、启停和连通性测试;由云端服务将策略分别下发到 Windows、Ubuntu 和麒麟云桌面,使桌面内的浏览器和应用可以访问 GPT 等外部服务,同时为 Moonlight 串流、管理平台和必要内网地址保留稳定的直连/专用路由。该功能当前不实现、不部署;
9. **云桌面软件白名单与商业合规(规划)**:建立按客户/桌面生效的软件允许列表、版本校验、策略下发、审计和回滚流程。Windows 与麒麟计划通过签名的系统插件或代理组件执行白名单策略;Ubuntu 计划在系统底层实施,并在定版前完成权限模型、更新机制和例外流程评审。该功能当前不实现、不部署,正式销售前必须完成授权范围和合规审查。
9. **云桌面软件白名单与商业合规(规划)**:建立按客户/桌面生效的软件允许列表、版本校验、策略下发、审计和回滚流程。Windows 与麒麟计划通过签名的系统插件或代理组件执行白名单策略;Ubuntu 计划在系统底层实施,并在定版前完成权限模型、更新机制和例外流程评审。该功能当前不实现、不部署,正式销售前必须完成授权范围和合规审查;
10. **退出闪帧防护与盒子品牌安全画面(规划)**:解决云桌面退出、断流、客户端异常退出和 kiosk 重启时可能短暂暴露盒子底层桌面的问题。主方案是完善独立安全遮罩、X11/SDL 窗口交接并最终采用 Weston/Wayland 独占 kiosk;兜底方案是将盒子底层改为全屏公司 Logo、隐藏面板和桌面内容。该功能当前仅列入计划,不实现、不部署。
## 十、开发规范

View File

@ -0,0 +1,26 @@
● vdi-sunshine.service - VDI Linux desktop Sunshine host
Loaded: loaded (/home/test1/.config/systemd/user/vdi-sunshine.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-11-06 13:18:56 CST; 5s ago
Process: 15743 ExecStartPre=/bin/sh -c /usr/bin/xrandr --query | grep -q 2560x1440_60.00 || /usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (code=exited, status=0/SUCCESS)
Process: 15746 ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 15747 ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 15748 ExecStartPre=/bin/sh -c pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio (code=exited, status=0/SUCCESS)
Process: 15751 ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio (code=exited, status=0/SUCCESS)
Process: 15753 ExecStartPost=/bin/sh /home/test1/vdi-terminal/bin/vdi-kylin-suspend-compositor (code=exited, status=127)
Main PID: 15752 (sunshine)
CGroup: /user.slice/user-1000.slice/user@1000.service/vdi-sunshine.service
└─15752 /opt/vdi-sunshine-0.21.0/usr/bin/sunshine /home/test1/.config/sunshine/sunshine.conf
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info:
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info:
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info: Found H.264 encoder: libx264 [software]
11月 06 13:18:26 test1 sunshine[15752]: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info: Adding avahi service Sunshine
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info: Configuration UI available at [https://localhost:47990]
11月 06 13:18:26 test1 sunshine[15752]: [2026:11:06:13:18:26]: Info: System tray created
11月 06 13:18:27 test1 sunshine[15752]: [2026:11:06:13:18:27]: Info: Avahi service Sunshine successfully established.
11月 06 13:18:56 test1 systemd[1239]: Started VDI Linux desktop Sunshine host.
(<true>,)
ERR

View File

@ -0,0 +1,26 @@
● vdi-sunshine.service - VDI Linux desktop Sunshine host
Loaded: loaded (/home/test1/.config/systemd/user/vdi-sunshine.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-11-06 13:17:28 CST; 5s ago
Process: 15507 ExecStartPre=/bin/sh -c /usr/bin/xrandr --query | grep -q 2560x1440_60.00 || /usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (code=exited, status=0/SUCCESS)
Process: 15510 ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 15511 ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 15512 ExecStartPre=/bin/sh -c pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio (code=exited, status=0/SUCCESS)
Process: 15516 ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio (code=exited, status=0/SUCCESS)
Process: 15518 ExecStartPost=/home/test1/vdi-terminal/bin/vdi-kylin-suspend-compositor (code=exited, status=203/EXEC)
Main PID: 15517 (sunshine)
CGroup: /user.slice/user-1000.slice/user@1000.service/vdi-sunshine.service
└─15517 /opt/vdi-sunshine-0.21.0/usr/bin/sunshine /home/test1/.config/sunshine/sunshine.conf
11月 06 13:16:58 test1 sunshine[15517]: [2026:11:06:13:16:58]: Info:
11月 06 13:16:58 test1 sunshine[15517]: [2026:11:06:13:16:58]: Info: Found H.264 encoder: libx264 [software]
11月 06 13:16:58 test1 sunshine[15517]: [2026:11:06:13:16:58]: Info: Configuration UI available at [https://localhost:47990]
11月 06 13:16:58 test1 sunshine[15517]: [2026:11:06:13:16:58]: Info: Adding avahi service Sunshine
11月 06 13:16:58 test1 sunshine[15517]: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
11月 06 13:16:58 test1 sunshine[15517]: [2026:11:06:13:16:58]: Info: System tray created
11月 06 13:16:59 test1 sunshine[15517]: [2026:11:06:13:16:59]: Info: Avahi service Sunshine successfully established.
11月 06 13:17:28 test1 systemd[15518]: vdi-sunshine.service: Failed to execute command: Permission denied
11月 06 13:17:28 test1 systemd[15518]: vdi-sunshine.service: Failed at step EXEC spawning /home/test1/vdi-terminal/bin/vdi-kylin-suspend-compositor: Permission denied
11月 06 13:17:28 test1 systemd[1239]: Started VDI Linux desktop Sunshine host.
(<true>,)
ERR

View File

@ -0,0 +1,4 @@
()
(<false>,)
ERR

View File

@ -0,0 +1,161 @@
active
ExecStartPost={ path=/usr/bin/gdbus ; argv[]=/usr/bin/gdbus call --session --dest org.ukui.KWin --object-path /Compositor --method org.ukui.kwin.Compositing.suspend ; ignore_errors=yes ; start_time=[Fri 2026-11-06 13:20:31 CST] ; stop_time=[Fri 2026-11-06 13:20:31 CST] ; pid=16054 ; code=exited ; status=0 }
ActiveState=active
capture = x11
encoder = software
sw_preset = ultrafast
sw_tune = zerolatency
(<false>,)
-- Logs begin at Tue 2026-10-27 16:58:39 CST, end at Fri 2026-11-06 13:29:17 CST. --
11月 06 13:22:00 test1 sunshine[16053]: [2026:11:06:13:22:00]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 13:22:00 test1 sunshine[16053]: [2026:11:06:13:22:00]: Info:
11月 06 13:22:00 test1 sunshine[16053]: [2026:11:06:13:22:00]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 13:22:00 test1 sunshine[16053]: [2026:11:06:13:22:00]: Info:
11月 06 13:22:00 test1 sunshine[16053]: [2026:11:06:13:22:00]: Info: Found H.264 encoder: libx264 [software]
11月 06 13:22:00 test1 sunshine[16053]: [2026:11:06:13:22:00]: Info: Executing [Desktop]
11月 06 13:22:00 test1 sunshine[16053]: Source ID 38 was not found when attempting to remove it
11月 06 13:22:00 test1 sunshine[16053]: Source ID 37 was not found when attempting to remove it
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: CLIENT CONNECTED
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Detecting monitors
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Detected monitor 0: Virtual-1, connected: true
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Screencasting with X11
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Configuring selected monitor (0) to stream
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Streaming display: Virtual-1 with res 2560x1440 offset by 0x0
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: SDR color coding [Rec. 601]
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Color depth: 8-bit
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Color range: [MPEG]
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: [libx264 @ 0x5573b117d580] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: [libx264 @ 0x5573b117d580] profile Constrained Baseline, level 5.0, 4:2:0, 8-bit
11月 06 13:22:01 test1 sunshine[16053]: [2026:11:06:13:22:01]: Info: Found default monitor by name: vdi_audio.monitor
ERR
PVE {
"status": {
"cpus": 2,
"name": "kylin-test",
"diskread": 2519896148,
"proxmox-support": {
"query-bitmap-info": true,
"pbs-library-version": "2.0.3 (UNKNOWN)",
"pbs-dirty-bitmap-savevm": true,
"backup-fleecing": true,
"pbs-dirty-bitmap-migration": true,
"pbs-masterkey": true,
"backup-access-api": true,
"pbs-dirty-bitmap": true,
"backup-max-workers": true
},
"agent": 1,
"pressurecpusome": 0,
"disk": 0,
"netout": 638911978,
"pressurememoryfull": 0,
"memhost": 4388405248,
"netin": 8389982,
"ha": {
"managed": 0
},
"diskwrite": 812561408,
"uptime": 3294,
"running-qemu": "11.0.3",
"pressurecpufull": 0,
"clipboard": null,
"pressureiosome": 0,
"pressureiofull": 0,
"nics": {
"tap101i0": {
"netin": 8389982,
"netout": 638911978
}
},
"vmid": 101,
"qmpstatus": "running",
"maxdisk": 53687091200,
"running-machine": "pc-q35-11.0+pve0",
"status": "running",
"pressurememorysome": 0,
"blockstat": {
"scsi0": {
"unmap_total_time_ns": 0,
"wr_bytes": 812561408,
"invalid_wr_operations": 0,
"rd_bytes": 2519892480,
"unmap_operations": 0,
"invalid_rd_operations": 0,
"zone_append_total_time_ns": 0,
"rd_operations": 46619,
"flush_operations": 2370,
"unmap_bytes": 0,
"zone_append_merged": 0,
"zone_append_operations": 0,
"timed_stats": [],
"wr_operations": 25141,
"idle_time_ns": 320780705,
"unmap_merged": 0,
"flush_total_time_ns": 4707771080,
"failed_rd_operations": 0,
"invalid_flush_operations": 0,
"account_invalid": true,
"account_failed": true,
"failed_wr_operations": 0,
"wr_highest_offset": 48778457088,
"wr_merged": 0,
"rd_total_time_ns": 56900343271,
"failed_flush_operations": 0,
"failed_zone_append_operations": 0,
"invalid_zone_append_operations": 0,
"rd_merged": 0,
"wr_total_time_ns": 71210735145,
"zone_append_bytes": 0,
"failed_unmap_operations": 0,
"invalid_unmap_operations": 0
},
"ide2": {
"unmap_merged": 0,
"idle_time_ns": 3215219342279,
"flush_total_time_ns": 0,
"wr_operations": 0,
"zone_append_total_time_ns": 0,
"zone_append_merged": 0,
"rd_operations": 200,
"flush_operations": 0,
"unmap_bytes": 0,
"zone_append_operations": 0,
"timed_stats": [],
"invalid_rd_operations": 0,
"unmap_operations": 0,
"invalid_wr_operations": 0,
"rd_bytes": 3668,
"unmap_total_time_ns": 0,
"wr_bytes": 0,
"invalid_unmap_operations": 0,
"zone_append_bytes": 0,
"failed_unmap_operations": 0,
"failed_zone_append_operations": 0,
"invalid_zone_append_operations": 0,
"wr_total_time_ns": 0,
"rd_merged": 0,
"wr_merged": 0,
"rd_total_time_ns": 931652,
"failed_flush_operations": 0,
"failed_wr_operations": 0,
"wr_highest_offset": 0,
"account_invalid": true,
"account_failed": true,
"failed_rd_operations": 0,
"invalid_flush_operations": 0
}
},
"cpu": 0.51059992396292,
"maxmem": 4294967296,
"mem": 4388405248,
"pid": 1405
},
"config": {
"vga": "std,memory=64",
"cpu": "host",
"memory": "4096",
"cores": 2
}
}

View File

@ -0,0 +1,4 @@
{"method": "synthetic F9 injection to decoded video marker in X11 root; includes xdotool startup and polling, excludes physical USB and panel scanout", "samples_ms": [], "timeouts": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "p50_ms": null, "p95_ms": null}
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.

View File

@ -0,0 +1,4 @@
{"method": "synthetic F9 injection to decoded video marker in X11 root; includes xdotool startup and polling, excludes physical USB and panel scanout", "samples_ms": [], "timeouts": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "p50_ms": null, "p95_ms": null}
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.

View File

@ -0,0 +1,87 @@
---CONF---
sunshine_name = VDI-Kylin
capture = x11
encoder = software
sw_preset = ultrafast
sw_tune = zerolatency
upnp = disabled
origin_web_ui_allowed = pc
hevc_mode = 1
audio_sink = vdi_audio
---SERVICE---
# /home/test1/.config/systemd/user/vdi-sunshine.service
[Unit]
Description=VDI Linux desktop Sunshine host
PartOf=graphical-session.target
After=graphical-session.target
[Service]
Environment=DISPLAY=:0 XAUTHORITY=/home/test1/.Xauthority
ExecStartPre=/bin/sh -c '/usr/bin/xrandr --query | grep -q 2560x1440_60.00 || /usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync'
ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00
ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00
ExecStartPre=/bin/sh -c 'pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio'
ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio
ExecStart=/opt/vdi-sunshine-0.21.0/usr/bin/sunshine /home/test1/.config/sunshine/sunshine.conf
ExecStartPost=-/usr/bin/gdbus call --session --dest org.ukui.KWin --object-path /Compositor --method org.ukui.kwin.Compositing.suspend
ExecStopPost=-/usr/bin/gdbus call --session --dest org.ukui.KWin --object-path /Compositor --method org.ukui.kwin.Compositing.resume
Restart=on-failure
RestartSec=5
[Install]
WantedBy=graphical-session.target
---STATUS---
● vdi-sunshine.service - VDI Linux desktop Sunshine host
Loaded: loaded (/home/test1/.config/systemd/user/vdi-sunshine.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-11-06 04:37:34 CST; 8h ago
Process: 1935 ExecStartPre=/bin/sh -c /usr/bin/xrandr --query | grep -q 2560x1440_60.00 || /usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (code=exited, status=0/SUCCESS)
Process: 1943 ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 1947 ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 1954 ExecStartPre=/bin/sh -c pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio (code=exited, status=0/SUCCESS)
Process: 2052 ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio (code=exited, status=0/SUCCESS)
Process: 2057 ExecStartPost=/usr/bin/gdbus call --session --dest org.ukui.KWin --object-path /Compositor --method org.ukui.kwin.Compositing.suspend (code=exited, status=1/FAILURE)
Main PID: 2056 (sunshine)
CGroup: /user.slice/user-1000.slice/user@1000.service/vdi-sunshine.service
└─2056 /opt/vdi-sunshine-0.21.0/usr/bin/sunshine /home/test1/.config/sunshine/sunshine.conf
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info:
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info:
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info: Found H.264 encoder: libx264 [software]
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info: Adding avahi service Sunshine
11月 06 04:37:35 test1 sunshine[2056]: [2026:11:06:04:37:35]: Info: Configuration UI available at [https://localhost:47990]
11月 06 04:37:35 test1 sunshine[2056]: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
11月 06 04:37:36 test1 sunshine[2056]: [2026:11:06:04:37:36]: Info: Avahi service Sunshine successfully established.
11月 06 04:37:37 test1 sunshine[2056]: [2026:11:06:04:37:37]: Info: System tray created
---KWIN---
699 /usr/bin/ukui-input-gather
1151 /usr/bin/ukui-media-control-led
1320 ukui-session
1379 /usr/bin/ukui-screensaver-dialog --lock-startup
1728 /usr/bin/ssh-agent /opt/sogouimebs/files/bin/sogouimebs-session /usr/bin/im-launch ukui-session
1906 /usr/lib/ukui-notification-daemon/ukui-notifications
2056 /opt/vdi-sunshine-0.21.0/usr/bin/sunshine /home/test1/.config/sunshine/sunshine.conf
2136 /usr/bin/ukuismserver
2165 /usr/bin/ukui-kwin_x11
2192 /usr/bin/ukui-screensaver-backend
2194 /usr/bin/ukui-settings-daemon
2208 /usr/bin/ukui-panel
2426 /usr/bin/ukui-powermanagement-service
2752 /usr/bin/ukui-menu
2756 /usr/lib/x86_64-linux-gnu/ukui-polkit/polkit-ukui-authentication-agent-1
2800 /usr/bin/ukui-bluetooth
2827 /usr/bin/ukui-powermanagement
2832 /usr/bin/ukui-search-app-data-service
2837 /usr/bin/ukui-search-service-dir-manager
2840 /usr/bin/ukui-search-service
2844 /usr/bin/ukui-search
2847 /usr/bin/ukui-sidebar
2853 /usr/bin/ukui-upower
2854 /usr/bin/ukui-volume-control-applet-qt
3468 /usr/bin/ukui-control-center-session
3487 /usr/bin/ukui-search-systemdbus
15123 bash -c printf '%s\n' '---CONF---'; cat ~/.config/sunshine/sunshine.conf; printf '%s\n' '---SERVICE---'; systemctl --user cat vdi-sunshine.service; printf '%s\n' '---STATUS---'; systemctl --user --no-pager -l status vdi-sunshine.service; printf '%s\n' '---KWIN---'; pgrep -af 'kwin|ukui|sunshine' || true; printf '%s\n' '---DISPLAY---'; xrandr --query 2>/dev/null || true
---DISPLAY---
ERR

View File

@ -0,0 +1,20 @@
Ubuntu VM102 2K45 25Mbps profile (2026-11-06)
Applied:
- VM: Ubuntu VM102 / 192.168.1.72
- resolution: 2560x1440
- FPS: 45
- bitrate: 25000 kbps (server and box ticket)
- Sunshine: KMS, libx264 software, ultrafast/zerolatency, 4 threads
- CPU affinity: 2-5
Verified:
- Guest sunshine restarted successfully, PID 12674.
- Server config reports fps=45 and bitrate=25000.
- Box desktop ticket desk-ubuntu-01 reports 2560x1440, fps=45, bitrate=25000.
Backups:
- Guest: /home/test2/.config/sunshine/backups/8vcpu-45fps-25mbps-20261106/sunshine.conf.before
- Box: /home/armbian/vdi-terminal/backups/ubuntu-2k45-25mbps-20261106-174317-442411/desktops.json
Reconnect Ubuntu and compare drag/click smoothness. This trades a small amount of image quality for less software-encoder pressure.

View File

@ -0,0 +1,17 @@
Ubuntu VM102 8-vCPU 2K45 trial profile (2026-11-06)
Verified PVE config:
- VM102 cores: 8 vCPU
- memory: 6144 MB
- cpu: host
- vga: virtio-gl
- status: running after restart
- host physical CPU remains 4 cores / 8 logical CPUs reported by PVE host
Applied to box ticket desk-ubuntu-01 (192.168.1.72):
- resolution: 2560x1440
- fps: 45 (30 before)
- bitrate: 30000 kbps (20000 before)
- backup: /home/armbian/vdi-terminal/backups/ubuntu-8vcpu-45fps-20261106-172255-399874
This is a reversible A/B trial. It applies on the next Ubuntu connection. The VM still uses Sunshine KMS + libx264 software encoding; vCPU increase does not create hardware encoding. Acceptance must use actual stream FPS and drag/click P95 latency.

View File

@ -0,0 +1,21 @@
Ubuntu VM102 8-vCPU software encoder tuning (2026-11-06)
Applied and verified:
- Sunshine capture: kms
- encoder: software (libx264)
- fps: 45 (was 30)
- bitrate: 30000 kbps (was 20000)
- sw_thread_count: 4 (was 2)
- user service CPUAffinity: 2-5 (was 2 3)
- sunshine process restarted and running; /proc affinity confirms 2-5
Box ticket already aligned:
- desk-ubuntu-01 / 192.168.1.72
- 2560x1440, 45 FPS, 30 Mbps
Backup on guest:
- /home/test2/.config/sunshine/backups/8vcpu-45fps-20261106/
Caveat:
- VM has 8 vCPU but host has 4 physical cores; this is an A/B trial, not a claim of 45 FPS or Windows equivalence.
- Reconnect Ubuntu and measure actual dynamic FPS plus drag/click P95. Roll back if frame pacing or tail latency worsens.

View File

@ -0,0 +1,128 @@
{
"status": {
"netin": 0,
"diskwrite": 0,
"mem": 796823552,
"pid": 2583,
"pressurecpufull": 0,
"agent": 1,
"name": "ubuntu-test",
"memhost": 796823552,
"maxmem": 6442450944,
"netout": 0,
"qmpstatus": "running",
"vmid": 102,
"pressurecpusome": 0,
"disk": 0,
"pressurememoryfull": 0,
"pressureiosome": 0,
"proxmox-support": {
"pbs-masterkey": true,
"backup-max-workers": true,
"pbs-dirty-bitmap-migration": true,
"backup-access-api": true,
"pbs-dirty-bitmap": true,
"query-bitmap-info": true,
"pbs-library-version": "2.0.3 (UNKNOWN)",
"pbs-dirty-bitmap-savevm": true,
"backup-fleecing": true
},
"status": "running",
"uptime": 1,
"cpu": 0,
"nics": {
"tap102i0": {
"netout": 0,
"netin": 0
}
},
"clipboard": null,
"running-machine": "pc-q35-11.0+pve0",
"cpus": 4,
"diskread": 0,
"ha": {
"managed": 0
},
"pressureiofull": 0,
"blockstat": {
"ide2": {
"unmap_total_time_ns": 0,
"zone_append_merged": 0,
"failed_rd_operations": 0,
"rd_operations": 0,
"invalid_rd_operations": 0,
"flush_total_time_ns": 0,
"invalid_zone_append_operations": 0,
"zone_append_total_time_ns": 0,
"timed_stats": [],
"failed_unmap_operations": 0,
"wr_operations": 0,
"unmap_bytes": 0,
"invalid_flush_operations": 0,
"rd_bytes": 0,
"account_failed": true,
"unmap_merged": 0,
"zone_append_operations": 0,
"failed_flush_operations": 0,
"wr_highest_offset": 0,
"failed_wr_operations": 0,
"rd_merged": 0,
"wr_total_time_ns": 0,
"zone_append_bytes": 0,
"invalid_unmap_operations": 0,
"account_invalid": true,
"invalid_wr_operations": 0,
"failed_zone_append_operations": 0,
"unmap_operations": 0,
"wr_bytes": 0,
"flush_operations": 0,
"rd_total_time_ns": 0,
"wr_merged": 0
},
"scsi0": {
"invalid_flush_operations": 0,
"unmap_bytes": 0,
"timed_stats": [],
"failed_unmap_operations": 0,
"wr_operations": 0,
"invalid_zone_append_operations": 0,
"zone_append_total_time_ns": 0,
"invalid_rd_operations": 0,
"flush_total_time_ns": 0,
"rd_operations": 0,
"failed_rd_operations": 0,
"zone_append_merged": 0,
"unmap_total_time_ns": 0,
"wr_merged": 0,
"flush_operations": 0,
"rd_total_time_ns": 0,
"unmap_operations": 0,
"invalid_wr_operations": 0,
"failed_zone_append_operations": 0,
"wr_bytes": 0,
"invalid_unmap_operations": 0,
"account_invalid": true,
"zone_append_bytes": 0,
"wr_total_time_ns": 0,
"rd_merged": 0,
"failed_wr_operations": 0,
"wr_highest_offset": 0,
"failed_flush_operations": 0,
"account_failed": true,
"rd_bytes": 0,
"unmap_merged": 0,
"zone_append_operations": 0
}
},
"pressurememorysome": 0,
"running-qemu": "11.0.3",
"maxdisk": 53687091200
},
"probe": {
"lspci -nnk | grep -A3 -E \"VGA|Display|3D\"": "00:01.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02)\n\tSubsystem: Red Hat, Inc. Device [1af4:1100]\n\tKernel driver in use: bochs-drm\n\tKernel modules: bochs\n--\n01:00.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)\n\tSubsystem: CLEVO/KAPOK Computer 4th Gen Core Processor Integrated Graphics Controller [1558:6557]\n\tKernel driver in use: i915\n\tKernel modules: i915\n",
"ls -l /dev/dri /dev/dri/by-path": "/dev/dri:\n总计 0\ndrwxr-xr-x 2 root root 100 11月 6 11:53 by-path\ncrw-rw---- 1 root video 226, 0 11月 6 11:53 card0\ncrw-rw---- 1 root video 226, 1 11月 6 11:53 card1\ncrw-rw---- 1 root render 226, 128 11月 6 11:53 renderD128\n\n/dev/dri/by-path:\n总计 0\nlrwxrwxrwx 1 root root 8 11月 6 11:53 pci-0000:00:01.0-card -> ../card0\nlrwxrwxrwx 1 root root 8 11月 6 11:53 pci-0000:01:00.0-card -> ../card1\nlrwxrwxrwx 1 root root 13 11月 6 11:53 pci-0000:01:00.0-render -> ../renderD128\n",
"for f in /sys/class/drm/card*/device/uevent /sys/class/drm/renderD*/device/uevent; do echo ---$f; cat $f; done": "---/sys/class/drm/card0/device/uevent\nDRIVER=bochs-drm\nPCI_CLASS=30000\nPCI_ID=1234:1111\nPCI_SUBSYS_ID=1AF4:1100\nPCI_SLOT_NAME=0000:00:01.0\nMODALIAS=pci:v00001234d00001111sv00001AF4sd00001100bc03sc00i00\n---/sys/class/drm/card0-Virtual-1/device/uevent\nMAJOR=226\nMINOR=0\nDEVNAME=dri/card0\nDEVTYPE=drm_minor\n---/sys/class/drm/card1/device/uevent\nDRIVER=i915\nPCI_CLASS=30000\nPCI_ID=8086:0416\nPCI_SUBSYS_ID=1558:6557\nPCI_SLOT_NAME=0000:01:00.0\nMODALIAS=pci:v00008086d00000416sv00001558sd00006557bc03sc00i00\n---/sys/class/drm/card1-DP-1/device/uevent\nMAJOR=226\nMINOR=1\nDEVNAME=dri/card1\nDEVTYPE=drm_minor\n---/sys/class/drm/card1-DP-2/device/uevent\nMAJOR=226\nMINOR=1\nDEVNAME=dri/card1\nDEVTYPE=drm_minor\n---/sys/class/drm/card1-eDP-1/device/uevent\nMAJOR=226\nMINOR=1\nDEVNAME=dri/card1\nDEVTYPE=drm_minor\n---/sys/class/drm/card1-HDMI-A-1/device/uevent\nMAJOR=226\nMINOR=1\nDEVNAME=dri/card1\nDEVTYPE=drm_minor\n---/sys/class/drm/card1-HDMI-A-2/device/uevent\nMAJOR=226\nMINOR=1\nDEVNAME=dri/card1\nDEVTYPE=drm_minor\n---/sys/class/drm/card1-HDMI-A-3/device/uevent\nMAJOR=226\nMINOR=1\nDEVNAME=dri/card1\nDEVTYPE=drm_minor\n---/sys/class/drm/renderD128/device/uevent\nDRIVER=i915\nPCI_CLASS=30000\nPCI_ID=8086:0416\nPCI_SUBSYS_ID=1558:6557\nPCI_SLOT_NAME=0000:01:00.0\nMODALIAS=pci:v00008086d00000416sv00001558sd00006557bc03sc00i00\n",
"for d in /dev/dri/card* /dev/dri/renderD*; do echo ===$d; LIBVA_DRIVER_NAME=i965 vainfo --display drm --device $d 2>&1 | head -80; done": "===/dev/dri/card0\nFailed to open the given device!\n===/dev/dri/card1\nFailed to open the given device!\n===/dev/dri/renderD128\nFailed to open the given device!\n",
"dmesg | grep -Ei \"i915|drm|gpu\" | tail -80": "dmesg: 读取内核缓冲区失败: 不允许的操作\n"
}
}

View File

@ -0,0 +1,127 @@
{
"running": true,
"status": {
"proxmox-support": {
"backup-access-api": true,
"pbs-dirty-bitmap-migration": true,
"pbs-dirty-bitmap": true,
"pbs-library-version": "2.0.3 (UNKNOWN)",
"pbs-dirty-bitmap-savevm": true,
"pbs-masterkey": true,
"query-bitmap-info": true,
"backup-max-workers": true,
"backup-fleecing": true
},
"running-machine": "pc-q35-11.0+pve0",
"qmpstatus": "running",
"blockstat": {
"ide2": {
"rd_total_time_ns": 0,
"wr_total_time_ns": 0,
"flush_operations": 0,
"zone_append_merged": 0,
"failed_wr_operations": 0,
"zone_append_operations": 0,
"unmap_operations": 0,
"timed_stats": [],
"account_invalid": true,
"unmap_bytes": 0,
"zone_append_total_time_ns": 0,
"invalid_zone_append_operations": 0,
"invalid_unmap_operations": 0,
"wr_highest_offset": 0,
"wr_merged": 0,
"rd_merged": 0,
"zone_append_bytes": 0,
"failed_flush_operations": 0,
"flush_total_time_ns": 0,
"unmap_total_time_ns": 0,
"invalid_rd_operations": 0,
"wr_bytes": 0,
"rd_bytes": 0,
"failed_rd_operations": 0,
"unmap_merged": 0,
"invalid_flush_operations": 0,
"invalid_wr_operations": 0,
"account_failed": true,
"failed_zone_append_operations": 0,
"failed_unmap_operations": 0,
"wr_operations": 0,
"rd_operations": 0
},
"scsi0": {
"wr_operations": 0,
"rd_operations": 0,
"failed_unmap_operations": 0,
"account_failed": true,
"failed_zone_append_operations": 0,
"invalid_wr_operations": 0,
"invalid_flush_operations": 0,
"unmap_merged": 0,
"wr_bytes": 0,
"rd_bytes": 0,
"failed_rd_operations": 0,
"invalid_rd_operations": 0,
"unmap_total_time_ns": 0,
"flush_total_time_ns": 0,
"failed_flush_operations": 0,
"zone_append_bytes": 0,
"wr_merged": 0,
"rd_merged": 0,
"invalid_unmap_operations": 0,
"wr_highest_offset": 0,
"invalid_zone_append_operations": 0,
"zone_append_total_time_ns": 0,
"account_invalid": true,
"unmap_bytes": 0,
"timed_stats": [],
"unmap_operations": 0,
"zone_append_merged": 0,
"zone_append_operations": 0,
"failed_wr_operations": 0,
"flush_operations": 0,
"rd_total_time_ns": 0,
"wr_total_time_ns": 0
}
},
"pressurecpufull": 0,
"agent": 1,
"clipboard": null,
"status": "running",
"name": "ubuntu-test",
"uptime": 1,
"vmid": 102,
"nics": {
"tap102i0": {
"netin": 0,
"netout": 0
}
},
"diskread": 0,
"memhost": 966209536,
"pid": 863298,
"mem": 966209536,
"cpus": 4,
"pressurememorysome": 0,
"maxdisk": 53687091200,
"pressurememoryfull": 0,
"netin": 0,
"running-qemu": "11.0.3",
"pressurecpusome": 0,
"pressureiosome": 0,
"netout": 0,
"pressureiofull": 0,
"disk": 0,
"maxmem": 6442450944,
"ha": {
"managed": 0
},
"cpu": 0,
"diskwrite": 0
},
"probe": {
"lspci -nnk | grep -A3 -E \"VGA|Display|3D\"": "00:01.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02)\n\tSubsystem: Red Hat, Inc. Device [1af4:1100]\n\tKernel driver in use: bochs-drm\n\tKernel modules: bochs\n--\n01:00.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)\n\tSubsystem: CLEVO/KAPOK Computer 4th Gen Core Processor Integrated Graphics Controller [1558:6557]\n\tKernel driver in use: i915\n\tKernel modules: i915\n",
"ls -l /dev/dri": "总计 0\ndrwxr-xr-x 2 root root 100 11月 6 11:38 by-path\ncrw-rw---- 1 root video 226, 0 11月 6 11:38 card0\ncrw-rw---- 1 root video 226, 1 11月 6 11:38 card1\ncrw-rw---- 1 root render 226, 128 11月 6 11:38 renderD128\n",
"for d in /dev/dri/renderD*; do echo DEVICE=$d; LIBVA_DRIVER_NAME=i965 vainfo --display drm --device $d 2>&1 | grep -E \"VAProfileH264|VAEntrypointEncSlice|error|failed|vendor\" | head -30; done": "DEVICE=/dev/dri/renderD128\n"
}
}

View File

@ -0,0 +1,562 @@
{
"captured_at": "2026-11-06T12:42:31+0800",
"trial": {
"temporary_vm_config": {
"vga": "std",
"hostpci0": "0000:00:02.0,pcie=1,rombar=0"
},
"vainfo": "H264High + VAEntrypointEncSlice confirmed",
"sunshine_kms": "h264_vaapi detected but KMS launch hung and client timed out",
"sunshine_x11": "not completed; display/session restart hung in xrandr; rolled back"
},
"final": {
"node_status": {
"loadavg": [
"1.50",
"1.56",
"0.72"
],
"rootfs": {
"avail": 2982932480,
"used": 34496696320,
"free": 5023461376,
"total": 39520157696
},
"cpuinfo": {
"cores": 4,
"family": "6",
"user_hz": 100,
"mhz": "3392.934",
"flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts vnmi md_clear flush_l1d",
"vendor": "GenuineIntel",
"model": "Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz",
"hvm": "1",
"cpus": 8,
"sockets": 1
},
"cpu": 0,
"memory": {
"available": 5342556160,
"used": 19727716352,
"free": 5275144192,
"total": 25070272512
},
"idle": 0,
"kversion": "Linux 7.0.14-25-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.14-25 (2026-10-17T20:42Z)",
"pveversion": "pve-manager/9.2.21/4f6e0ac86f9e8c7f",
"current-kernel": {
"version": "#1 SMP PREEMPT_DYNAMIC PMX 7.0.14-25 (2026-10-17T20:42Z)",
"release": "7.0.14-25-pve",
"machine": "x86_64",
"sysname": "Linux"
},
"ksm": {
"shared": 0
},
"swap": {
"used": 0,
"free": 8589930496,
"total": 8589930496
},
"uptime": 241,
"wait": 0,
"boot-info": {
"secureboot": 0,
"mode": "efi"
}
},
"vms": {
"100": {
"status": {
"netin": 4547765,
"memhost": 8685785088,
"diskwrite": 393178624,
"ha": {
"managed": 0
},
"running-qemu": "11.0.3",
"uptime": 225,
"name": "win10-test",
"cpus": 4,
"proxmox-support": {
"backup-max-workers": true,
"backup-access-api": true,
"pbs-dirty-bitmap-migration": true,
"pbs-masterkey": true,
"pbs-dirty-bitmap": true,
"pbs-library-version": "2.0.3 (UNKNOWN)",
"pbs-dirty-bitmap-savevm": true,
"backup-fleecing": true,
"query-bitmap-info": true
},
"diskread": 2630352492,
"netout": 542234,
"disk": 0,
"pressurecpusome": 0,
"agent": 1,
"pressurememoryfull": 0,
"status": "running",
"running-machine": "pc-q35-11.0+pve0",
"pressurememorysome": 0,
"maxdisk": 64424509440,
"qmpstatus": "running",
"cpu": 0,
"blockstat": {
"ide0": {
"failed_unmap_operations": 0,
"zone_append_bytes": 0,
"invalid_unmap_operations": 0,
"failed_flush_operations": 0,
"rd_total_time_ns": 8079,
"wr_merged": 0,
"rd_merged": 0,
"wr_total_time_ns": 0,
"invalid_zone_append_operations": 0,
"failed_zone_append_operations": 0,
"account_failed": true,
"account_invalid": true,
"wr_highest_offset": 0,
"failed_wr_operations": 0,
"invalid_flush_operations": 0,
"failed_rd_operations": 0,
"idle_time_ns": 221489626022,
"unmap_merged": 0,
"flush_total_time_ns": 0,
"timed_stats": [],
"zone_append_operations": 0,
"zone_append_total_time_ns": 0,
"flush_operations": 0,
"rd_operations": 3,
"zone_append_merged": 0,
"unmap_bytes": 0,
"wr_operations": 0,
"unmap_operations": 0,
"invalid_rd_operations": 0,
"unmap_total_time_ns": 0,
"wr_bytes": 0,
"invalid_wr_operations": 0,
"rd_bytes": 54
},
"ide2": {
"unmap_merged": 0,
"idle_time_ns": 221488380210,
"flush_total_time_ns": 0,
"wr_operations": 0,
"zone_append_total_time_ns": 0,
"rd_operations": 3,
"flush_operations": 0,
"zone_append_merged": 0,
"unmap_bytes": 0,
"timed_stats": [],
"zone_append_operations": 0,
"invalid_rd_operations": 0,
"unmap_operations": 0,
"invalid_wr_operations": 0,
"rd_bytes": 54,
"unmap_total_time_ns": 0,
"wr_bytes": 0,
"invalid_unmap_operations": 0,
"zone_append_bytes": 0,
"failed_unmap_operations": 0,
"failed_zone_append_operations": 0,
"invalid_zone_append_operations": 0,
"rd_merged": 0,
"wr_total_time_ns": 0,
"wr_merged": 0,
"rd_total_time_ns": 3348,
"failed_flush_operations": 0,
"failed_wr_operations": 0,
"wr_highest_offset": 0,
"account_invalid": true,
"account_failed": true,
"failed_rd_operations": 0,
"invalid_flush_operations": 0
},
"sata0": {
"unmap_total_time_ns": 215811,
"wr_bytes": 393178624,
"invalid_wr_operations": 0,
"rd_bytes": 2630352384,
"unmap_operations": 885,
"invalid_rd_operations": 0,
"zone_append_operations": 0,
"timed_stats": [],
"zone_append_total_time_ns": 0,
"rd_operations": 54061,
"zone_append_merged": 0,
"flush_operations": 560,
"unmap_bytes": 259342336,
"wr_operations": 10532,
"unmap_merged": 0,
"idle_time_ns": 123900087,
"flush_total_time_ns": 1722953934,
"invalid_flush_operations": 0,
"failed_rd_operations": 0,
"account_failed": true,
"account_invalid": true,
"wr_highest_offset": 63997423616,
"failed_wr_operations": 0,
"failed_flush_operations": 0,
"rd_total_time_ns": 73232369647,
"wr_merged": 0,
"wr_total_time_ns": 30870274641,
"rd_merged": 0,
"invalid_zone_append_operations": 0,
"failed_zone_append_operations": 0,
"failed_unmap_operations": 0,
"zone_append_bytes": 0,
"invalid_unmap_operations": 0
}
},
"mem": 8685785088,
"pid": 1329,
"maxmem": 8589934592,
"pressurecpufull": 0,
"nics": {
"tap100i0": {
"netin": 4547765,
"netout": 542234
}
},
"pressureiofull": 0,
"pressureiosome": 0,
"vmid": 100
},
"config": {
"name": "win10-test",
"smbios1": "uuid=52fd3777-0bb4-40a7-8136-b02c40947a11",
"agent": "1",
"net0": "virtio=BC:24:11:B4:01:43,bridge=vmbr0,firewall=1",
"boot": "order=sata0;ide2",
"ide0": "none,media=cdrom",
"vmgenid": "a1963978-050f-4b3c-8c9a-7a4d13d72f43",
"args": "-set device.hostpci0.x-pci-sub-vendor-id=0x1558 -set device.hostpci0.x-pci-sub-device-id=0x6557 -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -global pci-bridge.shpc=off -global pcie-root-port.hotplug=off",
"meta": "creation-qemu=11.0.0,ctime=1792722917",
"sockets": 1,
"hostpci0": "0000:01:00.0,pcie=1,rombar=1,romfile=gtx965m-clevo-readback-20261103.rom",
"sata0": "local-lvm:base-100-disk-0,size=60G",
"bios": "seabios",
"ostype": "win10",
"numa": 0,
"scsihw": "virtio-scsi-single",
"balloon": 0,
"cpu": "host,hidden=1",
"template": 0,
"memory": "8192",
"ide2": "none,media=cdrom",
"onboot": 1,
"cores": 4,
"machine": "pc-q35-11.0",
"digest": "dc27b827c60efe6154fda7b4194450a2de6b01f3"
}
},
"101": {
"status": {
"pressureiosome": 0.02,
"pressureiofull": 0.02,
"nics": {
"tap101i0": {
"netout": 168305,
"netin": 1063522
}
},
"vmid": 101,
"pressurecpufull": 0,
"clipboard": null,
"maxmem": 4294967296,
"pid": 1405,
"mem": 4389052416,
"pressurememorysome": 0,
"status": "running",
"running-machine": "pc-q35-11.0+pve0",
"qmpstatus": "running",
"maxdisk": 53687091200,
"blockstat": {
"ide2": {
"failed_rd_operations": 0,
"invalid_flush_operations": 0,
"account_invalid": true,
"account_failed": true,
"wr_highest_offset": 0,
"failed_wr_operations": 0,
"rd_total_time_ns": 931652,
"wr_merged": 0,
"failed_flush_operations": 0,
"invalid_zone_append_operations": 0,
"failed_zone_append_operations": 0,
"rd_merged": 0,
"wr_total_time_ns": 0,
"zone_append_bytes": 0,
"failed_unmap_operations": 0,
"invalid_unmap_operations": 0,
"wr_bytes": 0,
"unmap_total_time_ns": 0,
"rd_bytes": 3668,
"invalid_wr_operations": 0,
"unmap_operations": 0,
"invalid_rd_operations": 0,
"unmap_bytes": 0,
"rd_operations": 200,
"zone_append_merged": 0,
"flush_operations": 0,
"zone_append_total_time_ns": 0,
"zone_append_operations": 0,
"timed_stats": [],
"wr_operations": 0,
"unmap_merged": 0,
"idle_time_ns": 145189511040,
"flush_total_time_ns": 0
},
"scsi0": {
"failed_rd_operations": 0,
"invalid_flush_operations": 0,
"account_invalid": true,
"account_failed": true,
"failed_wr_operations": 0,
"wr_highest_offset": 48776974336,
"rd_total_time_ns": 51047076815,
"wr_merged": 0,
"failed_flush_operations": 0,
"invalid_zone_append_operations": 0,
"failed_zone_append_operations": 0,
"rd_merged": 0,
"wr_total_time_ns": 43093830193,
"zone_append_bytes": 0,
"failed_unmap_operations": 0,
"invalid_unmap_operations": 0,
"wr_bytes": 554038272,
"unmap_total_time_ns": 0,
"rd_bytes": 2151846400,
"invalid_wr_operations": 0,
"unmap_operations": 0,
"invalid_rd_operations": 0,
"rd_operations": 44667,
"zone_append_merged": 0,
"unmap_bytes": 0,
"flush_operations": 1489,
"zone_append_total_time_ns": 0,
"timed_stats": [],
"zone_append_operations": 0,
"wr_operations": 7540,
"idle_time_ns": 3163973019,
"unmap_merged": 0,
"flush_total_time_ns": 3212269246
}
},
"cpu": 0.13693614109854,
"netout": 168305,
"agent": 1,
"pressurecpusome": 0,
"disk": 0,
"pressurememoryfull": 0,
"name": "kylin-test",
"cpus": 2,
"proxmox-support": {
"pbs-dirty-bitmap-migration": true,
"pbs-masterkey": true,
"backup-access-api": true,
"pbs-dirty-bitmap": true,
"backup-max-workers": true,
"query-bitmap-info": true,
"pbs-library-version": "2.0.3 (UNKNOWN)",
"backup-fleecing": true,
"pbs-dirty-bitmap-savevm": true
},
"diskread": 2151850068,
"uptime": 224,
"running-qemu": "11.0.3",
"netin": 1063522,
"memhost": 4389052416,
"diskwrite": 554038272,
"ha": {
"managed": 0
}
},
"config": {
"boot": "order=scsi0;ide2;net0",
"net0": "virtio=BC:24:11:25:29:40,bridge=vmbr0,firewall=1",
"vmgenid": "cc8ff198-c228-4ac6-8c37-918d4978b79b",
"scsi0": "local-lvm:vm-101-disk-0,discard=on,iothread=1,size=50G",
"agent": "1",
"smbios1": "uuid=8ca270ad-7f1a-4da0-97f2-99a94eef9400",
"name": "kylin-test",
"ide2": "none,media=cdrom",
"digest": "d2e4e2fec9e0c35e3a7323096d171b573c4786ad",
"cores": 2,
"machine": "q35",
"onboot": 1,
"balloon": 0,
"scsihw": "virtio-scsi-single",
"memory": "4096",
"cpu": "host",
"numa": 0,
"ostype": "l26",
"vga": "std,memory=64",
"sockets": 1,
"meta": "creation-qemu=11.0.3,ctime=1793090566",
"bios": "seabios"
}
},
"102": {
"status": {
"name": "ubuntu-test",
"cpus": 4,
"proxmox-support": {
"pbs-library-version": "2.0.3 (UNKNOWN)",
"backup-fleecing": true,
"pbs-dirty-bitmap-savevm": true,
"query-bitmap-info": true,
"backup-max-workers": true,
"pbs-dirty-bitmap-migration": true,
"pbs-masterkey": true,
"backup-access-api": true,
"pbs-dirty-bitmap": true
},
"diskread": 1933861854,
"netout": 41817,
"agent": 1,
"pressurecpusome": 0,
"disk": 0,
"pressurememoryfull": 0,
"netin": 782948,
"memhost": 4089487360,
"diskwrite": 24302592,
"ha": {
"managed": 0
},
"uptime": 221,
"running-qemu": "11.0.3",
"pressurecpufull": 0,
"clipboard": null,
"pressureiosome": 0,
"nics": {
"tap102i0": {
"netout": 41817,
"netin": 782948
}
},
"pressureiofull": 0,
"vmid": 102,
"running-machine": "pc-q35-11.0+pve0",
"pressurememorysome": 0,
"status": "running",
"qmpstatus": "running",
"spice": 1,
"maxdisk": 53687091200,
"blockstat": {
"scsi0": {
"unmap_operations": 0,
"invalid_rd_operations": 0,
"unmap_total_time_ns": 0,
"wr_bytes": 24302592,
"invalid_wr_operations": 0,
"rd_bytes": 1933861376,
"idle_time_ns": 10437250753,
"unmap_merged": 0,
"flush_total_time_ns": 493481620,
"zone_append_total_time_ns": 0,
"rd_operations": 16834,
"zone_append_merged": 0,
"flush_operations": 102,
"unmap_bytes": 0,
"zone_append_operations": 0,
"timed_stats": [],
"wr_operations": 1121,
"account_invalid": true,
"account_failed": true,
"wr_highest_offset": 49610469376,
"failed_wr_operations": 0,
"failed_rd_operations": 0,
"invalid_flush_operations": 0,
"zone_append_bytes": 0,
"failed_unmap_operations": 0,
"invalid_unmap_operations": 0,
"wr_merged": 0,
"rd_total_time_ns": 35621037355,
"failed_flush_operations": 0,
"failed_zone_append_operations": 0,
"invalid_zone_append_operations": 0,
"rd_merged": 0,
"wr_total_time_ns": 3458008681
},
"ide2": {
"idle_time_ns": 205573689912,
"unmap_merged": 0,
"flush_total_time_ns": 0,
"zone_append_operations": 0,
"timed_stats": [],
"rd_operations": 26,
"flush_operations": 0,
"zone_append_merged": 0,
"unmap_bytes": 0,
"zone_append_total_time_ns": 0,
"wr_operations": 0,
"unmap_operations": 0,
"invalid_rd_operations": 0,
"wr_bytes": 0,
"unmap_total_time_ns": 0,
"rd_bytes": 478,
"invalid_wr_operations": 0,
"failed_unmap_operations": 0,
"zone_append_bytes": 0,
"invalid_unmap_operations": 0,
"failed_flush_operations": 0,
"wr_merged": 0,
"rd_total_time_ns": 90924,
"rd_merged": 0,
"wr_total_time_ns": 0,
"invalid_zone_append_operations": 0,
"failed_zone_append_operations": 0,
"account_failed": true,
"account_invalid": true,
"failed_wr_operations": 0,
"wr_highest_offset": 0,
"invalid_flush_operations": 0,
"failed_rd_operations": 0
}
},
"cpu": 0,
"maxmem": 6442450944,
"pid": 1514,
"mem": 4089487360
},
"config": {
"agent": "1",
"name": "ubuntu-test",
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"boot": "order=scsi0",
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"sockets": 1,
"bios": "seabios",
"ostype": "l26",
"numa": 0,
"vga": "virtio-gl",
"scsihw": "virtio-scsi-single",
"balloon": 0,
"cpu": "host",
"memory": "6144",
"ide2": "none,media=cdrom",
"cores": 4,
"machine": "q35",
"onboot": 1,
"digest": "854aab179bdb465716eb701fce3b2919843049a6"
}
}
},
"host_gpu": {
"stdout": "total 0\ndrwxr-xr-x 2 root root 80 Nov 6 12:36 by-path\ncrw-rw---- 1 root video 226, 1 Nov 6 12:36 card1\ncrw-rw---- 1 root render 226, 128 Nov 6 12:36 renderD128\n00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)\n\tSubsystem: CLEVO/KAPOK Computer Device [1558:6557]\n\tKernel driver in use: i915\n\tKernel modules: i915\n00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)\n",
"stderr": ""
},
"192.168.1.72": {
"stdout": "active\ncapture = x11\nencoder = software\nsw_preset = ultrafast\nsw_tune = zerolatency\n",
"stderr": ""
},
"192.168.1.71": {
"stdout": "active\ncapture = x11\nencoder = software\nsw_preset = ultrafast\nsw_tune = zerolatency\n",
"stderr": ""
}
}
}

View File

@ -0,0 +1,49 @@
ID=uid=1000(test2) gid=1000(test2) 组=1000(test2),4(adm),24(cdrom),27(sudo),30(dip),44(video),46(plugdev),100(users),114(lpadmin),992(render)
DRI=总计 0
drwxr-xr-x 2 root root 100 11月 6 12:05 by-path
crw-rw----+ 1 root video 226, 0 11月 6 12:05 card0
crw-rw----+ 1 root video 226, 1 11月 6 12:05 card1
crw-rw----+ 1 root render 226, 128 11月 6 12:05 renderD128
BY_PATH=LSPCI=00:01.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02)
Subsystem: Red Hat, Inc. Device [1af4:1100]
Kernel driver in use: bochs-drm
Kernel modules: bochs
00:1a.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
01:00.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
Subsystem: CLEVO/KAPOK Computer 4th Gen Core Processor Integrated Graphics Controller [1558:6557]
Kernel driver in use: i915
Kernel modules: i915
05:01.0 PCI bridge [0604]: Red Hat, Inc. QEMU PCI-PCI bridge [1b36:0001]
VAINFO=libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.12.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
ERR

View File

@ -0,0 +1,58 @@
{
"date": "2026-11-06",
"vm": "Ubuntu VM102 / 192.168.1.72 / Desktop",
"resolution": "2560x1440",
"moonlight": {
"fps": 45,
"bitrate_mbps": 30,
"codec": "H.264",
"decoder": "hardware",
"absolute_mouse": true,
"vsync": false,
"frame_pacing": false
},
"server_runtime": {
"capture": "KMS",
"device": "/dev/dri/card1 -> virtio_gpu",
"encoder": "libx264 [software]",
"observed_bitrate_mbps": 22.988,
"minimum_fps_target": "~22fps",
"cpu_affinity": "2-3",
"nice": 0
},
"tests": {
"drag": {
"sequences": 300,
"release_visible": true,
"motion_to_decoded_marker_ms": {
"p50": 221.13,
"p95": 304.25,
"max": 320.92
},
"frame_interval_ms": {
"p50": 66.69,
"p95": 150.13,
"max": 185.95
},
"effective_video_fps": 13.8
},
"hover": {
"p50_ms": 202.8,
"p95_ms": 262.87,
"max_ms": 311.41
},
"click_release": {
"p50_ms": 355.8,
"p95_ms": 421.32,
"max_ms": 454.24
},
"masked_input": {
"p50_ms": 180.25,
"p95_ms": 235.76,
"max_ms": 265.42
},
"synthetic_submit_ms": 191.57
},
"method_note": "XTest input to decoded response marker; excludes USB and scanout. Response probe used a temporary GTK window; synthetic submit is not a real browser page-switch measurement.",
"conclusion": "Optimization settings are partly active, but 2K interaction is still far from Windows-like near-zero latency. The dominant bottleneck remains KMS/virtio capture plus software x264 encoding."
}

View File

@ -0,0 +1,48 @@
test2 7831 1 1 13:44 ? 00:00:02 python3 /tmp/ubuntu-ops-response-source.py
{"t": 4162.282355109, "event": "masked-count", "mode": 3, "seq": 21}
{"t": 4162.552532005, "event": "masked-count", "mode": 3, "seq": 22}
{"t": 4162.881456195, "event": "masked-count", "mode": 3, "seq": 23}
{"t": 4163.21099318, "event": "masked-count", "mode": 3, "seq": 24}
{"t": 4163.534617686, "event": "synthetic-submit", "mode": 3, "seq": 1024}
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.245]: Info: Found monitor for DRM screencasting
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.245]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.245]: Info: Found connector ID [39]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.245]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.252]: Info: EGL: context priority set to MEDIUM
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.255]: Info: Screencasting with KMS
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.255]: Info: /dev/dri/card1 -> virtio_gpu
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.256]: Info: Found monitor for DRM screencasting
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.256]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.256]: Info: Found connector ID [39]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.256]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.263]: Info: EGL: context priority set to MEDIUM
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.267]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.267]: Info:
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.267]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.267]: Info:
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.267]: Info: Found H.264 encoder: libx264 [software]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.267]: Info: Executing [Desktop]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.364]: Info: New streaming session started [active sessions: 1]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.388]: Info: CLIENT CONNECTED
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.392]: Info: /dev/dri/card1 -> virtio_gpu
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.392]: Info: Screencasting with KMS
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.392]: Info: Mapped 'Virtual-1' to kmsgrab monitor index 0
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.395]: Info: /dev/dri/card1 -> virtio_gpu
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.395]: Info: Found monitor for DRM screencasting
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.395]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.395]: Info: Found connector ID [39]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.395]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: EGL: context priority set to MEDIUM
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Creating encoder [libx264]
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Color coding: SDR (Rec. 601)
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Color depth: 8-bit
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Color range: MPEG
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Streaming bitrate is 22988000
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.410]: Info: [libx264 @ 0x7767e8003a40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.412]: Info: [libx264 @ 0x7767e8003a40] profile Constrained Baseline, level 5.1, 4:2:0, 8-bit
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.417]: Info: Minimum FPS target set to ~22fps (45.4545ms)
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.878]: Info: Found default monitor by name: vdi_audio.monitor
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.937]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
11月 06 13:37:27 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:37:27.477]: Warning: Couldn't get drm fb for plane [45]: Invalid argument
ERR

View File

@ -0,0 +1,69 @@
---SERVICE---
● vdi-sunshine.service - VDI Linux desktop Sunshine host
Loaded: loaded (/home/test2/.config/systemd/user/vdi-sunshine.service; enabled; preset: enabled)
Drop-In: /run/user/1000/systemd/user/vdi-sunshine.service.d
└─90-native-cursor.conf
/home/test2/.config/systemd/user/vdi-sunshine.service.d
└─tune.conf
Active: active (running) since Fri 2026-11-06 13:36:28 CST; 2min 8s ago
Process: 3301 ExecStartPre=/usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (code=exited, status=1/FAILURE)
Process: 3303 ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 3305 ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 3306 ExecStartPre=/bin/sh -c pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio (code=exited, status=0/SUCCESS)
Process: 3311 ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio (code=exited, status=0/SUCCESS)
Main PID: 3313 (sunshine)
Tasks: 33 (limit: 5691)
Memory: 192.8M (peak: 194.2M)
CPU: 3min 19.311s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/vdi-sunshine.service
└─3313 /usr/bin/sunshine /home/test2/.config/sunshine/sunshine.conf capture=kms
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Color coding: SDR (Rec. 601)
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Color depth: 8-bit
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Color range: MPEG
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.406]: Info: Streaming bitrate is 22988000
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.410]: Info: [libx264 @ 0x7767e8003a40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.412]: Info: [libx264 @ 0x7767e8003a40] profile Constrained Baseline, level 5.1, 4:2:0, 8-bit
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.417]: Info: Minimum FPS target set to ~22fps (45.4545ms)
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.878]: Info: Found default monitor by name: vdi_audio.monitor
11月 06 13:36:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:36:36.937]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
11月 06 13:37:27 test2-Standard-PC-Q35-ICH9-2009 sunshine[3313]: [2026-11-06 13:37:27.477]: Warning: Couldn't get drm fb for plane [45]: Invalid argument
---CONF---
sunshine_name = VDI-Ubuntu
capture = x11
encoder = software
sw_preset = ultrafast
sw_tune = zerolatency
min_log_level = 2
upnp = disabled
origin_web_ui_allowed = pc
hevc_mode = 1
av1_mode = 0
audio_sink = vdi_audio
system_tray = disabled
# 2K/30 基线:低延迟优先
fps = 30
bitrate = 20000
q = 1
sw_thread_count = 2
# 输出范围限制在主显示器,避免整桌面编码
output_name = 0
---DROPINS---
/home/test2/.config/systemd/user/vdi-sunshine.service.d/tune.conf
---/home/test2/.config/systemd/user/vdi-sunshine.service.d/tune.conf
[Service]
CPUAffinity=2 3
Nice=-10
---GNOME---
false
'toggle-maximize'
---PROC---
3313 /usr/bin/sunshine /home/test2/.config/sunshine/sunshine.conf capture=kms
5437 bash -c echo ---SERVICE---; systemctl --user --no-pager -l status vdi-sunshine.service; echo ---CONF---; cat ~/.config/sunshine/sunshine.conf; echo ---DROPINS---; find ~/.config/systemd/user/vdi-sunshine.service.d -maxdepth 1 -type f -print -exec sh -c 'echo ---$1; cat "$1"' sh {} \; 2>/dev/null || true; echo ---GNOME---; gsettings get org.gnome.desktop.interface enable-animations 2>&1 || true; gsettings get org.gnome.desktop.wm.preferences action-double-click-titlebar 2>&1 || true; echo ---PROC---; pgrep -af sunshine || true; for p in $(pgrep -x sunshine); do grep -E '^Cpus_allowed_list|^State|^VmRSS' /proc/$p/status; ps -o pid,ni,pcpu,psr,cmd -p $p; done
State: S (sleeping)
VmRSS: 277992 kB
Cpus_allowed_list: 2-3
PID NI %CPU PSR CMD
3313 0 154 2 /usr/bin/sunshine /home/test2/.config/sunshine/sunshine.conf capture=kms
ERR

View File

@ -0,0 +1,235 @@
{
"host_pci": [
{
"device": "0x0416",
"subsystem_vendor": "0x1558",
"iommugroup": 0,
"vendor_name": "Intel Corporation",
"device_name": "4th Gen Core Processor Integrated Graphics Controller",
"id": "0000:00:02.0",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"vendor": "0x8086",
"subsystem_device": "0x6557",
"class": "0x030000"
},
{
"vendor": "0x8086",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"id": "0000:00:03.0",
"class": "0x040300",
"subsystem_device": "0x6557",
"device_name": "Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller",
"vendor_name": "Intel Corporation",
"iommugroup": 3,
"subsystem_vendor": "0x1558",
"device": "0x0c0c"
},
{
"device": "0x8c31",
"subsystem_vendor": "0x1558",
"iommugroup": 4,
"vendor_name": "Intel Corporation",
"device_name": "8 Series/C220 Series Chipset Family USB xHCI",
"id": "0000:00:14.0",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"vendor": "0x8086",
"class": "0x0c0330",
"subsystem_device": "0x6557"
},
{
"subsystem_vendor": "0x1558",
"device": "0x8c3a",
"iommugroup": 5,
"vendor_name": "Intel Corporation",
"device_name": "8 Series/C220 Series Chipset Family MEI Controller #1",
"subsystem_device": "0x6557",
"class": "0x078000",
"id": "0000:00:16.0",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"vendor": "0x8086"
},
{
"device": "0x8c2d",
"subsystem_vendor": "0x1558",
"vendor_name": "Intel Corporation",
"iommugroup": 6,
"device_name": "8 Series/C220 Series Chipset Family USB EHCI #2",
"class": "0x0c0320",
"subsystem_device": "0x6557",
"vendor": "0x8086",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"id": "0000:00:1a.0"
},
{
"device_name": "8 Series/C220 Series Chipset High Definition Audio Controller",
"subsystem_device": "0x6557",
"class": "0x040300",
"vendor": "0x8086",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"id": "0000:00:1b.0",
"device": "0x8c20",
"subsystem_vendor": "0x1558",
"vendor_name": "Intel Corporation",
"iommugroup": 7
},
{
"device_name": "8 Series/C220 Series Chipset Family USB EHCI #1",
"class": "0x0c0320",
"subsystem_device": "0x6557",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"vendor": "0x8086",
"id": "0000:00:1d.0",
"subsystem_vendor": "0x1558",
"device": "0x8c26",
"vendor_name": "Intel Corporation",
"iommugroup": 11
},
{
"device": "0x8c03",
"subsystem_vendor": "0x1558",
"vendor_name": "Intel Corporation",
"iommugroup": 12,
"device_name": "8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]",
"subsystem_device": "0x6557",
"class": "0x010601",
"vendor": "0x8086",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"id": "0000:00:1f.2"
},
{
"device": "0x8c22",
"subsystem_vendor": "0x1558",
"iommugroup": 12,
"vendor_name": "Intel Corporation",
"device_name": "8 Series/C220 Series Chipset Family SMBus Controller",
"subsystem_device": "0x6557",
"class": "0x0c0500",
"id": "0000:00:1f.3",
"vendor": "0x8086",
"subsystem_vendor_name": "CLEVO/KAPOK Computer"
},
{
"device_name": "GM204M [GeForce GTX 965M]",
"vendor": "0x10de",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"id": "0000:01:00.0",
"class": "0x030200",
"subsystem_device": "0x6557",
"device": "0x13d9",
"subsystem_vendor": "0x1558",
"vendor_name": "NVIDIA Corporation",
"iommugroup": 2
},
{
"device_name": "RTL8411B PCI Express Card Reader",
"class": "0xff0000",
"subsystem_device": "0x5287",
"id": "0000:03:00.0",
"subsystem_vendor_name": "Realtek Semiconductor Co., Ltd.",
"vendor": "0x10ec",
"device": "0x5287",
"subsystem_vendor": "0x10ec",
"iommugroup": 13,
"vendor_name": "Realtek Semiconductor Co., Ltd."
},
{
"iommugroup": 13,
"vendor_name": "Realtek Semiconductor Co., Ltd.",
"subsystem_vendor": "0x1558",
"device": "0x8168",
"subsystem_device": "0x6557",
"class": "0x020000",
"id": "0000:03:00.1",
"vendor": "0x10ec",
"subsystem_vendor_name": "CLEVO/KAPOK Computer",
"device_name": "RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller"
},
{
"class": "0x028000",
"subsystem_device": "0xb733",
"id": "0000:04:00.0",
"vendor": "0x10ec",
"subsystem_vendor_name": "Realtek Semiconductor Co., Ltd.",
"device_name": "RTL8723BE PCIe Wireless Network Adapter",
"iommugroup": 14,
"vendor_name": "Realtek Semiconductor Co., Ltd.",
"device": "0xb723",
"subsystem_vendor": "0x10ec"
}
],
"vm100": {
"machine": "pc-q35-11.0",
"agent": "1",
"memory": "8192",
"balloon": 0,
"cpu": "host,hidden=1",
"hostpci0": "0000:01:00.0,pcie=1,rombar=1,romfile=gtx965m-clevo-readback-20261103.rom",
"numa": 0,
"sata0": "local-lvm:base-100-disk-0,size=60G",
"ide2": "none,media=cdrom",
"net0": "virtio=BC:24:11:B4:01:43,bridge=vmbr0,firewall=1",
"boot": "order=sata0;ide2",
"ide0": "none,media=cdrom",
"cores": 4,
"vmgenid": "a1963978-050f-4b3c-8c9a-7a4d13d72f43",
"scsihw": "virtio-scsi-single",
"onboot": 1,
"smbios1": "uuid=52fd3777-0bb4-40a7-8136-b02c40947a11",
"sockets": 1,
"digest": "dc27b827c60efe6154fda7b4194450a2de6b01f3",
"meta": "creation-qemu=11.0.0,ctime=1792722917",
"name": "win10-test",
"ostype": "win10",
"args": "-set device.hostpci0.x-pci-sub-vendor-id=0x1558 -set device.hostpci0.x-pci-sub-device-id=0x6557 -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -global pci-bridge.shpc=off -global pcie-root-port.hotplug=off",
"template": 0,
"bios": "seabios"
},
"vm101": {
"machine": "q35",
"agent": "1",
"balloon": 0,
"cpu": "host",
"memory": "4096",
"numa": 0,
"ide2": "none,media=cdrom",
"net0": "virtio=BC:24:11:25:29:40,bridge=vmbr0,firewall=1",
"boot": "order=scsi0;ide2;net0",
"scsihw": "virtio-scsi-single",
"vga": "std,memory=64",
"cores": 2,
"scsi0": "local-lvm:vm-101-disk-0,discard=on,iothread=1,size=50G",
"vmgenid": "cc8ff198-c228-4ac6-8c37-918d4978b79b",
"onboot": 1,
"smbios1": "uuid=8ca270ad-7f1a-4da0-97f2-99a94eef9400",
"sockets": 1,
"digest": "d2e4e2fec9e0c35e3a7323096d171b573c4786ad",
"meta": "creation-qemu=11.0.3,ctime=1793090566",
"name": "kylin-test",
"ostype": "l26",
"bios": "seabios"
},
"vm102": {
"memory": "6144",
"balloon": 0,
"cpu": "host",
"agent": "1",
"machine": "q35",
"boot": "order=scsi0",
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"numa": 0,
"ide2": "none,media=cdrom",
"digest": "854aab179bdb465716eb701fce3b2919843049a6",
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"onboot": 1,
"sockets": 1,
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"cores": 4,
"scsihw": "virtio-scsi-single",
"vga": "virtio-gl",
"bios": "seabios",
"ostype": "l26",
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"name": "ubuntu-test"
}
}

View File

@ -0,0 +1,29 @@
Ubuntu VM102 Sunshine runtime configuration correction
Date: 2026-11-06
Before:
- sunshine.conf: capture = x11
- runtime native-cursor drop-in: ExecStart ... sunshine.conf capture=kms
- user drop-in: CPUAffinity=2 3; Nice=-10
- observed process nice: 0
Applied:
- changed /home/test2/.config/sunshine/sunshine.conf to capture = kms
- removed ineffective Nice=-10 from user drop-in
- retained CPUAffinity=2 3
- reloaded and restarted vdi-sunshine.service as test2
- backup: /home/test2/.config/sunshine/backups/runtime-config-20261106/
Verified:
- service: active/running
- MainPID: 14612
- ExecMainStatus: 0
- process command: /usr/bin/sunshine /home/test2/.config/sunshine/sunshine.conf
- Cpus_allowed_list: 2-3
- process nice: 0
- config capture: kms
- config encoder: software
- config fps/bitrate: 30 / 20000
Note:
- This correction aligns the configuration with the actual KMS capture path. It does not change the encoder; Sunshine remains libx264 software encoding until a real hardware or zero-copy encode path is available.

View File

@ -0,0 +1,25 @@
Ubuntu VM102 software-only fallback profile (2026-11-06)
Reason:
- No dedicated hardware encoder can be assigned to Ubuntu.
- VirtIO blob/host-visible trial was unstable and rolled back.
Applied only to box desktop ticket desk-ubuntu-01 (192.168.1.72):
- resolution: 2560x1440
- fps: 30 (was 45)
- bitrate: 20000 kbps (was unset/default)
- backup before FPS change: /home/armbian/vdi-terminal/backups/ubuntu-fps-20261106-161857-626756
- backup before bitrate change: /home/armbian/vdi-terminal/backups/ubuntu-low-latency-20261106-162036-471148
VM102 guest state remains:
- cpu=host, 4 vCPU, 6144 MB
- vga=virtio-gl
- Sunshine capture=kms, encoder=software, ultrafast/zerolatency, 2 threads
- GNOME animations disabled
Expected effect:
- Prevent a 45 FPS client request from building a software-encoder backlog.
- Keep 2K resolution while reducing frame pacing and interaction tail latency.
- This is the best reversible software profile on the current 4-core/no-GPU host; it cannot provide Windows hardware-encoder equivalence.
The ticket change applies on the next Ubuntu connection; an existing Moonlight session must be reconnected to use it.

View File

@ -0,0 +1,24 @@
---PROC---
118766 bash -c bash -lc sleep 12; echo ---PROC---; pgrep -af 'moonlight|native-cursor' || true; echo ---LOG---; tail -120 /tmp/ubuntu-vaapi-moonlight.log 2>/dev/null || true; echo ---SUNSHINE---; ssh -o BatchMode=yes -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/home/armbian/.config/vdi-terminal/native-cursor/192.168.1.72.known_hosts -i /home/armbian/.config/vdi-terminal/native-cursor/192.168.1.72.key test2@192.168.1.72 'journalctl --user -u vdi-sunshine.service -n 100 --no-pager' 2>/dev/null | tail -100
---LOG---
Traceback (most recent call last):
File "/home/test2/vdi-terminal/native-cursor-v1/host.py", line 299, in <module>
main()
File "/home/test2/vdi-terminal/native-cursor-v1/host.py", line 293, in main
stream()
File "/home/test2/vdi-terminal/native-cursor-v1/host.py", line 224, in stream
os.utime(RUN / 'lease', None)
FileNotFoundError: [Errno 2] No such file or directory
VDI native cursor: native cursor SSH ended
Traceback (most recent call last):
File "/home/armbian/vdi-terminal/bin/vdi-native-cursor", line 193, in <module>
launch(sys.argv[1:])
File "/home/armbian/vdi-terminal/bin/vdi-native-cursor", line 185, in launch
raise RuntimeError('native cursor preflight failed; reconnect after recovery')
RuntimeError: native cursor preflight failed; reconnect after recovery
---SUNSHINE---
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.
sleep: 缺少操作对象
请尝试执行 "sleep --help" 来获取更多信息。

View File

@ -0,0 +1,129 @@
---PROC---
119695 bash -c bash -lc rm -f /tmp/ubuntu-vaapi-moonlight.log /tmp/ubuntu-vaapi-moonlight.pid; VDI_NATIVE_CURSOR=0 nohup /home/armbian/vdi-terminal/bin/vdi-moonlight-rkmpp stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host >/tmp/ubuntu-vaapi-moonlight.log 2>&1 & echo $! >/tmp/ubuntu-vaapi-moonlight.pid; sleep 15; echo ---PROC---; pgrep -af 'moonlight|native-cursor' || true; echo ---LOG---; tail -120 /tmp/ubuntu-vaapi-moonlight.log || true
119702 /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host
---LOG---
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
00:00:14 - Qt Critical: Could not queue DRM page flip on screen HDMI1 (Permission denied)
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.
rm: 缺少操作对象
请尝试执行 "rm --help" 来获取更多信息。

View File

@ -0,0 +1,70 @@
---PROC---
119702 /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host
120283 bash -c bash -lc pkill -x moonlight 2>/dev/null || true; sleep 2; rm -f /tmp/ubuntu-vaapi-moonlight.log /tmp/ubuntu-vaapi-moonlight.pid; nohup env VDI_NATIVE_CURSOR=0 DISPLAY=:0 XAUTHORITY=/home/armbian/.Xauthority SDL_RENDER_DRIVER=opengles2 SDL_VIDEODRIVER=x11 /home/armbian/vdi-terminal/bin/vdi-moonlight-rkmpp stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host >/tmp/ubuntu-vaapi-moonlight.log 2>&1 & echo $! >/tmp/ubuntu-vaapi-moonlight.pid; sleep 15; echo ---PROC---; pgrep -af 'moonlight|native-cursor' || true; echo ---LOG---; tail -120 /tmp/ubuntu-vaapi-moonlight.log || true
120296 /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host
---LOG---
00:00:00 - SDL Info (0): Compiled with SDL 2.30.0
00:00:00 - SDL Info (0): Running with SDL 2.30.0
00:00:00 - Qt Info: Successfully loaded translation for "zh_CN"
00:00:00 - Qt Info: Loaded unique ID from settings: "95da1945b8736669"
00:00:01 - Qt Warning: qrc:/gui/main.qml:13:1: QML ApplicationWindow: ToolTip must be attached to an Item
00:00:02 - Qt Info: Found "gamecontrollerdb.txt" at "/home/armbian/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
00:00:02 - SDL Info (0): Loaded 436 new gamepad mappings
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:9
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:47009
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:47998
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:47999
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:48000
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:48002
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.255:48010
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:9
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:47009
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:47998
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:47999
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:48000
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:48002
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 192.168.1.72:48010
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:9
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:47009
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:47998
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:47999
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:48000
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:48002
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 255.255.255.255:48010
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:9
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:47009
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:47998
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:47999
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:48000
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:48002
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via 60.21.96.193:48010
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:9
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:47009
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:47998
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:47999
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:48000
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:48002
00:00:02 - Qt Info: Sent WoL packet to VDI-Ubuntu via ff02::1%wlan0:48010
00:00:02 - Qt Info: "VDI-Kylin" is now online at "192.168.1.71:47989"
00:00:02 - Qt Info: "DESKTOP-Q072ICM" is now online at "192.168.1.70:47989"
00:00:02 - Qt Debug: Current Moonlight version: "6.2.0"
00:00:02 - Qt Info: Discovered mDNS host: "DESKTOP-Q072ICM.local."
00:00:02 - Qt Info: Discovered mDNS host: "test1.local."
00:00:02 - Qt Info: Discovered mDNS host: "test2-Standard-PC-Q35-ICH9-2009.local."
00:00:04 - Qt Info: "VDI-Ubuntu" is now offline
00:00:05 - Qt Info: Resolving "test2-Standard-PC-Q35-ICH9-2009.local." timed out. Retrying...
00:00:05 - Qt Info: Processing new PC "test1.local." from mDNS with local address "192.168.1.71:47989"
00:00:05 - Qt Info: Processing new PC "DESKTOP-Q072ICM.local." from mDNS with local address "192.168.1.70:47989"
00:00:05 - Qt Info: Executing request: "http://192.168.1.71:47989/serverinfo?uniqueid=0123456789ABCDEF&uuid=bf08dc45d65047c4a15c60cd96685ad1"
00:00:05 - Qt Info: Executing request: "http://192.168.1.70:47989/serverinfo?uniqueid=0123456789ABCDEF&uuid=0d944b346955473fbd30e32f4ae9849f"
00:00:05 - Qt Info: Executing request: "https://192.168.1.70:47984/serverinfo?uniqueid=95da1945b8736669&uuid=6cb39e6b43bd4513afe03703d7aff5bf"
00:00:05 - Qt Info: Executing request: "https://192.168.1.71:47984/serverinfo?uniqueid=95da1945b8736669&uuid=9c31a7ededba4a60b774aceb103d5d16"
00:00:06 - Qt Info: Latest supported GFE server: "99.99.99.99"
00:00:08 - Qt Info: Processing new PC "test2-Standard-PC-Q35-ICH9-2009.local." from mDNS with local address "192.168.1.72:47989"
00:00:08 - Qt Info: Executing request: "http://192.168.1.72:47989/serverinfo?uniqueid=0123456789ABCDEF&uuid=39229538af0143868bef6e0928f8b2e0"
00:00:08 - Qt Info: Executing request: "https://192.168.1.72:47984/serverinfo?uniqueid=95da1945b8736669&uuid=a57f9b09e0624b01be2592df9c8c48c9"
00:00:13 - Qt Warning: Aborting timed out request for "https://192.168.1.72:47984/serverinfo?uniqueid=95da1945b8736669&uuid=a57f9b09e0624b01be2592df9c8c48c9"
00:00:13 - Qt Warning: "serverinfo" request failed with error: QNetworkReply::OperationCanceledError
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.

View File

@ -0,0 +1,9 @@
---PROC---
119702 Sl 05:50 50.9 /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host
120296 Sl 04:10 7.0 /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host
---LOG---
nohup: 缺少操作对象
请尝试执行 "nohup --help" 来获取更多信息。
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.

View File

@ -0,0 +1,65 @@
BASH=/usr/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:login_shell:patsub_replacement:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_EXECUTION_STRING=set
BASH_LINENO=()
BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
BASH_SOURCE=()
BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu")
BASH_VERSION='5.2.21(1)-release'
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DEBUGINFOD_URLS='https://debuginfod.ubuntu.com '
DIRSTACK=()
EUID=1000
GROUPS=()
HOME=/home/armbian
HOSTNAME=rk3528pro-ddr4
HOSTTYPE=aarch64
IFS=$' \t\n'
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:en
LC_ADDRESS=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_MESSAGES=zh_CN.UTF-8
LC_MONETARY=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_PAPER=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LOGNAME=armbian
MACHTYPE=aarch64-unknown-linux-gnu
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PAPERSIZE=a4
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PIPESTATUS=([0]="1")
PPID=118088
PS4='+ '
PWD=/home/armbian
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=2
SSH_CLIENT='192.168.1.159 63287 22'
SSH_CONNECTION='192.168.1.159 63287 192.168.1.188 22'
TERM=dumb
UID=1000
USER=armbian
XDG_RUNTIME_DIR=/run/user/1000
XDG_SESSION_CLASS=user
XDG_SESSION_ID=359
XDG_SESSION_TYPE=tty
_=']'
---PROC---
118088 bash -c bash -lc set -eu for p in $(pgrep -f '^/home/armbian/vdi-terminal/bin/vdi-kiosk-monitor -- ' || true); do kill $p || true; done for p in $(pgrep -f '^/home/armbian/vdi-terminal/bin/kiosk-shell$' || true); do kill $p || true; done pkill -f '^/home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream' 2>/dev/null || true sleep 2 rm -f /tmp/ubuntu-vaapi-moonlight.log /tmp/ubuntu-vaapi-moonlight.pid nohup /home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight stream 192.168.1.72 Desktop --resolution 2560x1440 --fps 30 --bitrate 30000 --display-mode fullscreen --video-codec H.264 --video-decoder hardware --absolute-mouse --capture-system-keys always --keep-awake --no-vsync --no-frame-pacing --audio-on-host >/tmp/ubuntu-vaapi-moonlight.log 2>&1 & echo $! >/tmp/ubuntu-vaapi-moonlight.pid sleep 12 printf '%s\n' '---PROC---'; pgrep -af 'moonlight|kiosk-shell|vdi-kiosk' || true printf '%s\n' '---LOG---'; tail -80 /tmp/ubuntu-vaapi-moonlight.log || true
---LOG---
/home/armbian/vdi-build/rkmpp-experiment/build/moonlight/app/moonlight: error while loading shared libraries: libQt5QuickTemplates2.so.5: cannot open shared object file: No such file or directory
ERR
Warning: Permanently added '192.168.1.188' (ED25519) to the list of known hosts.

View File

@ -0,0 +1,108 @@
● vdi-sunshine.service - VDI Linux desktop Sunshine host
Loaded: loaded (/home/test2/.config/systemd/user/vdi-sunshine.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-11-06 12:20:50 CST; 1min 21s ago
Process: 3569 ExecStartPre=/usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (code=exited, status=1/FAILURE)
Process: 3631 ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 3633 ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 3635 ExecStartPre=/bin/sh -c pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio (code=exited, status=0/SUCCESS)
Process: 3639 ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio (code=exited, status=0/SUCCESS)
Main PID: 3641 (sunshine)
Tasks: 14 (limit: 5691)
Memory: 52.4M (peak: 89.5M)
CPU: 873ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/vdi-sunshine.service
└─3641 /usr/bin/sunshine /home/test2/.config/sunshine/sunshine.conf
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.685]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info:
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info:
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: Found H.264 encoder: h264_vaapi [vaapi]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.692]: Info: No main thread features enabled, skipping event loop
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.696]: Info: Configuration UI available at [https://localhost:47990]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.697]: Info: Adding avahi service test2-Standard-PC-Q35-ICH9-2009
11月 06 12:20:51 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:51.572]: Info: Avahi service test2-Standard-PC-Q35-ICH9-2009 successfully established.
---
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva info: VA-API version 1.20.0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.558]: Error: Couldn't initialize va display: operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.558]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.558]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: Screencasting with KMS
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.612]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.612]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva info: VA-API version 1.20.0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.613]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.613]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Error: Couldn't initialize va display: operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.616]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.616]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.616]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.642]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.646]: Info: Screencasting with KMS
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.646]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva info: VA-API version 1.20.0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Error: Couldn't initialize va display: operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.685]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info:
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info:
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: Found H.264 encoder: h264_vaapi [vaapi]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.692]: Info: No main thread features enabled, skipping event loop
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.696]: Info: Configuration UI available at [https://localhost:47990]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.697]: Info: Adding avahi service test2-Standard-PC-Q35-ICH9-2009
11月 06 12:20:51 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:51.572]: Info: Avahi service test2-Standard-PC-Q35-ICH9-2009 successfully established.
ERR

View File

@ -0,0 +1,211 @@
● vdi-sunshine.service - VDI Linux desktop Sunshine host
Loaded: loaded (/home/test2/.config/systemd/user/vdi-sunshine.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-11-06 12:11:18 CST; 7min ago
Process: 2849 ExecStartPre=/usr/bin/xrandr --newmode 2560x1440_60.00 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (code=exited, status=1/FAILURE)
Process: 2897 ExecStartPre=/usr/bin/xrandr --addmode Virtual-1 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 2912 ExecStartPre=/usr/bin/xrandr --output Virtual-1 --mode 2560x1440_60.00 (code=exited, status=0/SUCCESS)
Process: 3037 ExecStartPre=/bin/sh -c pactl list short sinks | grep -qw vdi_audio || pactl load-module module-null-sink sink_name=vdi_audio sink_properties=device.description=VDI-Audio (code=exited, status=0/SUCCESS)
Process: 3041 ExecStartPre=/usr/bin/pactl set-default-sink vdi_audio (code=exited, status=0/SUCCESS)
Main PID: 3043 (sunshine)
Tasks: 14 (limit: 5691)
Memory: 52.0M (peak: 90.1M)
CPU: 812ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/vdi-sunshine.service
└─3043 /usr/bin/sunshine /home/test2/.config/sunshine/sunshine.conf
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.815]: Info: Trying encoder [vaapi]
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.815]: Info: Screencasting with KMS
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.816]: Info: /dev/dri/card1 -> i915
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.816]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.816]: Warning: No render device name for: /dev/dri/card0
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.743]: Info: Found monitor for DRM screencasting
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.744]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.744]: Info: Found connector ID [38]
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.744]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
---
tcp LISTEN 0 4096 0.0.0.0:47989 0.0.0.0:* users:(("sunshine",pid=3043,fd=21))
tcp LISTEN 35 4096 0.0.0.0:47984 0.0.0.0:* users:(("sunshine",pid=3043,fd=18))
---
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.013]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.013]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.013]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.013]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.038]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.043]: Info: Screencasting with KMS
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.044]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.046]: Error: Couldn't initialize va display: operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.046]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.046]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.047]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.047]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.047]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.047]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.047]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.047]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.068]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Info: Screencasting with KMS
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.074]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Error: Couldn't initialize va display: operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.076]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.097]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.103]: Info: Screencasting with KMS
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.104]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.105]: Error: Couldn't initialize va display: operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.105]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.106]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.126]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.130]: Info: Screencasting with KMS
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.130]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.130]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.131]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.131]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.131]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.131]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.131]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.132]: Error: Couldn't initialize va display: operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.132]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.132]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.132]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.132]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.133]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.133]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.133]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.133]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.152]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.156]: Info: Screencasting with KMS
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.156]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.156]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.156]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.156]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.157]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.157]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.157]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Error: Couldn't initialize va display: operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.158]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.179]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Info: Screencasting with KMS
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.184]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Error: Couldn't initialize va display: operation failed
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Info: /dev/dri/card1 -> i915
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Warning: No render device name for: /dev/dri/card0
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Info: Found monitor for DRM screencasting
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Info: Found connector ID [38]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.186]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.207]: Info: EGL: context priority set to MEDIUM
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.211]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.211]: Info:
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.211]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.211]: Info:
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.211]: Info: Found H.264 encoder: h264_vaapi [vaapi]
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.212]: Info: No main thread features enabled, skipping event loop
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.216]: Info: Adding avahi service test2-Standard-PC-Q35-ICH9-2009
11月 06 12:11:56 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:56.220]: Info: Configuration UI available at [https://localhost:47990]
11月 06 12:11:57 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:11:57.151]: Info: Avahi service test2-Standard-PC-Q35-ICH9-2009 successfully established.
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.815]: Info: Display device configuration is disabled. Reverting any active display device configuration.
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.815]: Info: Trying encoder [vaapi]
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.815]: Info: Screencasting with KMS
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.816]: Info: /dev/dri/card1 -> i915
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.816]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:16:36 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:36.816]: Warning: No render device name for: /dev/dri/card0
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.743]: Info: Found monitor for DRM screencasting
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: libva info: VA-API version 1.20.0
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.744]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.744]: Info: Found connector ID [38]
11月 06 12:16:59 test2-Standard-PC-Q35-ICH9-2009 sunshine[3043]: [2026-11-06 12:16:59.744]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
ERR

View File

@ -0,0 +1,102 @@
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.511]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.511]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.511]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.511]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.548]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.554]: Info: Screencasting with KMS
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.555]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.556]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva info: VA-API version 1.20.0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.558]: Error: Couldn't initialize va display: operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.558]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.558]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.559]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: Screencasting with KMS
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.607]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.612]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.612]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva info: VA-API version 1.20.0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.613]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.613]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Error: Couldn't initialize va display: operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.615]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.616]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.616]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.616]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.642]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.646]: Info: Screencasting with KMS
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.646]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva info: VA-API version 1.20.0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.647]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: libva error: vaGetDriverNames() failed with operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Error: Couldn't initialize va display: operation failed
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Warning: Monitor doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Info: /dev/dri/card1 -> i915
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.648]: Warning: No render device name for: /dev/dri/card0
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Info: Found monitor for DRM screencasting
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Error: Failed to determine panel orientation, defaulting to landscape.
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Info: Found connector ID [38]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.649]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 11: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 10: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: pci id for fd 13: 1234:1111, driver (null)
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.685]: Info: EGL: context priority set to MEDIUM
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info:
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: // Ignore any errors mentioned above, they are not relevant. //
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info:
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.691]: Info: Found H.264 encoder: h264_vaapi [vaapi]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.692]: Info: No main thread features enabled, skipping event loop
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.696]: Info: Configuration UI available at [https://localhost:47990]
11月 06 12:20:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:50.697]: Info: Adding avahi service test2-Standard-PC-Q35-ICH9-2009
11月 06 12:20:51 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:20:51.572]: Info: Avahi service test2-Standard-PC-Q35-ICH9-2009 successfully established.
11月 06 12:23:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:23:50.288]: Info: Display device configuration is disabled. Reverting any active display device configuration.
11月 06 12:23:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:23:50.288]: Info: Trying encoder [vaapi]
11月 06 12:23:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:23:50.288]: Info: Screencasting with KMS
11月 06 12:23:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:23:50.288]: Info: /dev/dri/card1 -> i915
11月 06 12:23:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:23:50.289]: Info: /dev/dri/card0 -> bochs-drm
11月 06 12:23:50 test2-Standard-PC-Q35-ICH9-2009 sunshine[3641]: [2026-11-06 12:23:50.289]: Warning: No render device name for: /dev/dri/card0
ERR

View File

@ -0,0 +1,28 @@
Ubuntu VM102 virtio blob/host-visible trial (2026-11-06)
Read-only preflight:
- Guest virtio-gpu reported: +virgl +edid -resource_blob -host_visible.
- Guest kernel: 7.0.0-38-generic.
- Mesa: 25.2.8-0ubuntu0.24.04.1.
- Current PVE display before trial: vga=virtio-gl.
Trial:
- Gracefully stopped VM102.
- Temporarily replaced managed display with:
vga=none
args=-device virtio-vga-gl,id=vga,blob=true,hostmem=512M
- VM process initially reported running, but the guest agent never became available after 70 seconds.
- No production stream was left on the trial configuration.
Rollback:
- Restored vga=virtio-gl.
- Removed custom args.
- Started VM102.
- Guest agent returned after 2 seconds.
- Final guest feature flags remain +virgl +edid -resource_blob -host_visible.
- Sunshine process is running with capture=kms and encoder=software.
Conclusion:
- The current Proxmox/QEMU managed virtio display path cannot be enabled for blob/host-visible resources through this custom override without losing stable guest boot/agent availability.
- Trial was fully reverted. Windows VM100 and Kylin VM101 were not changed.
- A production zero-copy path now requires a Proxmox/qemu-server version that exposes the virtio-vga-gl blob/hostmem properties natively, or a separate GPU/real hardware encoder for VM102.

View File

@ -0,0 +1,24 @@
{
"bios": "seabios",
"ostype": "l26",
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"name": "ubuntu-test",
"digest": "854aab179bdb465716eb701fce3b2919843049a6",
"onboot": 1,
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"sockets": 1,
"scsihw": "virtio-scsi-single",
"vga": "virtio-gl",
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"cores": 4,
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"boot": "order=scsi0",
"numa": 0,
"ide2": "none,media=cdrom",
"balloon": 0,
"cpu": "host",
"memory": "6144",
"agent": "1",
"machine": "q35"
}

View File

@ -0,0 +1,149 @@
{
"captured_at": "2026-11-06T12:05:49+0800",
"status": {
"clipboard": null,
"running-machine": "pc-q35-11.0+pve0",
"pressurecpufull": 0,
"maxdisk": 53687091200,
"running-qemu": "11.0.3",
"netout": 58690,
"diskread": 1889223646,
"pressurememorysome": 0,
"agent": 1,
"pressureiosome": 0,
"pressureiofull": 0,
"name": "ubuntu-test",
"ha": {
"managed": 0
},
"cpus": 4,
"uptime": 481,
"spice": 1,
"memhost": 4086345728,
"mem": 4086345728,
"maxmem": 6442450944,
"cpu": 0,
"vmid": 102,
"diskwrite": 28029952,
"status": "running",
"qmpstatus": "running",
"netin": 1144600,
"proxmox-support": {
"pbs-dirty-bitmap-savevm": true,
"pbs-library-version": "2.0.3 (UNKNOWN)",
"backup-access-api": true,
"query-bitmap-info": true,
"pbs-dirty-bitmap": true,
"pbs-masterkey": true,
"pbs-dirty-bitmap-migration": true,
"backup-fleecing": true,
"backup-max-workers": true
},
"disk": 0,
"pid": 1520,
"pressurecpusome": 0,
"blockstat": {
"scsi0": {
"wr_highest_offset": 49429331968,
"unmap_bytes": 0,
"failed_unmap_operations": 0,
"wr_total_time_ns": 6708139895,
"failed_rd_operations": 0,
"wr_bytes": 28029952,
"rd_bytes": 1889223168,
"invalid_zone_append_operations": 0,
"flush_operations": 132,
"failed_zone_append_operations": 0,
"rd_total_time_ns": 32396543010,
"idle_time_ns": 1679962459,
"timed_stats": [],
"zone_append_total_time_ns": 0,
"failed_flush_operations": 0,
"unmap_total_time_ns": 0,
"invalid_wr_operations": 0,
"invalid_flush_operations": 0,
"account_failed": true,
"invalid_unmap_operations": 0,
"failed_wr_operations": 0,
"wr_operations": 1101,
"rd_merged": 0,
"account_invalid": true,
"wr_merged": 0,
"zone_append_merged": 0,
"invalid_rd_operations": 0,
"unmap_merged": 0,
"rd_operations": 16531,
"flush_total_time_ns": 385717131,
"zone_append_operations": 0,
"zone_append_bytes": 0,
"unmap_operations": 0
},
"ide2": {
"wr_merged": 0,
"zone_append_merged": 0,
"account_invalid": true,
"unmap_merged": 0,
"invalid_rd_operations": 0,
"flush_total_time_ns": 0,
"rd_operations": 26,
"zone_append_operations": 0,
"unmap_operations": 0,
"zone_append_bytes": 0,
"account_failed": true,
"invalid_flush_operations": 0,
"failed_wr_operations": 0,
"invalid_unmap_operations": 0,
"wr_operations": 0,
"rd_merged": 0,
"rd_bytes": 478,
"idle_time_ns": 464813722915,
"invalid_zone_append_operations": 0,
"failed_zone_append_operations": 0,
"flush_operations": 0,
"rd_total_time_ns": 96813,
"zone_append_total_time_ns": 0,
"timed_stats": [],
"invalid_wr_operations": 0,
"failed_flush_operations": 0,
"unmap_total_time_ns": 0,
"wr_highest_offset": 0,
"failed_unmap_operations": 0,
"unmap_bytes": 0,
"wr_total_time_ns": 0,
"wr_bytes": 0,
"failed_rd_operations": 0
}
},
"pressurememoryfull": 0,
"nics": {
"tap102i0": {
"netout": 58690,
"netin": 1144600
}
}
},
"config": {
"cores": 4,
"digest": "854aab179bdb465716eb701fce3b2919843049a6",
"ide2": "none,media=cdrom",
"balloon": 0,
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"boot": "order=scsi0",
"machine": "q35",
"numa": 0,
"agent": "1",
"ostype": "l26",
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"name": "ubuntu-test",
"sockets": 1,
"scsihw": "virtio-scsi-single",
"vga": "virtio-gl",
"memory": "6144",
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"bios": "seabios",
"onboot": 1,
"cpu": "host"
}
}

View File

@ -0,0 +1,24 @@
{
"agent": "1",
"name": "ubuntu-test",
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"boot": "order=scsi0",
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"bios": "seabios",
"sockets": 1,
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"vga": "virtio-gl",
"numa": 0,
"ostype": "l26",
"memory": "6144",
"cpu": "host",
"balloon": 0,
"scsihw": "virtio-scsi-single",
"digest": "854aab179bdb465716eb701fce3b2919843049a6",
"cores": 4,
"machine": "q35",
"onboot": 1,
"ide2": "none,media=cdrom"
}

View File

@ -0,0 +1,24 @@
{
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"cores": 4,
"scsihw": "virtio-scsi-single",
"vga": "virtio-gl,memory=64",
"sockets": 1,
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"onboot": 1,
"digest": "a3a6b438cbdd901a77f65d4cc95a93485c83ba11",
"name": "ubuntu-test",
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"ostype": "l26",
"bios": "seabios",
"machine": "q35",
"agent": "1",
"memory": "6144",
"cpu": "host",
"balloon": 0,
"ide2": "none,media=cdrom",
"numa": 0,
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"boot": "order=scsi0"
}

View File

@ -0,0 +1,24 @@
{
"machine": "q35",
"agent": "1",
"memory": "6144",
"cpu": "host",
"balloon": 0,
"ide2": "none,media=cdrom",
"numa": 0,
"net0": "virtio=BC:24:11:36:06:DD,bridge=vmbr0,firewall=1",
"boot": "order=scsi0",
"scsi0": "local:102/vm-102-disk-0.qcow2,iothread=1,size=50G",
"vmgenid": "5eba3fcd-a19d-4ba6-82a5-e125824cb9cd",
"cores": 4,
"scsihw": "virtio-scsi-single",
"vga": "virtio-gl",
"sockets": 1,
"smbios1": "uuid=5a3c4a49-7354-407c-a152-d734e5db27b5",
"onboot": 1,
"digest": "854aab179bdb465716eb701fce3b2919843049a6",
"name": "ubuntu-test",
"meta": "creation-qemu=11.0.0,ctime=1792747553",
"ostype": "l26",
"bios": "seabios"
}

View File

@ -0,0 +1,8 @@
00:00:09 - SDL Info (0): VDI latest-frame queue: enabled
Global video stats
Incoming frame rate from network: 27.49 FPS
Host processing latency min/max/average: 55.8/115.4/83.4 ms
Average network latency: 3 ms (variance: 1 ms)
Average decoding time: 11.89 ms
Average frame queue delay: 0.18 ms
Average rendering time (including monitor V-sync latency): 2.09 ms

View File

@ -0,0 +1,8 @@
00:00:09 - SDL Info (0): VDI latest-frame queue: enabled
Global video stats
Incoming frame rate from network: 32.64 FPS
Host processing latency min/max/average: 48.3/143.0/60.8 ms
Average network latency: 3 ms (variance: 1 ms)
Average decoding time: 12.60 ms
Average frame queue delay: 0.22 ms
Average rendering time (including monitor V-sync latency): 1.97 ms

View File

@ -0,0 +1,21 @@
# 麒麟 2K 软件低延迟调整(2026-11-06)
本轮只修改麒麟 VM101。当前链路仍为 `2560x1440 + X11 + libx264 ultrafast/zerolatency`,未修改 Windows、Ubuntu 或盒子客户端。
## 已实施
麒麟 Sunshine 服务启动后现在会显式调用 `org.ukui.kwin.Compositing.suspend`,并补齐 `DISPLAY`、`XAUTHORITY`、`XDG_RUNTIME_DIR` 和 `DBUS_SESSION_BUS_ADDRESS`。原先服务启动时该调用经常因 KWin 尚未准备好而失败,导致合成器仍处于 active;现在服务启动后的 `ExecStartPost` 返回成功,KWin 状态确认是 `active=false`。
VM101 仍保持 `vga=std,memory=64`、2 vCPU;没有增加虚拟显存以外的硬件资源,也没有改动 PVE 显卡直通。
## 验收
Sunshine 日志确认麒麟仍以真实 2560×1440 X11 画面建立串流,并使用 `libx264`;盒子回到 kiosk 桌面入口,测试串流和临时测试进程已经退出。现有 2K 动态基准显示,关闭 UKUI/KWin 合成器时实际渲染约 23FPS,开启时约 19FPS;历史麒麟点击回显基准 P50 约 128ms、P95 约 169ms。
麒麟安全策略阻止本轮临时 GTK 测试脚本直接运行,因此本轮没有新增物理输入端到端样本;服务状态和显示链路验收通过。
## 结论
这项软件调整已经生效,能够减少桌面合成带来的重绘和排队,适合保留在 2K 配置中。它不能把 CPU 编码变成硬件编码,2K 下仍不能宣称完全达到 Windows 的延迟。下一步若还需继续压低尾延迟,应优先评估给麒麟增加 vCPU 是否会改善实际编码排队,但当前宿主总物理核数有限,不能直接盲目增加。
证据:[预检](evidence/kylin-quality-20261106-preflight.txt)、[合成器服务重启](evidence/kylin-quality-20261106-compositor-service-restart-v2.txt)、[最终状态](evidence/kylin-quality-20261106-final-state.txt)。

View File

@ -0,0 +1,54 @@
# Ubuntu 点击与悬停延迟新方案(2026-11-06)
## 结论
当前延迟的关键不是鼠标速度,也不是盒子渲染。VM102 仍由 Sunshine 的 `libx264` 软件编码输出,盒子端解码、队列和渲染约为 12ms、0.2ms 和 2ms;已测得 Ubuntu KMS 45FPS 的 hover 回显 P50/P95 约 196/220ms,按钮点击约 304/378ms。要接近 Windows,必须优先改变 Ubuntu 端的“真实硬件编码或捕获到编码的零拷贝路径”。
Sunshine 官方文档明确指出:Linux 的 X11 捕获 CPU 开销最高,应尽量使用 KMS;硬件编码可使用 VA-API、QuickSync 或 NVENC,KMS 与 VA-API 兼容。当前已保留 KMS + 原生光标组合,但编码仍是软件路径。[Sunshine 配置文档](https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2configuration.html)
## 新计划
### 1. 先做只读硬件可行性检查
检查 PVE 宿主的 Intel `00:02.0` 是否支持稳定的 VFIO 直通、是否有可用的 i915/mdev 能力,以及宿主是否依赖这块核显提供 PVE 或其他虚拟机图形服务。检查 Ubuntu 内核、`/dev/dri` 权限、`vainfo` 和 H.264 编码入口。检查只读完成前不改 VM、不重启宿主。
当前 PCI 盘点显示:Intel 4 代核显在 `00:02.0`,NVIDIA GTX 965M 在 `01:00.0` 且已分配给 Windows VM100,因此不能挪用 NVIDIA;Ubuntu 的 `virtio-gl` 只提供 VirGL 图形翻译,不等于真实硬件编码。[QEMU VirtIO GPU 文档](https://www.qemu.org/docs/master/system/devices/virtio/virtio-gpu.html)
已完成的只读预检显示 Ubuntu 当前只暴露 `virtio_gpu_dri.so`,没有 `i965`/`iHD` 编码驱动;`i965-va-driver`、`vainfo` 等包在 Ubuntu 软件源中可用,但安装软件包本身不能让 VirGL 变成真实 Intel 编码设备。预检快照见 [pve-readonly-preflight.json](evidence/ubuntu-latency-plan-20261106/pve-readonly-preflight.json)。
### 2. 首选路径:给 Ubuntu 使用真实 Intel 编码设备
如果只读检查确认宿主可以安全释放 Intel 核显,则建立 VM102 的备份,安排宿主维护窗口,把 Intel 核显以 VFIO 直通方式交给 Ubuntu,客体安装 Haswell 对应的 VA-API 驱动,先用独立 `vainfo` 和 FFmpeg 编码测试,再让 Sunshine 只使用 `encoder=vaapi`、`capture=kms`。Haswell 属于 `intel-vaapi-driver` 支持的 H.264 编码平台,但必须看到真实 i915 设备和 `VAEntrypointEncSlice`;VirGL 暴露的伪 VAAPI 已经在现场触发过 Mesa/virgl 崩溃,不能继续沿用。[Intel VA-API 驱动支持表](https://github.com/intel/intel-vaapi-driver/blob/master/README)
验收条件是 Sunshine 日志稳定出现 `Creating encoder [h264_vaapi]`,持续 10 分钟无崩溃、无回退到 `libx264`,并且 2560×1440 的 hover/click/drag 测试延迟显著下降。失败时只恢复 VM 配置和 Ubuntu 驱动,不碰 Windows VM100、麒麟 VM101 或盒子客户端。
如果宿主不能释放核显,第二选择是增加一块可被 Ubuntu 独占的低功耗硬件编码 GPU。仅升级 VirGL、增加虚拟显存或安装 Mesa 软件包不能替代这一步。
### 3. 无法获得真实 GPU 时的保底方案
保留当前 `capture=kms`、`host` CPU、`virtio-gl`、H.264 和原生光标,只做有基准的两项实验:
1. 评估 QEMU `virtio-gpu` 的 host memory/blob 配置,目标是减少桌面渲染读回;这只可能改善捕获前的渲染,不能把软件编码变成硬件编码。
2. 在宿主只有 4 个物理核的前提下,禁止盲目增加 VM vCPU 或继续堆 x264 线程;每次实验必须用同一套 2K 动态窗口和真实 GNOME 点击/拖拽数据验证,P95 变差就回退。
如果没有真实硬件编码,2K 下无法承诺达到 Windows 的约 90ms。此时应提供两个明确 profile:2K 画质优先,以及 1080p/更高帧率低延迟;由使用场景选择,而不是继续隐藏软件编码瓶颈。
## 验收与回退
- 同一盒子、同一网络、同一 60Hz 输入注入,分别记录 hover、button click、masked input、长按框选的 P50/P95。
- 同时记录 Sunshine 实际编码器、收流 FPS、主机处理延迟、网络 RTT、盒子解码/渲染耗时。
- 只有出现真实 `h264_vaapi`/`h264_qsv` 且延迟和尾部都改善,才保留新路径;出现崩溃、软件回退、画面损坏或 P95 变差立即恢复备份。
- 全部测试结束后恢复 Ubuntu 正常 Sunshine 服务、关闭原生光标守护租约,盒子回到桌面列表。
该方案的核心变化是先验证“真实硬件编码是否可用”,而不是再调鼠标主题、速度、虚拟显存或客户端队列。
## 2026-11-06 直通验证结果
本轮按计划对 VM102 做了可回退试验:临时使用 `hostpci0=0000:00:02.0,pcie=1,rombar=0` 和 `vga=std`,Ubuntu 成功识别 Intel HD 4600 的 `i915`,`vainfo` 显示 `VAProfileH264High` 与 `VAEntrypointEncSlice`。Sunshine 也能在启动探测中识别 `h264_vaapi`。
但这台 VM 的桌面显示仍由虚拟 Bochs/Virtual-1 提供。启用 KMS 后 Sunshine 在查找 DRM monitor 时长时间阻塞,Moonlight 的 `launch` 请求超时;重启 Sunshine 时 Xorg/xrandr 又出现长时间卡住,Sunshine 需要强制终止。切换 X11 捕获尚未能形成稳定串流,试验因此判定失败。
已完成回退并重启宿主恢复 i915:VM102 当前为 `vga=virtio-gl`、无 `hostpci0`,Ubuntu Sunshine 恢复 `capture=x11`、`encoder=software`;VM100、VM101、VM102 均为运行状态,Windows 的 NVIDIA 直通和麒麟配置未修改。完整过程证据见 [intel-vaapi-trial-final.json](evidence/ubuntu-latency-plan-20261106/intel-vaapi-trial-final.json)。
结论:当前这台宿主上,单纯把 Intel 核显直通给 Ubuntu 不能稳定打通“虚拟显示捕获 -> VAAPI 编码”链路,不能保留为生产优化。要继续把 Ubuntu 的交互回显压到 Windows 水平,需要给 Ubuntu 独占一块能同时提供显示/编码的 GPU,或改用支持零拷贝显示输出的虚拟 GPU 方案;继续调鼠标速度、虚拟显存和客户端队列不会消除这条编码瓶颈。

View File

@ -0,0 +1,28 @@
# Ubuntu 鼠标按键状态修复(2026-11-06)
本轮只修复盒子端 Moonlight 的输入状态,不修改 Ubuntu、麒麟或 Windows 虚拟机配置。
## 根因
绝对鼠标会话在连接中断、焦点切换或 SDL 队列丢失最后一个 `BUTTONUP` 时,客户端原来只释放键盘按键,未释放远端鼠标按钮。Ubuntu 会继续保持左键按下状态,因此窗口关闭、最大化、最小化按钮和拖拽都会表现为“点不到/卡住”。
## 修复
新增 `0006-vdi-release-stuck-mouse-buttons.patch`:
- 会话退出时显式发送左、中、右、X1、X2 五个鼠标按钮的释放事件;
- SDL 窗口失焦时同样清理按钮状态;
- 保留现有绝对坐标、KMS 捕获、原生 Ubuntu 光标和拖拽顺序处理。
## 验证
- RKMPP 客户端重新编译成功;
- SDL 事件边界、输入优先级、绝对坐标移动→按下→移动→释放 1000 轮测试全部通过;
- 新客户端通过原生光标握手、KMS 捕获、2560×1440 H.264 硬件解码启动;
- 会话退出后 Ubuntu 已恢复普通 Sunshine,原生光标守护为 inactive;
- 旧客户端 SHA256:`5d4330f703d7f8e053bc3795ca42bdaf231c9e9dd8ebb00a612013adbcccee03`;
- 新客户端 SHA256:`a09140efb4400a63153e2063358dda6ebea166be20c5b9b882e667230b0ac61e`。
盒子端旧客户端和两台 Linux 原生光标配置已备份到 `~/vdi-terminal/backups/mouse-release-20261106-20261106-095251/`;如果回归出现异常,可以恢复旧二进制和旧校验值。
这次修复针对“按键状态残留”导致的点击/拖拽失效。画面编码和网络造成的帧延迟仍由 KMS/virtio 读回与 Ubuntu 端 libx264 软件编码决定。

View File

@ -0,0 +1,16 @@
# Ubuntu 虚拟显存 A/B(2026-11-06)
本轮只测试 Ubuntu VM102。先备份了 PVE 配置,然后正常关闭并启动虚拟机,将 `virtio-gl` 的显存从默认值临时改为 64MB,再用同一套 2560×1440、45FPS、30Mbps、H.264、RKMPP/EGL、`VDI latest-frame queue` 和 GTK 动态窗口做对照。测试结束后已恢复原配置并再次正常启动。Windows、麒麟和盒子客户端二进制没有改动。
## 结果
| 配置 | 收流帧率 | 主机处理延迟平均值 | 解码 | 客户端渲染 |
| --- | ---: | ---: | ---: | ---: |
| `virtio-gl,memory=64`(临时) | 27.49 FPS | 83.4 ms | 11.89 ms | 2.09 ms |
| `virtio-gl`(恢复默认) | 32.64 FPS | 60.8 ms | 12.60 ms | 1.97 ms |
在这次同负载短样本中,64MB 没有改善动态画面,收流帧率下降、主机处理延迟上升,因此没有保留该参数。当前 PVE 配置仍为 `vga: virtio-gl`,Ubuntu 服务为 `vdi-sunshine.service=active`,原生光标守护在空闲时为 `inactive`。
盒子端解码、帧队列和渲染耗时仍只有约 12ms、0.2ms 和 2ms;剩余点击后画面延迟主要来自 Ubuntu 虚拟机内的 KMS/virtio 读回与 Sunshine 的 libx264 软件编码。继续调高虚拟显存或客户端鼠标速度不能解决这段链路。要接近 Windows 的约 90ms,需要 Linux 可用的硬件视频编码或更低开销的捕获路径。
原始统计:[vram64-stats.txt](evidence/ubuntu-vram-20261106/vram64-stats.txt)、[vramdefault-stats.txt](evidence/ubuntu-vram-20261106/vramdefault-stats.txt)。

View File

@ -11,6 +11,7 @@
- `0003-vdi-input-priority.patch` 在 Qt 根目录应用。可选地让帧就绪后的连续输入先执行,最多 32 条或 2ms,不能跨窗口/焦点/其他事件。`VDI_INPUT_PRIORITY=1` 才启用,默认关闭。另提供 `VDI_INPUT_TIMING=1` 的汇总统计,区分 SDL 输入派发年龄与主线程呈现调用耗时,不代表端到端延迟。
- `0004-vdi-power-key-policy.patch` 在 Moonlight Qt 根目录应用。客户端丢弃电源/睡眠键,以及 `Ctrl+Alt+Delete`、`Alt+F4`、`Win+L`、`Win+X`,防止云桌面被关机、重启、锁定或打开包含电源操作的系统菜单;按键不会发送到 Windows、Ubuntu 或麒麟客体系统。
- `0005-vdi-native-linux-cursor.patch` 在 Qt 根目录应用,为已配置的单座席Linux/X11/2K/绝对鼠标会话创建原生SDL光标,形状/热点/显隐经认证SSH同步,位置不等待视频帧;主机以精确SHA固定的捕获适配器在新连接前去除视频光标。状态过期等故障结束整次会话,恢复原服务后重连。Windows无对应profile,继续原逻辑。安装和限制见[模块说明](../native-cursor/README.md)。
- `0006-vdi-release-stuck-mouse-buttons.patch` 在焦点丢失和会话退出时显式释放五个远程鼠标按钮,避免一次中断丢失 `BUTTONUP` 后把 Ubuntu 留在“按住拖拽/点击”状态。
2026-11-03 的现场 RKMPP/EGL 使用独立 PacerRender 线程,诊断会话主线程 render 调用数为 0;因此第三补丁的新调度没有已证明的现场收益,未启用。当时默认客户端恢复至 SHA256 `35de7b1a4ade583823b23b5f2e012307f6d0a3848c8eb97bd6d4de9660afa00f`,该版本现保留作备份。2026-11-05加入0005后现场SHA为 `5d4330f703d7f8e053bc3795ca42bdaf231c9e9dd8ebb00a612013adbcccee03`,Linux profile在获取远端租约前严格校验此SHA;独立光标回归见[实施记录](../../docs/linux-native-cursor-20261105.md)。现场构建保留已有修改并加入0005,尚未重建部署其他任务的0004;构建器0001~0005清洁应用通过与现场补丁集合应分开判断。

View File

@ -0,0 +1,82 @@
--- a/app/streaming/input/input.h
+++ b/app/streaming/input/input.h
@@ -139,10 +139,14 @@
void handleTouchFingerEvent(SDL_TouchFingerEvent* event);
int getAttachedGamepadMask();
void raiseAllKeys();
+
+ // Release any remote mouse buttons when focus/session teardown interrupts
+ // the normal SDL button-up sequence.
+ void raiseAllMouseButtons();
void notifyMouseLeave();
void notifyFocusLost();
--- a/app/streaming/input/input.cpp
+++ b/app/streaming/input/input.cpp
@@ -278,13 +278,15 @@
// (desktop and exclusive), so we must check for that before releasing mouse capture.
if (!(SDL_GetWindowFlags(m_Window) & SDL_WINDOW_FULLSCREEN) && !m_AbsoluteMouseMode) {
setCaptureActive(false);
}
- // Raise all keys that are currently pressed. If we don't do this, certain keys
- // used in shortcuts that cause focus loss (such as Alt+Tab) may get stuck down.
+ // Raise all keys and mouse buttons that are currently pressed. If we don't
+ // do this, shortcuts or focus loss can leave the remote desktop in a stuck
+ // drag/click state.
raiseAllKeys();
+ raiseAllMouseButtons();
}
void SdlInputHandler::notifyFocusGained()
{
}
--- a/app/streaming/input/mouse.cpp
+++ b/app/streaming/input/mouse.cpp
@@ -25,10 +25,23 @@
}
}
}
}
+void SdlInputHandler::raiseAllMouseButtons()
+{
+ // A disconnect, focus loss, or a queued SDL event can skip BUTTONUP.
+ // Sending idempotent releases for every supported mouse button clears the
+ // host-side state and prevents the next session from inheriting a stuck
+ // drag/click.
+ static const int buttons[] = {BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT,
+ BUTTON_X1, BUTTON_X2};
+ for (int button : buttons) {
+ LiSendMouseButtonEvent(BUTTON_ACTION_RELEASE, button);
+ }
+}
+
void SdlInputHandler::handleMouseButtonEvent(SDL_MouseButtonEvent* event)
{
int button;
if (event->which == SDL_TOUCH_MOUSEID) {
--- a/app/streaming/session.cpp
+++ b/app/streaming/session.cpp
@@ -2338,12 +2338,15 @@
SDL_SetHint(SDL_HINT_TIMER_RESOLUTION, "0");
if (QGuiApplication::platformName() == "eglfs") {
QGuiApplication::restoreOverrideCursor();
}
- // Raise any keys that are still down
+ // Raise any keys or mouse buttons that are still down. A stream can end
+ // without SDL delivering the matching BUTTONUP, so clear the remote state
+ // before destroying the handler and opening the next session.
m_InputHandler->raiseAllKeys();
+ m_InputHandler->raiseAllMouseButtons();
// Destroy the input handler now. This must be destroyed
// before allowwing the UI to continue execution or it could
// interfere with SDLGamepadKeyNavigation.
delete m_InputHandler;

View File

@ -42,6 +42,7 @@ apply_vdi_patch "$TASK_ROOT/src/moonlight/moonlight-common-c/moonlight-common-c"
apply_vdi_patch "$TASK_ROOT/src/moonlight" "$PATCH_DIR/0003-vdi-input-priority.patch"
apply_vdi_patch "$TASK_ROOT/src/moonlight" "$PATCH_DIR/0004-vdi-power-key-policy.patch"
apply_vdi_patch "$TASK_ROOT/src/moonlight" "$PATCH_DIR/0005-vdi-native-linux-cursor.patch"
apply_vdi_patch "$TASK_ROOT/src/moonlight" "$PATCH_DIR/0006-vdi-release-stuck-mouse-buttons.patch"
# Moonlight 6.2.0 uses std::optional in drm.h but relies on a transitive
# include from Qt 6. Our Qt 5 build needs the standard header explicitly.