我有一个本地千兆连接,远远超出了我的需求,但它绝对可以轻松支持 1080p 视频和音频流。我的问题有两个,第一是输入,第二是初始化 GLX 上下文。
运行 Minecraft 后,令我惊讶的是,它启动得很完美,唯一的问题是它只记录了 1/100 时间的按键,视图也表现得好像鼠标在旋转。我认为这是因为鼠标没有锁定在程序上,而是读取当前光标位置而不是相对运动。许多事件似乎没有通过 xpra 传递,例如按键按下和松开、鼠标锁定,我相信还有很多其他事件。
第二个问题是启动尝试创建某种 GLX 上下文的 3D 应用程序。 glxgears
可以,但许多 3D 应用程序无法启动,例如通过 wine 的 Battle.net、Garrys mod 和 VRChat 返回glXChooseVisual failed
所有应用程序在没有 xpra 的主机上都能正常运行。
我的问题是:如何克服这些问题,以便通过从主机到客户端的 xpra 连接无缝玩游戏?
我正在运行一个非常强大的桌面服务器和一台带有 xpra 客户端的轻量级笔记本电脑,两者都装有 Arch Linux。
答案1
我有一个本地千兆连接,远远超出了我的需求,但它绝对可以轻松支持 1080p 视频和音频流
1080p 60Hz,24 位色彩,使用 3.20 Gbps,参见标准视频的刷新频率限制,因此严格来说,千兆连接是不够的,除非您使用某种形式的快速压缩和/或损失一些质量,或者您愿意跳过帧。Xpra 可以做所有这些事情。
唯一的问题是它只能记录 1/100 的按键时间
这很奇怪,从未有人报告过这种情况。您可能想使用键盘同步选项,如果失败,请在 xpra 错误跟踪器上提交工单。
相信这是因为鼠标没有锁定在程序上,读取当前光标位置而不是相对运动
我猜是指针加速,你可以尝试使用uinput 虚拟指针反而。
许多事件似乎没有通过 xpra 传递,例如按键按下和弹起、鼠标锁定,我相信还有很多其他事件。
除非另有证据,否则这些事件始终会被传递 - 尽管 Minecraft 可能正确处理它们,也可能不正确。您可以使用调试开关运行 xpra 客户端和/或服务器-d keyboard
来查看这些事件。
第二个问题是启动尝试创建某种 GLX 上下文的 3D 应用程序。