Гид по технологиям

Настройка контроллера Xbox One в Ubuntu

5 min read Linux Обновлено 04 Dec 2025
Как настроить Xbox One контроллер в Ubuntu
Как настроить Xbox One контроллер в Ubuntu

Xbox One контроллер на столе

Почему это важно

Контроллеры Xbox One хорошо поддерживаются в Linux, но «из коробки» поведение может быть ограничено: нестабильная поддержка нескольких контроллеров, отсутствие гибкой привязки клавиш и различия в реализации Bluetooth/радио. Небольшие изменения в драйверах и пара утилит дают лучший игровой опыт в Ubuntu.

Коротко о понятиях

  • xpad — встроенный драйвер ядра Linux для игровых контроллеров Xbox. Поддерживается в основном ядром.
  • xboxdrv — альтернативный пользовательский драйвер с расширенными возможностями (маппинг, мультиконтроллер).
  • steamos-xpad-dkms — вариант драйвера xpad с патчами Valve (улучшения для SteamOS/Steam Input).
  • jstest-gtk — GUI для проверки осей и кнопок контроллера.
  • AntiMicro (antimicro) — утилита для привязки клавиш/мыши к кнопкам геймпада.

Требования и примечания по оборудованию

  • Контроллер Xbox One S и новее часто поддерживает Bluetooth. Оригинальные контроллеры Xbox One используют проприетарный протокол по USB или через беспроводной адаптер Xbox Wireless.
  • Для беспроводного подключения через адаптер Xbox Wireless используйте официальные USB-адаптеры; для Bluetooth — включите блютуз-режим на контроллере.
  • Для установки DKMS-пакетов могут потребоваться заголовки ядра (linux-headers-generic).

Установка и использование xboxdrv

xboxdrv — это пользовательский драйвер, полезный для расширенной конфигурации контроллера и поддержки нескольких геймпадов.

Установите пакет и запустите его как службу systemd:

sudo apt-get install xboxdrv
sudo systemctl enable xboxdrv.service
sudo systemctl start xboxdrv.service

Если служба не запускается или пересекается с модулем xpad, возможно, потребуется выгрузить или заблокировать модуль xpad:

sudo modprobe -r xpad
echo "blacklist xpad" | sudo tee /etc/modprobe.d/blacklist-xpad.conf

После этого перезапустите xboxdrv:

sudo systemctl restart xboxdrv.service

Настройка нескольких контроллеров с xboxdrv

Откройте конфиг и добавьте параметры для цепочки контроллеров:

sudo nano /etc/default/xboxdrv

Вставьте (или дополните) секцию примерно так — разместите под строкой с silent = true:

[xboxdrv]
silent = true
next-controller = true
next-controller = true
next-controller = true

Сохраните (Ctrl+O, Enter), закройте (Ctrl+X) и перезапустите службу:

sudo systemctl restart xboxdrv.service

После этого система должна корректно обрабатывать несколько подключенных контроллеров.

Установка SteamOS-патченного драйвера (steamos-xpad-dkms)

Если вы предпочитаете оставаться в пространстве драйвера ядра, патч от Valve улучшает совместимость и поведение в Steam/Big Picture. Установка добавляет PPA и ставит DKMS-модуль:

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

Во время установки старый драйвер xpad может быть заменён автоматически. После установки выполните перезагрузку:

sudo reboot

После перезагрузки проверьте, что модуль загружен: lsmod | grep xpad.

Привязка клавиш и калибровка: jstest-gtk и AntiMicro

Для точной проверки и калибровки осей используйте jstest-gtk:

sudo apt-get install jstest-gtk

Запустите jstest-gtk из меню или терминала — вы увидите список устройств, сможете посмотреть оси и кнопки и выполнить калибровку.

Для привязки кнопок/мыши/клавиш к контроллеру используйте AntiMicro:

sudo add-apt-repository ppa:ryochan7/antimicro
sudo apt-get update
sudo apt-get install antimicro

AntiMicro позволяет сохранить профили маппинга, назначать макросы и переключать профили в процессе игры.

Альтернативы и интеграция со Steam

  • Steam Input: в клиенте Steam включите поддержку контроллера и создайте профили для отдельных игр (современное и удобное решение).
  • SDL/Gamepad mappings: можете использовать системные маппинги SDL (полезно для приложений, использующих SDL).
  • Использование беспроводного адаптера Xbox Wireless гарантирует более стабильное соединение, чем общий Bluetooth, особенно при нескольких геймпадах.

Устранение неполадок и диагностические команды

Если контроллер не виден или ведёт себя неправильно, используйте эти команды для диагностики:

  • Проверка USB/BT устройств: lsusb и bluetoothctl
  • Просмотр логов systemd для xboxdrv: journalctl -u xboxdrv.service -b
  • Логи ядра для USB/BT: dmesg | tail -n 50
  • Список джойстиков в /dev: ls /dev/input/ (ищите js0, event*)
  • Проверить состояния модулей: lsmod | grep xpad и modinfo xpad
  • Проверить входные события: evtest /dev/input/eventX (замените X на номер устройства)

