如何使XBOX 360控制器正常工作?


58

我有一个带有无线适配器的Microsoft XBOX 360游戏手柄,我想知道要在Ubuntu上使用它们时需要安装什么,我知道在Windows上使用该适配器时必须手动安装无线接收器的驱动程序(如果那是相关。)


可悲的是,这些都没有使我的控制器像Xpadder的Windows那样正常工作。:/
克里斯K

Answers:


40

如果发现在运行XBOX 360控制器时遇到困难,那么这将帮助您将其安装在运行Ubuntu的计算机上,并向您展示如何进行配置。这些说明适用于有线或无线X-Box 360控制器。

入门

为了能够在Ubuntu 12.04(精确的穿山甲)下使用Xbox 360有线/无线控制器,您需要首先安装一些必需的软件包。

打开终端并运行以下命令:

sudo apt-get install --install-recommends jstest* joystick xboxdrv

您还需要确保未加载xpad:

echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo rmmod xpad  # unload module if already loaded

然后运行xboxdrv:

xboxdrv --silent 

配置打击垫

现在将游戏控制器通过USB(有线)连接到PC上,或将XBOX 360 PC无线游戏接收器连接到您的无线控制器上,然后运行以下命令开始配置:

jstest-gtk

在显示的窗口中,选择您的控制器(Microsoft X-Box 360键盘,通用X-Box键盘等),然后单击“属性”:

在此处输入图片说明

注意如果未列出您的控制器,请尝试单击“刷新”按钮。

将弹出一个新窗口,该窗口将帮助您校准游戏控制器,重新映射游戏控制器的按钮(更改轴和按钮的顺序)等。 在此处输入图片说明

完成配置后,保存新设置并关闭窗口。现在,您将能够使用Xbox 360控制器在Ubuntu下玩游戏。

配置xboxdrv以在启动时启动

如果要制造专用计算机,或者要确保启动时已加载xboxdrv,则可以执行以下操作:

首先创建一个暴发户作业:

sudoedit /etc/init/xboxdrv.conf

并在其中添加以下内容:

start on filesystem
exec xboxdrv -D
expect fork

这将确保xboxdrv在启动时启动。

资料来源:


使用Steam登录时如何使这些更改永久生效?
2013年

2
我创建了一个PPA来使它在14.04中工作(有些细微的差别)。此外,此PPA将xpad标记为冲突,在安装时会正确删除损坏的配置,并创建一个名为“游戏杆”的系统设置条目。在这里检查:launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv
Rael Gugelmin Cunha 2014年

1
expect fork不需要(并且,当需要时,它应放在第一那么命令)。
Rael Gugelmin Cunha 2014年

