Xbox 手柄
本文教你如何在 openSUSE 系统中配置和连接 Xbox One S/X 手柄, Xbox Series S/X 手柄和 Xbox 精英手柄。
目录
更新固件
网上有很多人遇到 Xbox 手柄在 Linux 系统连不上蓝牙的问题,有些人给出的解法是修改内核蓝牙模块配置,但是我们不推荐这样做。Xbox 手柄之所以连不上蓝牙是因为它的出厂固件版本有大问题,只需要更新就行了,并不需要魔改系统。
要升级 Xbox 手柄固件,你需要一台 Windows 10/11 系统的电脑。你也可以用 VirtualBox 虚拟机运行 Windows 并转接 UBS 设备端口。后续按微软官方的文档操作即可:更新 Xbox 无线控制器。
连接手柄
USB 有线连接
通过 Type-C 数据线连接是兼容性最好的,不需要额外配置或安装驱动,延迟也低,而且不需要买电池和无线接收器。坏处就是需要拖一根线,移动不是很方便。
蓝牙连接
蓝牙是连接速度最慢的,也容易受干扰。但是呢,对于大部分单机游戏玩家来说,足够了。Xbox 的无线接收器是要另外花钱买的,蓝牙通常电脑都自带,而且 USB 蓝牙也比 Xbox 的接收器便宜得多。
Linux 内核自带的驱动无法适配最 Xbox 手柄蓝牙模式,导致某些游戏和模拟器按键映射错误。因此需要安装 xpadneo 这个驱动:
# Tumbleweed sudo zypper install xpadneo # Leap <= 15.6 opi xpadneo
蓝牙连接步骤:
- 按住顶部 USB Type-C 接口旁边的小圆点按钮,直到 Xbox 标志按钮的灯开始快速闪烁(快速闪烁是蓝牙配对模式,慢速闪烁是 Xbox 接收器配对模式)。
- 打开 openSUSE 系统的蓝牙设置,添加设备。
- 在已发现设备列表中找到 Xbox 手柄,并连接。
- 连接后,你可以打开 系统设置 -> 输入设备 -> 手柄 来测试功能是否正常。
如果连不上蓝牙,请先#更新固件,然后重试。(你可能需要先从蓝牙设备列表里“忘记”原来配对的手柄)
Xbox 无线接收器
Xbox 无线接收器需要单独购买而且不便宜。但是相比蓝牙,它的连接更稳定,延迟更低,同时能使用手柄上的耳机孔。
要使用无线接收器需要安装 xone 这个驱动。
# Tumbleweed sudo zypper install xone-kmp-default # Leap <= 15.6 opi xone-kmp-default
无线接收器连接步骤:
- 将无线接收器插到电脑上
- 按住无线接收器末端的按钮,直到接收器上的白色 LED 小灯开始闪烁
- 按住手柄顶部 USB Type-C 接口旁边的小圆点按钮,直到 Xbox 标志灯开始慢速闪烁(快速闪烁是蓝牙配对模式,慢速闪烁是 Xbox 接收器配对模式)。
- 等待配对成功,手柄上的 Xbox 标志灯常亮,不再闪烁。
- 连接后,你可以打开 系统设置 -> 输入设备 -> 手柄 来测试功能是否正常。
故障排除
Steam 不停地断连重连手柄(蓝牙连接)
目前没有比较好的解决方法,请用 Type-C 线连接。
Steam 重连之后无法识别手柄(蓝牙)
这是一个 Proton Experimental 的已知 Bug。请切换到 Proton 9.0 或 8.0 解决这个问题。