XR Linux 驱动
这是什么?
这个驱动程序允许你的 Linux 设备(包括 Steam Deck)在插入支持的 XR 眼镜(参见支持的设备)时自动识别它们,并将眼镜的移动转换为鼠标移动和外部广播,游戏或任何应用程序都可以利用这些信息。
如果你正在寻找 3dof 虚拟显示器,这个驱动程序本身不提供该功能;相反,请查看 Breezy 或使用 Steam Deck 插件,它在底层安装了 Breezy。
支持的设备
检查下面列表看你的设备是否受支持。注意:请确保你的设备使用最新固件。
品牌 | 型号 | 状态 | 推荐? | x86_64 (AMD64) | AARCH64 (ARM64) | 固件更新 | 备注 |
---|---|---|---|---|---|---|---|
VITURE | One,One Lite, Pro | 已上线 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | 官方更新网站。需要 Windows/Mac 上的 Chrome。 | 官方合作。闭源 SDK 可用。 |
TCL/RayNeo | NXTWEAR S/S+; Air 2 | 已上线 | :heavy_check_mark: | :heavy_check_mark: | 官方合作,闭源 SDK | ||
Rokid | Max, Air | 已上线 (v0.10.7,尚未在 decky 中) | :heavy_check_mark: | :heavy_check_mark: | 官方合作,闭源 SDK | ||
XREAL | Air 1, 2, 2 Pro | 已上线 | :x: | :heavy_check_mark: | :heavy_check_mark: | 官方更新网站。需要 Chrome。 | 不愿合作。非官方、开源 SDK。存在漂移、噪音问题。 |
使用方法
通过 Decky Loader 在 Steam Deck 上使用
对于 Steam Deck 用户,驱动程序可通过 Decky 插件加载器 获得。只需在 Decky 商店中搜索 "xr" 即可安装和使用,无需离开游戏模式。现在你可以通过 Decky 侧边栏菜单启用或禁用驱动程序并管理其他驱动程序设置。
如果你进入桌面模式,你仍可选择使用以下说明进行手动安装。
手动安装
注意:此安装仅适用于带有鼠标/摇杆支持的基本驱动程序。如果你正在寻找虚拟显示模式,请查看 breezy-desktop 设置。
- 下载设置脚本 并设置执行权限(例如,在终端中:
chmod +x ~/Downloads/xr_driver_setup
) - 以 root 身份运行设置脚本(例如
sudo ~/Downloads/xr_driver_setup
)
现在,你的设备应该能自动识别插入的眼镜,并将其移动转换为鼠标移动。如果你没有看到这种效果,请查看 $XDG_STATE_HOME/xr_driver/driver.log
中的日志,并在此处报告问题,附上日志内容。
开启或关闭自动驱动使用
要禁用驱动程序并关闭鼠标移动而不完全删除它,你可以使用配置脚本(例如 xr_driver_cli -d
禁用,-e
重新启用)。运行此脚本时不带参数可查看其用法。配置存储在 $XDG_CONFIG_HOME/xr_driver/config.ini
文件中。
实际使用
由于设备移动被转换为鼠标移动,任何支持键盘/鼠标输入的 PC 游戏都应该能识别它们。这对于使用鼠标移动控制"查看"/摄像机移动的游戏最为自然。对于点击式游戏,你可能需要禁用驱动程序,使眼镜仅作为简单显示器使用。
要调整头部移动映射到鼠标移动的灵敏度,请在 Steam Deck 上使用 Decky UI,或通过终端使用 xr_driver_cli --mouse-sensitivity 20
。
如果你使用键盘和鼠标控制游戏,那么这个驱动程序产生的鼠标移动将简单地叠加到你自己的鼠标移动上,它们应该能自然地一起工作。
如果你使用游戏控制器,Valve 强烈推动 PC 游戏支持鼠标输入以及控制器输入,所以你应该发现大多数现代游戏可以直接使用这个驱动程序。
如果你的游戏不能很好地混合鼠标和控制器移动,最佳选择可能是将控制器的输入转换为键盘和鼠标。继续阅读,了解如何为 Steam 和非 Steam 游戏实现这一点。
Steam
- 在 Steam 中打开你的游戏的控制器配置
- 打开布局视图
- 选择键盘/鼠标模板(例如"键盘(WASD)和鼠标")。确保编辑配置并将"陀螺仪行为"设置为"作为鼠标",适用于你想使用陀螺仪的任何游戏。
非 Steam
你可能需要使用一个实现 Steam 控制器布局背后功能的工具:将控制器按钮、摇杆和陀螺仪输入映射到键盘/鼠标输入。一个流行的工具是 JoyShockMapper。
启用摇杆模式
如果鼠标输入完全无法工作,最后一个替代方案是启用驱动程序的游戏手柄模式。在Steam Deck上可以通过Decky UI启用,或者在终端中使用xr_driver_cli --use-joystick
命令(可以使用--use-mouse
恢复)。这将创建一个虚拟游戏手柄,其右摇杆由眼镜的移动驱动。这种方式并不理想,因为摇杆移动在技术上是有上限的(摇杆只能移动这么远...),而且它在你的PC上是第二个控制器。如果你尝试玩的游戏可以接受由两个控制器驱动,那么这可能会奏效,但如果你的游戏将另一个控制器解释为第二个玩家,那么它的移动就不会与你真实控制器的移动结合在一起。
更新
如果使用Decky,更新是通过Decky安装的。
否则,只需重新运行xr_driver_setup
文件即可。无需重新下载此脚本,因为它会自动为你下载最新的安装二进制文件。
卸载
如果你想完全删除安装,请以root身份运行以下脚本:~/.local/bin/xr_driver_uninstall
。对于Steam Deck用户,你可以通过Decky界面卸载插件,但在这个Decky功能请求得到解决之前,你仍需要从桌面模式手动运行终端命令来完成卸载。
开发
依赖项
你可以使用cmake
构建二进制文件,目前有几个依赖项:
Fusion和hidapi的源代码作为Git子模块包含在内,你需要使用git submodules
命令检出。json-c可能已经随你的发行版安装,你需要安装libevdev(例如sudo apt install libevdev-dev
)。
构建和测试
对于本地测试,你需要使用与部署相同的包:运行bin/package
创建gzip文件,然后运行sudo bin/xr_driver_setup $(pwd)/build/xrDriver.tar.gz
来安装和测试它。
部署
要创建部署用的gzip文件,请运行bin/package
。将生成的gzip文件和bin/xr_driver_setup
文件上传到新的Release。
数据隐私声明
你的隐私权和个人数据保护被纳入了关于如何收集、处理和存储你的个人数据的每一个决定中。你的个人数据绝不会以任何形式被共享、出售或分发。
收集的数据
为了向你提供支持者级别的功能,本应用程序及其后端服务必须收集以下个人信息:
- 你的电子邮件地址从支付供应商(Ko-fi)或你的设备(根据你的请求)发送到本应用程序的后端服务器。你的电子邮件地址可能在收到后立即以未更改的形式用于发送交易电子邮件,但随后会在存储前进行哈希处理。未更改的电子邮件地址形式永远不会被存储,也无法再被引用。哈希值被存储以供日后参考。
- 支付供应商可能会发送其他个人数据,但这些数据从不被使用或存储。
- 你设备的MAC地址在你的设备上进行哈希处理。它永远不会以原始、未更改的形式离开你的设备。哈希值被发送到本应用程序的后端服务器并存储以供日后参考。
哈希函数是一个单向过程,通过不可逆地改变你的个人数据来匿名化它们。一旦被哈希,它们就永远无法被还原或追溯到原始值。
联系方式
如有关于数据隐私或任何相关问题的询问,请联系:
Wayne Heaney - wayne@xronlinux.com
致谢
如果没有Tobias Frisch的基础Linux驱动程序(本驱动程序在底层使用了它)、Matt Smith的Windows驱动程序以及其他致力于逆向工程眼镜的人的工作,这个驱动程序就不可能实现。