为了使xboxdrv以守护程序模式启动,您可能必须向dbus添加一条规则(请参见此处:github.com/Grumbel/xboxdrv/issues/42
TimothyP 2015年

xboxdrv找不到我的有线游戏手柄:(
Salvatore Di Fazio

21

Ubuntu 14.04、15.10、16.04

我创建了一个PPA,以xboxdrv在14.04及更高版本中安装并创建适当的守护程序。

此外,此PPA将清除损坏的配置,将xpad标记为冲突(如有必要,将其停止),启动xboxdrv守护程序,并在“系统设置”中创建一个“游戏杆”条目。

要安装它,请在终端中运行:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

PS:我将该软件包克隆到其他发行版,甚至将其更改为可以使用systemd


3
直到我发现XBox 360 Wireless Receiver都无法在Linux Mint 17.1上运行,然后突然我第一次在Linux上看到了我的控制器同步。非常感谢你做的这些!!!
acejavelin

3
+1是因为这使生活变得如此轻松

16

终于解决了。只需在终端中输入

sudo apt-get update
sudo apt-get install xboxdrv
xboxdrv --silent &

然后按ctrl + c

并完成了刚刚安装的Xbox驱动程序,就可以使用Xbox 360控制器了:D。我猜想,当每个人都说控制器是即插即用功能时,您并不需要安装必需的驱动程序才能使用它。


然后通过以下“ sudo apt-get install jstest-gtk”安装jstest-gtk,或者也可以通过Ubuntu软件中心找到它。不幸的是,整个XBOX软件包和某种GUI /测试程序尚未提交给软件中心。
Tony Wall

12

更新:内核4.2(可能是15.10或16.04)及更高版本不需要此功能。该错误终于得到修复:https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765

如果您的LED闪烁有问题,只需添加此ppa并从SteamOS安装固定的xpad内核模块。谢谢阀门!

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms

这将更新Ubuntu中的xpad模块,因此您不需要xboxdrv。


哦,天哪,它停止了闪烁我爱你
皮托(Pitto)2016年

1
过时了。不再可用。请删除答案
tatsu

9

这是对现有答案的更新,以获取一种使XBox360控制器在Wine> = 1.7中运行的方法的方法,其中包括Ubuntu> = 13.10上Wine中的Steam游戏。无需root权限即可进行安装和操作。

下面的方法使用x360ce.exe,它基本上为Wine提供了与游戏进行通信的Dinput代码(请注意,您的XBox控制器仍会发送Xinput控件)。

  1. 插入您的XBox360(或兼容)控制器,使其可以通过xpad内核模块自动识别。

    无需安装和运行,xboxdrv因为目前看来控制器已被识别。难道不是因为老年人教程建议黑名单XPAD内核模块。

  2. 下载Windows(Wine)应用程序x360ce的ZIP归档文件以及用于Xinput和Dinput的随附的.dll二进制文件。
  3. 解压缩ZIP存档,以将其内容(至少包含以下文件)复制到游戏的可执行目录(例如~/.wine/drive_c/Programs/Games/game.exe~/.wine/drive_c/Programs/Steam/SteamApps/common/Name_Of_Game/game.exe):

    • x360ce.exe
    • dinput8.dll
    • xinput1_3.dll

    一些游戏可能还需要:

    • xinput1_9.dll
  4. x360ce.exe与Wine一起运行,以x360ce.ini在游戏目录中创建示例文件(如果尚不存在)。

  5. 退出x360ce.exe(您可能必须杀死Wine,否则应用程序可能会挂起)
  6. x360ce.ini使用编辑器打开文件以添加以下行,以防止将来崩溃或挂起:

    Version=1
    
  7. 重新开始x360ce.exe以识别您的XBox控制器。

  8. 一旦识别出控制器,我们可以选择从预制的安装文件中进行选择。
  9. 将控制器的按钮和操纵杆轴调整为适当的值。

    > * <sup>屏幕截图如下</ sup> *

  10. Save 将这些设置保存到xbox360ce.ini文件中

  11. 然后退出(或杀死) x360ce.exe
  12. 如果需要x360ce.ini,请再次在编辑器中打开文件以微调一些设置。
  13. 从Wine启动时,您的Windows游戏现在应该可以识别控制器了。
  • 不要拔掉控制器的电源,因为只有重新启动游戏才能识别它。
  • 备份.ini文件以备将来使用,以避免重新校准。

4

我不确定您尝试了什么,所以让我们先尝试官方说明。请打开一个终端(在破折号中搜索),然后逐个键入以下命令(无需复制输出):

sudo add-apt-repository ppa:grumbel/ppa
sudo apt-get update
sudo apt-get install xboxdrv
sudo apt-get install xboxdrv-stable 

重新启动,您的无线接收器应被识别。

请注意,不幸的是,没有适用于12.04的软件包xboxdrv-stable。假设您拥有Launchpad.net帐户,则可以考虑与软件包维护者联系。不过,请尝试使用需要驱动程序的软件。


2

就像一个不相关的旁注一样,您在makefile中看到的错误是由于makefile使用制表符进行缩进,并且很可能在复制文件时这些制表符更改为空格。


1

您无需安装任何程序,内核具有内置驱动程序。只需将无线适配器插入USB并同步控制器即可。xboxdrv仅在需要其他配置选项,按钮重新映射,鼠标仿真等时才需要。


这是完全不正确的,不能在12.04或13.10上使用
Calin

在哪里不能工作?在大约99%的情况下,这是游戏的问题,而不是控制器或驱动程序。xpad多年来,内核驱动程序一直是Ubuntu的标准部分。
Grumbel

xpad对于Xbox360游戏手柄的无线版本确实很糟糕。无线适配器被认为是第一个游戏手柄,而游戏板则是第二个游戏手柄。而且许多游戏都没有配置来更改要使用的游戏杆。而且,在某些Ubuntu版本(例如12.04)中,游戏手柄中的LED指示灯不会停止闪烁。
Rael Gugelmin Cunha 2014年

0

那是旧东西。如果游戏兼容,它将在您插入后立即运行。我认为,如果游戏期望在Wine中使用xbox控制器(即非通用控制器),则它不太可能工作。本机游戏应该可以工作。它已列为Google Summer of Code的项目,因此已列入议程。


该死的游戏不兼容-.-。我只是在模拟器上对其进行了测试,但它却可以工作……但是在葡萄酒上却不行:(
Mohd Arafat Hossain,

等待它的工作原理!我在Windows上尝试了Underground 2,并且Xbox控制器正常工作,然后在Ubuntu U2中尝试了该控制器,但它没有:(怎么了?
Mohd Arafat Hossain 2012年

我认为如果游戏使用xinput,它将无法正常工作。u2是什么?
daithib8 2012年

Underground 2的缩写;)
Mohd Arafat Hossain 2012年

好,那是个葡萄酒游戏。
daithib8 2012年

0

我运行的是Linux内核4.0.0版,不需要安装任何软件,也不需要进行任何配置即可使用XBOX 360控制器玩游戏。即使是需要多个控制器(例如“危险时空的恋人”或“ trine”)的linux原生沙发合作游戏,也可以立即使用。只需插入两个控制器并完成。


0

我的控制器的yank-decoupler部分并没有完全插入。这就是我的全部问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.