如何让 Xbox One 控制器与 16.04(非 Steam)一起使用

Wel*_*der 16 games 16.04

我全新安装了 Ubuntu 16.04,并从 GOG 下载了一款名为 Transistor 的游戏。我买了一个无线 Xbox One 控制器来玩这种游戏。据我所知,该控制器的 Ubuntu 尚不支持无线,因此我使用 [已知工作] micro-usb > usb 适配器将其插入。

  • 我已经成功安装了游戏。我可以用我的键盘/鼠标播放它。单击游戏设置中的控制器图标没有任何作用。

  • 我已经安装了“Ubuntu xboxdrv 集成”,现在我的设置菜单中有一个操纵杆选项。它列出了四个 360 控制器,但没有一个响应控制器的输入。

  • 当我输入时,lsusb它会将“Microsoft”列为所连接的事物之一。我断开了控制器的连接,条目消失了,所以我知道系统正在看到控制器。当我插入它时,它会发出隆隆声。

  • 如果我按下“X”(连接)按钮,它会闪烁近 30 秒。

据我了解,有线,甚至是 Xbox One 控制器,都与较新版本的 Ubuntu 开箱即用。谁能告诉我我没有做什么或从哪里开始寻找?我假设操作系统安装了新内核。

我打字lsmod并没有ubuntu-xboxdrv或者xboxdrv甚至xpad在列表中。我输入insmod ubuntu-xboxdrv终端并被告知无法加载,因为没有文件或目录。打字modprobe ubuntu-xboxdrv也说找不到。(我也试过xboxdrv两者。)

据我所知,它不是一个加载的模组是罪魁祸首。我如何查看是否ubuntu-xboxdrv是 mod 的名称?我通过重新安装检查了安装是否通过。我如何找到它去了哪里?

Zan*_*nna 18

OP对自己问题的解决方案

首先,我读到 4.1* 之后的内核(我检查过,我有 4.4*),xboxdrv 不再适用,特别是 xbox one 控制器。

似乎 xpad 得到了 Steam 的喜爱,所以它并没有像以前那样过时。我不知道 xboxdev 会失去什么,但我只想让控制器工作。

我的控制器是名为 Covert Forces Edition 的较新固件版本。由于它的新固件,它需要一个我在这里找到的补丁 。

sudo apt-get install git
sudo apt-get install dkms
sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4
Run Code Online (Sandbox Code Playgroud)

一切似乎都很好。但是我打lsmodxpad仍然未加载。要加载它,我输入:

sudo modprobe xpad
Run Code Online (Sandbox Code Playgroud)

这给了我一个无法插入的新错误,因为所需的密钥不可用。这可以通过关闭 BIOS 中的安全启动来解决。

sudo modprobe xpad再次投入,没有确认,但没有投诉。我lsmod往下看了看,在列表的顶部是xpad!我猜这是 mod 版本,因为现在在设置中的操纵杆菜单下,它作为第 5 个控制器出现,该死的东西会做出响应。“X”亮起,按钮工作。

  • 太棒了,非常感谢@Zanna 的指导! (2认同)

小智 8

  1. 安装sysfsutils- sudo apt install sysfsutils
  2. 打开配置文件 gksu gedit /etc/sysfs.conf
  3. sysfs.conf–> 中添加这一行module/bluetooth/parameters/disable_ertm = 1
  4. 保存并重新启动。