如何让我的 Rock Candy Xbox 控制器在 Ubuntu 上运行

如何让我的 Rock Candy Xbox 控制器在 Ubuntu 上运行
-- [ ERROR ] ------------------------------------------------------
No Xbox or Xbox360 controller found

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 0781:5575 SanDisk Corp. 
Bus 003 Device 003: ID 04ca:0058 Lite-On Technology Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1bcf:2881 Sunplus Innovation Technology Inc. 
Bus 002 Device 003: ID 0e6f:011f Logic3 
Bus 002 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 005: ID 8086:0189 Intel Corp. 

它似乎无法识别我的控制器?有人能帮我让它工作吗?Xboxdrv 无法识别它,似乎连电脑也无法识别它。

答案1

这是我的解决方案。

  1. 下载源代码驱动精灵从这里: http://pingus.seul.org/~grumbel/xboxdrv/

  2. 我使用的是0.87版本:xboxdrv-linux-0.8.7.ta​​r.bz2

  3. 使用 tar 命令将其提取到有用的目录中:

    tar xvjf xboxdrv-linux-0.8.7.tar.bz2
    
  4. 通过运行然后插入控制器来确定控制器的 USB ID watch lsusb。设备应该会弹出并记下 ID。示例:0e6f:011f

  5. src目录中找到该xpad_device.cpp文件。(不是hpp版本!)

  6. 打开文件。您应该会看到里面有一个设备列表。

    { GAMEPAD_XBOX360,          0x24c6, 0x5000, "Razer Atrox Arcade Stick" },
    { GAMEPAD_XBOX,             0x045e, 0x0202, "Microsoft X-Box pad v1 (US)" },
    { GAMEPAD_XBOX360_GUITAR,   0x1430, 0x4748, "RedOctane Guitar Hero X-plorer" },
    { GAMEPAD_XBOX_MAT,         0x0738, 0x4540, "Mad Catz Beat Pad" },
    
  7. 复制其中一个条目并进行修改以反映您的控制器。

    { GAMEPAD_XBOX360,          0x0e6f, 0x011f, "Rock Candy Gamepad for Xbox 360"},
    
  8. README.md安装编译所需的库。对于其他发行版,这些可能有所不同。此列表也可以在tarball 附带的文件中找到。

    sudo apt-get install \
      g++ \
      libboost1.42-dev \
      scons \
      pkg-config \
      libusb-1.0-0-dev \
      git-core \
      libx11-dev \
      libudev-dev \
      x11proto-core-dev \
      libdbus-glib-1-dev
    
  9. xboxdrv如果已安装,请卸载。

    sudo apt-get remove xboxdrv
    
  10. cd到解压的xboxdrv目录并运行scons

    cd /home/foxyv/Downloads/xboxdrv-linux-0.8.7
    scons
    
  11. scons完成构建配置后,运行make

  12. make构建完成后,运行sudo make install以安装已编译的应用程序。

  13. 插入控制器!您可能需要xboxdrv使用以下命令重新启动守护进程sudo service xboxdrv restart

答案2

尝试以下步骤这个帖子。基本上涉及两个步骤:

  1. xboxdrv从包含软件包更新版本的 PPA安装:sudo add-apt-repository ppa:grumbel/ppa && sudo apt-get update && sudo apt-get install xboxdrv
  2. 将司机列入黑名单xpad,方法是将其添加blacklist xpad到您的/etc/modprobe/blacklist.conf

答案3

我花了很长时间才让 xboxdrv 与这个控制器兼容。我重新编译了源代码,但它会崩溃。内核内置的驱动程序可以工作,但默认情况下不会加载。这是一个简单的修复。

我只需要modprobe xpad以 root 身份运行。当我拔下控制器并重新插入时,它就亮了。

为了使其在启动时启动,请创建一个/etc/modules-load.d/xpad.conf包含内容的文件xpad,并确保systemd-modules-load.service已使用 systemctl 启用。

相关内容