最近我买了一个 XBOX Series X|S 游戏手柄。我尝试通过蓝牙将它连接到我的 Linux PC,但它总是在短时间内重新连接。我该怎么做才能让它正常工作?
答案1
如果蓝牙不是必需的,可以通过 USB 连接游戏手柄。这样,即使在较旧的机器(Ubuntu 20.04)上,它也能完美运行。
如果需要蓝牙,必须满足四个条件:
- 需要最新的内核(>= 5.11,甚至可能 >= 5.12)
- 必须应用一些配置
- 华硕必须使用
- 您可能需要再次配对游戏手柄。
根据华硕您需要一个支持低功耗蓝牙的蓝牙芯片组。我使用华硕 USB-BT400并取得成功。
最近的内核
使用 Ubuntu 20.04,即使应用了正确的配置,也无法解决重新连接问题。我无法安装主线内核 5.12所以我更新到了 20.10,然后又更新到了 21.04。只有当我升级到 21.04 时,游戏手柄才开始工作。Ubuntu 20.10 不够用!.然后我安装了主线内核 5.12并且游戏手柄仍能正常工作。
配置蓝牙
在配置方面,必须/etc/bluetooth/main.conf
在部分中添加以下内容[General]
:
Privacy = device
JustWorksRepairing = always
Class = 0x000100
FastConnectable = true
也许设置Privacy = device
就足够了,但我没有尝试过。
华硕
最后,华硕必须使用。由于我使用内核 5.12,因此我确保使用包含提交的 xpadneo 版本f17a4e。
重启并修复
当我从 Ubuntu 20.04 迁移到 20.10,然后迁移到 21.04 时,游戏手柄一到就开始工作了。当我重新应用这里的步骤时,我必须在应用所有三个步骤后再次进行修复。如果出现问题,请尝试重新启动然后进行修复。
如果上述步骤无法解决连接问题,也许对我有帮助的资源也能帮助您:
- https://boilingsteam.com/the-series-x-controller-on-linux-a-bit-of-a-hassle/
- https://github.com/atar-axis/xpadneo/issues/166
请注意,XBOX Series X|S 已知偶尔重新连接。本指南无法解决此问题。
答案2
Xbox 无线控制器的固件过去会导致与 Bluez 的连接/断开循环。目前最好的解决方法是将控制器(通过 USB 线)插入 Windows 10 计算机,下载 Xbox 配件应用程序,然后更新控制器的固件。
[...] 内核 5.12+ 无需禁用 ERTM,而且似乎有一些连接技巧在将来可能不再需要
注意:这个推荐的解决方法似乎仍然需要内核 5.12+。