Как заставить контроллер Xbox One работать с 16.04 (не Steam)

14

У меня свежая установка Ubuntu 16.04, и я скачал из GOG игру под названием Transistor. Я купил беспроводной контроллер Xbox One, чтобы играть именно в эту игру. Из того, что я мог узнать, беспроводная связь не поддерживается в Ubuntu для этого контроллера, поэтому я подключил его с помощью [известного работающего] микро-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хотя бы название мода? Я проверил, что установка прошла путем переустановки. Как мне найти, куда это пошло?

Welcome1der
источник

Ответы:

18

Решение ОП своей собственной проблемы :

Во-первых, я прочитал, что с ядрами позже 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! Я предполагаю, что это версия мода, потому что теперь в меню джойстика в настройках он выступает в качестве 5-го контроллера, и чертовски реагирует. «Х» загорается и кнопки работают.

Zanna
источник
1
Это замечательно, большое спасибо за инструкции @Zanna!
Метафор
Наконец-то ... Я долго искал решение ... Мой контроллер - это контроллер Xbox One S, и он работал легко 16.04, но не 14.04. С помощью этого патча сделали свое дело. Кнопка «X» вендора наконец горит и не мигает, и контроллер работает!
Энрике Ферроло
7
  1. установить sysfsutils- sudo apt install sysfsutils
  2. откройте файл конфигурации с помощью gksu gedit /etc/sysfs.conf
  3. Добавьте эту строку в sysfs.conf->module/bluetooth/parameters/disable_ertm = 1
  4. Сохраните и перезапустите.
user687424
источник
Спасибо! Почему это работает, зачем это нужно? Не нарушена ли реализация ERTM в контроллере XBox, в драйвере или это что-то совершенно другое?
аркод
Я только что попробовал это на Ubuntu 17.10. К сожалению, это не дало никакого эффекта: индикаторы моего контроллера Xbox One мигают, и они не видны на панели настроек Bluetooth.
Адам Дингл
Стоит упомянуть, что gksu больше не рекомендуется в качестве средства для запуска настольных приложений, требующих более высоких привилегий. (он даже был полностью удален в 18.04 ). Пожалуйста, используйте $ pkexec вместо этого, так как это было рекомендуемым методом в течение некоторого времени.
mstfacmly