#16175·rustdesk

无人值守的 Wayland DRM/KMS 多显示器捕获速度限制在 ~30 FPS

作者: JornHermans创建于 2026年9月12日更新于 2026年9月13日
标签bug

问题描述 当在多显示器 Linux 系统上使用新的无人值守 Wayland 实现时,所有远程显示器似乎都被限制在大约 30 FPS,即使 RustDesk 客户端配置为 120 FPS,且所有远程显示器都以 120 Hz 运行。 新的无人值守 Wayland 实现比以前的行为有所改进,因为现在所有三个显示器都被一致捕获。 然而,没有一个显示器超过大约 30 FPS。 使用以前的 Wayland 构建时,一个显示器可以达到大约 60 FPS,而其他两个显示器通常被限制在大约 8 FPS。 使用无人值守 Wayland 1.5.0,结果现在大约为: 显示器 1: 30 FPS 显示器 2: 30 FPS 显示器 3: 30 FPS 这种情况即使在连续运动时也会发生,例如播放 YouTube 视频。 远程显示器本身已确认在 KDE Plasma/Wayland 下以 120 Hz 运行正常。 查看当前的 RustDesk 源代码,DRM/KMS 捕获实现包含: const FRAME_INTERVAL: Duration = Duration::from_millis(33); 在: src/ipc/drm.rs 33 ms 对应于大约 30.3 FPS,似乎与观察到的限制相匹配。 ### 如何重现 1. 使用在 Wayland 上运行 KDE Plasma 的 Linux 远程机。 2. 配置三个活动显示器。 3. 将所有三个显示器设置为 120 Hz。 4. 在远程机上安装 RustDesk 无人值守 Wayland 1.5.0 构建。 5. 从另一台 Linux 系统使用 RustDesk 连接。 6. 为控制客户端配置自定义质量和 120 FPS。 7. 打开所有三个远程显示器。 8. 在远程显示器上生成连续运动,例如播放视频。 9. 启用 RustDesk 质量监控器并观察 FPS。 三个远程显示器流仍保持在大约 30 FPS,并没有增加到配置的 120 FPS。 ### 预期行为 无人值守 Wayland DRM/KMS 捕获后端理想情况下应该尊重请求/自定义 FPS 设置,而不是被限制在大约 30 FPS。 例如,如果客户端请求 60 或 120 FPS,且远程硬件、显示刷新率和网络连接能够处理它,捕获后端应该能够以该速率生成帧。 或者,DRM 捕获帧间隔可以配置,而不是使用固定的 33 ms 间隔。 示例: 33 ms → ~30 FPS 16 ms → ~60 FPS 8 ms → ~120 FPS 对于高带宽 LAN 连接,至少 60 FPS 选项已经提供了显著改进。 ### 本地(控制)侧和远程(受控)侧的操作系统 Ubuntu Linux -> Kubuntu Linux, KDE Plasma/Wayland ### 本地(控制)侧和远程(受控)侧的 RustDesk 版本 RustDesk Wayland 1.4.9 Stable -> RustDesk unattended Wayland 1.5.0 ### 屏幕截图 Ubuntu Linux -> Kubuntu Linux, KDE Plasma/Wayland 远程系统详情: NVIDIA RTX A4000 NVIDIA 驱动 595.91.07 Linux 内核 7.0.0-31-generic 三个活动显示器…

内容来源: rustdesk/rustdesk