我全新安装了 Ubuntu 16.04,并从 GOG 下载了一款名为 Transistor 的游戏。我买了一个无线 Xbox One 控制器来玩这种游戏。据我所知,Ubuntu 尚不支持此控制器的无线功能,因此我使用 [已知可工作的] micro-usb > usb 适配器将其插入。
我已成功安装游戏。我可以用键盘/鼠标玩。点击游戏设置中的控制器图标没有任何反应。
我已经安装了“Ubuntu xboxdrv integration”,现在我的设置菜单中有一个操纵杆选项。它列出了四个 360 控制器,但它们均不响应控制器的输入。
当我输入时,
lsusb
它列出了“Microsoft”作为已连接项之一。我断开了控制器的连接,条目消失了,所以我知道系统正在查看控制器。当我将其插入时,它会发出一阵轰隆声。如果我按下“X”(连接)按钮,它会闪烁近 30 秒。
据我所知,有线控制器,甚至是 Xbox One 控制器,都可以与较新版本的 Ubuntu 兼容。有人能告诉我我没有做什么或从哪里开始查找吗?我假设操作系统安装了较新的内核。
我输入了,但列表中lsmod
没有ubuntu-xboxdrv
或xboxdrv
甚至。我输入终端,被告知无法加载,因为没有文件或目录。输入也说找不到它。(我也尝试了两者。)xpad
insmod ubuntu-xboxdrv
modprobe ubuntu-xboxdrv
xboxdrv
据我所知,它不是已加载的模块是罪魁祸首。我怎么知道它是否ubuntu-xboxdrv
是模块的名称?我通过重新安装检查了安装是否成功。我如何找到它去了哪里?
答案1
首先,我读到,对于高于 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
一切似乎都很好。但我点击了
lsmod
,但xpad
仍然没有加载。要加载它,我输入:sudo modprobe xpad
这给了我一个新错误,无法插入,因为所需的密钥不可用。通过在 BIOS 中关闭安全启动可以解决这个问题。
我
sudo modprobe xpad
再次输入,没有确认,也没有投诉。我查看了下lsmod
,瞧,列表顶部是xpad
!我猜这是 mod 版本,因为现在在设置中的操纵杆菜单下,它作为第 5 个控制器出现,该死的东西有反应。“X”亮起,按钮工作。
答案2
- 安装
sysfsutils
-sudo apt install sysfsutils
- 使用以下方式打开配置文件
gksu gedit /etc/sysfs.conf
- 添加此行
sysfs.conf
–>module/bluetooth/parameters/disable_ertm = 1
- 保存并重新启动。