Типичные проблемы и решения:

  • Контроллер подключается, но не реагирует в игре — проверьте маппинг в Steam или профиль AntiMicro.
  • Несколько контроллеров конфликтуют — используйте xboxdrv с настройкой next-controller или заблокируйте конфликтующие модули.
  • Bluetooth-подключение нестабильно — попробуйте USB-соединение или официальный адаптер Xbox Wireless.

Критерии приёмки

Чтобы считать настройку успешной, выполните проверку:

  • Контроллер отображается в jstest-gtk и реагирует на все кнопки и оси.
  • В вашей игре или приложении кнопки выполняют ожидаемые действия при выбранном профиле.
  • Если требуется — несколько контроллеров подключаются и распознаются как отдельные устройства (например, /dev/input/js0, /dev/input/js1).

Быстрый чеклист по ролям

  • Геймер:

    • Подключить контроллер (USB/Bluetooth/адаптер).
    • Установить steamos-xpad или xboxdrv по необходимости.
    • Настроить профиль в Steam и/или AntiMicro.
    • Протестировать в jstest-gtk.
  • Системный администратор / продвинутый пользователь:

    • Убедиться в наличии заголовков ядра.
    • Прописать blacklist для конфликтующих модулей, если нужно.
    • Включить и настроить systemd-сервис xboxdrv при использовании.
    • Собрать логи при проблемах и проверить модуль DKMS.

Чит‑шит: полезные команды

# Установка драйверов
sudo apt-get install xboxdrv
sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get install steamos-xpad-dkms linux-headers-generic

# Анти-иконы и тесты
sudo apt-get install jstest-gtk
sudo add-apt-repository ppa:ryochan7/antimicro
sudo apt-get install antimicro

# Диагностика
lsusb
dmesg | tail -n 50
journalctl -u xboxdrv.service -b
ls /dev/input/ | grep js

Советы по совместимости и миграции

  • Если вы мигрируете между версиями Ubuntu или обновляете ядро, проверьте, что DKMS-пакеты перелинкованы к новой версии ядра (dkms status).
  • На Wayland-инсталляциях некоторые приложения могут требовать дополнительных настроек для захвата входа с геймпада; Steam обычно справляется сам.
  • Для стабильной игры с несколькими контроллерами рекомендуется использовать физический USB-хаб или отдельные адаптеры, чтобы избежать перебоев Bluetooth.

Когда это не сработает

  • Очень старые контроллеры без поддержки USB/HID или со сломанным аппаратным соединением потребуют замены.
  • Приложения с проприетарной поддержкой контроллеров могут игнорировать системные маппинги — в таких случаях используйте встроенные в игру настройки или Steam Input.

Краткое руководство по откату (rollback)

Если после установки патчей или DKMS-драйверов возникли проблемы, вернуться можно так:

  1. Переключитесь на встроенный модуль xpad:
    • Удалите/дезактивируйте xboxdrv: sudo systemctl stop xboxdrv.service && sudo systemctl disable xboxdrv.service
    • Удалите лист blacklist: sudo rm /etc/modprobe.d/blacklist-xpad.conf
  2. Удалите steamos-xpad-dkms, если он несовместим:
    • sudo apt-get remove --purge steamos-xpad-dkms
  3. Перезагрузите систему: sudo reboot

Короткая терминология

  • DKMS — система для автоматической пересборки модулей ядра при обновлении ядра.
  • PPA — Personal Package Archive (репозиторий для Ubuntu).

Заключение

Контроллер Xbox One хорошо работает в Ubuntu при правильном выборе драйвера и инструментов для маппинга. xboxdrv даёт гибкость и надежную поддержку нескольких контроллеров; steamos-xpad-dkms поддерживает поведение, ориентированное на Steam. Для удобной игры используйте jstest-gtk для калибровки и AntiMicro/Steam Input для привязки клавиш. Если появятся проблемы — используйте команды диагностики и проверяйте заголовки ядра и логи systemd.

Что вы предпочитаете: xboxdrv или SteamOS-патч? Поделитесь вашим опытом и профилями в комментариях ниже.

Image credit: XBOX ONE @ Gamescom, SteamOS Logo

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Блокировка писем без отправителя в Outlook
Электронная почта

Блокировка писем без отправителя в Outlook

Сравнить товары в Access и объединить имена
Базы данных

Сравнить товары в Access и объединить имена

Как исправить высокую загрузку CPU от Nvidia Container
Windows

Как исправить высокую загрузку CPU от Nvidia Container

Автозагрузка изображений в Outlook для Mac
Инструкции

Автозагрузка изображений в Outlook для Mac

Как выйти из Facebook на iPhone
Mobile

Как выйти из Facebook на iPhone

Исправить ошибку памяти 19-1367 — Modern Warfare 2
Игры

Исправить ошибку памяти 19-1367 — Modern Warfare 2