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 数据线连接是兼容性最好的,不需要额外配置或安装驱动,延迟也低,而且不需要买电池和无线接收器。坏处就是需要拖一根线,移动不是很方便。

注意:某些廉价的 Type-C 线只能充电,不能传输数据。如果有线连接出了问题,请先试试换根线。

蓝牙连接

蓝牙是连接速度最慢的,也容易受干扰。但是呢,对于大部分单机游戏玩家来说,足够了。Xbox 的无线接收器是要另外花钱买的,蓝牙通常电脑都自带,而且 USB 蓝牙也比 Xbox 的接收器便宜得多。

Linux 内核自带的驱动无法适配最 Xbox 手柄蓝牙模式,导致某些游戏和模拟器按键映射错误。因此需要安装 xpadneo 这个驱动:

# Tumbleweed
sudo zypper install xpadneo

# Leap <= 15.6
opi xpadneo

蓝牙连接步骤:

  1. 按住顶部 USB Type-C 接口旁边的小圆点按钮,直到 Xbox 标志按钮的灯开始快速闪烁(快速闪烁是蓝牙配对模式,慢速闪烁是 Xbox 接收器配对模式)。
  2. 打开 openSUSE 系统的蓝牙设置,添加设备。
  3. 在已发现设备列表中找到 Xbox 手柄,并连接。
  4. 连接后,你可以打开 系统设置 -> 输入设备 -> 手柄 来测试功能是否正常。

如果连不上蓝牙,请先#更新固件,然后重试。(你可能需要先从蓝牙设备列表里“忘记”原来配对的手柄)

Xbox 无线接收器

Xbox 无线接收器需要单独购买而且不便宜。但是相比蓝牙,它的连接更稳定,延迟更低,同时能使用手柄上的耳机孔。

Xbox 无线接收器现在微软官方已经下架了。淘宝上 50 块钱左右的都是华强北山寨货,能用但是发热严重(有可能会损坏主板)!真的要更贵一些,但是贵的不一定是真的!大家小心辨别。

要使用无线接收器需要安装 xone 这个驱动。

# Tumbleweed
sudo zypper install xone-kmp-default

# Leap <= 15.6
opi xone-kmp-default

无线接收器连接步骤:

  1. 将无线接收器插到电脑上
  2. 按住无线接收器末端的按钮,直到接收器上的白色 LED 小灯开始闪烁
  3. 按住手柄顶部 USB Type-C 接口旁边的小圆点按钮,直到 Xbox 标志灯开始慢速闪烁(快速闪烁是蓝牙配对模式,慢速闪烁是 Xbox 接收器配对模式)。
  4. 等待配对成功,手柄上的 Xbox 标志灯常亮,不再闪烁。
  5. 连接后,你可以打开 系统设置 -> 输入设备 -> 手柄 来测试功能是否正常。

故障排除

Steam 不停地断连重连手柄(蓝牙连接)

目前没有比较好的解决方法,请用 Type-C 线连接。

Steam 重连之后无法识别手柄(蓝牙)

这是一个 Proton Experimental 的已知 Bug。请切换到 Proton 9.0 或 8.0 解决这个问题。