Подключение геймпада Xbox One к Raspberry Pi
Кратко: В этой статье описаны все способы подключить геймпад Xbox One к Raspberry Pi — по USB, через официальный адаптер Xbox Wireless и по Bluetooth. Приведены пошаговые команды, рекомендации для разных моделей Pi, методы диагностики и чек-листы для быстрого решения проблем.
Зачем использовать геймпад Xbox One на Raspberry Pi
Геймпады Xbox One совместимы с большинством ретро-эмуляторов и игровых сборок для Raspberry Pi (RetroPie, Recalbox и др.). Они удобны для ретро-игр благодаря эргономике и стандартной раскладке кнопок. Вы получите совместимость с большинством игр «из коробки» при условии корректной настройки драйверов и подключения.
Ключевые варианты подключения:
- USB — прямой способ «plug and play». Работает надёжно и без задержек.
- Официальный адаптер Xbox Wireless — фирменный USB-донгл, упрощающий синхронизацию нескольких контроллеров.
- Встроенный Bluetooth (на Raspberry Pi 3 и новее) — беспроводное подключение без адаптера, но с дополнительной настройкой.

Быстрая проверка совместимости
Короткие правила-эвристики (mental model):
- У вас Raspberry Pi 3 или новее → сначала пробуйте Bluetooth. Если бесполезно, используйте адаптер или USB.
- У вас Raspberry Pi старой модели без Bluetooth → используйте USB или адаптер.
- Если нужен низкий пинг и стабильность → выбирайте USB или официальный адаптер.
Факто-блок — основные технические моменты:
- Raspberry Pi 3: встроенный Bluetooth (BLE), подходит для беспроводного подключения.
- Raspberry Pi 4: более новая версия Bluetooth (улучшенная стабильность и скорость).
- Кабели: для Xbox One оригинальные контроллеры старых ревизий используют micro-USB; более новые модели (Series X|S) — USB-C.
Подготовка Raspbian (Raspberry Pi OS) для геймпада Xbox One
Прежде чем подключать геймпад, обновите систему. Откройте терминал и выполните:
sudo apt update
sudo apt upgradeДождитесь завершения каждой команды и подтверждайте установки при появлении подсказок.
Во многих случаях драйвер для геймпада Xbox One уже встроен в ядро Linux и в Raspberry Pi OS. Но старые эмуляторы или специфические игры могут не распознать контроллер. В таких ситуациях установите дополнительный драйвер:
sudo apt install xboxdrvПримечание: существует несколько реализаций драйверов (xpad — встроенный в ядро, xboxdrv — пользовательский). xboxdrv даёт больше возможностей по переназначению, но может конфликтовать с встроенным xpad. Если вы устанавливаете xboxdrv, убедитесь, что служба xpad не мешает ему.
Определения: ERTM — Enhanced Re-Transmission Mode, режим Bluetooth, который иногда мешает корректной синхронизации геймпадов Xbox.
Подключение по USB
Самый простой и надёжный способ — подключить геймпад кабелем.
Что нужно знать:
- Используйте качественный USB-кабель подходящего типа (micro-USB или USB-C в зависимости от ревизии геймпада).
- Кабели большой длины (например, 2–3 м) удобны для дивана, но выбирайте экранированные кабели для минимальных помех.
- Если у вас питается множество USB-устройств от одного порта Pi, убедитесь, что у вас стабильный источник питания (питание Pi 5 V ≥ рекомендованной амперажной величины).
Порядок действий:
- Подключите кабель от геймпада к любому USB-порту Raspberry Pi.
- Подключите питание Pi и загрузите систему.
- При необходимости установите пакеты для тестирования (см. раздел «Тестирование»).
Плюсы USB: простота, минимальные задержки, не требует доп. настроек. Минусы: проводное подключение и зависимость от длины кабеля.
Подключение через официальный адаптер Xbox Wireless
Официальный адаптер Microsoft (Xbox Wireless Adapter) — USB-донгл, который моделирует фирменный беспроводной протокол Microsoft. Это самый удобный способ синхронизации без Bluetooth.
Как подключить:
- Вставьте адаптер в USB-порт Raspberry Pi.
- Включите Raspberry Pi и дождитесь, пока донгл подсветится.
- Нажмите кнопку синхронизации на донгле и на геймпаде одновременно.
- Когда индикаторы перестанут мигать, соединение установлено.
Плюсы: простота синхронизации, стабильность, поддержка фирменных функций. Минусы: требуется отдельный донгл, он занимает USB-порт.
Важно: адаптер Microsoft использует проприетарный протокол; некоторые альтернативные (неофициальные) донглы могут не работать корректно.
Подключение по Bluetooth (встроенному модулю)
Если у вас Raspberry Pi 3, 4 или новее, вы можете подключить геймпад по Bluetooth. Наиболее часто встречающиеся сложности связаны с ERTM и с тем, что контроллер по умолчанию не отображается в списке доступных устройств.
Шаги подготовки (повторно):
- Установите xboxdrv, если ещё не установлен:
sudo apt install xboxdrv- Отключите ERTM, чтобы предотвратить конфликты при синхронизации:
echo 'options bluetooth disable_ertm=Y' | sudo tee -a /etc/modprobe.d/bluetooth.conf- Перезагрузите Raspberry Pi:
sudo rebootПроцесс сканирования и подключения:
- Запустите Bluetooth-утилиту:
sudo bluetoothctl- В консоли вы увидите строку “Agent registered” и приглашение вида:
[bluetooth]#- Включите агента и назначьте его по умолчанию:
agent on
default-agent- Начните сканирование:
scan onСделайте контроллер доступным для обнаружения: нажмите и удерживайте кнопку синхронизации на геймпаде (обычно рядом с micro-USB портом). Кнопка Xbox начнёт мигать.
В терминале появится запись примерно такого вида:
[NEW] Device 5C:BA:37:4D:1D:95 Xbox Wireless ControllerMAC-адрес — это шестнадцатеричная строка из шести пар, разделённых двоеточиями. Подключитесь командой (используйте ваш адрес):
connect 5C:BA:37:4D:1D:95- После успешного подключения выполните доверие к устройству, чтобы автоматизировать будущие подключения:
trust 5C:BA:37:4D:1D:95- Выйдите из bluetoothctl сочетанием Ctrl + D.

Распространённые проблемы при Bluetooth-подключении:
- Контроллер виден, но не подключается — проверьте, отключён ли ERTM и что bluetoothd запущен.
- Контроллер подключается, но кнопки не работают корректно — попробуйте установить xboxdrv или использовать evtest/jstest для диагностики.
- Повторные подключения не происходят автоматически — убедитесь, что вы выполнили команду trust в bluetoothctl.

Тестирование работы геймпада
Установите утилиту для тестирования джойстиков:
sudo apt install joystickЗапустите тест для первого устройства:
sudo jstest /dev/input/js0Откроется окно в терминале с перечнем осей и кнопок. При нажатии кнопок и движении стиков вы увидите изменения значений. Для графического теста можно установить jstest-gtk:
sudo apt install jstest-gtkЕсли jstest не показывает устройство, проверьте вывод dmesg на предмет ошибок USB/Bluetooth:
dmesg | tail -n 50Альтернативные инструменты для диагностики:
- evtest — позволяет отслеживать события ввода (полезно для выявления конфликтов драйверов).
- lsusb — показывает подключенные USB-устройства.
- bluetoothctl — для мониторинга состояния Bluetooth.
Настройка в эмуляторах и ретро-сборках
В RetroPie и Recalbox обычно есть автоматическая конфигурация контроллера при первом подключении. Тем не менее, если кнопки перепутаны, выполните переназначение в меню эмулятора (Input Configuration) или используйте remap-скрипты.
Советы:
- В EmulationStation зайдите в “Configure Input” и назначьте кнопки вручную.
- Для SDL-игр можно использовать переменные окружения и файлы конфигурации SDL2 для корректного маппинга.
Критерии приёмки
- Контроллер определяется системой (lsusb или bluetoothctl его видит).
- jstest /dev/input/js0 отражает изменения при нажатии и движениях.
- RetroPie/Recalbox реагирует на навигацию и игровые команды.
- Повторное включение геймпада приводит к автоматическому подключению (для Bluetooth — trust настроен).
Чек-листы
Чек-лист для игрока:
- Обновил Raspberry Pi OS.
- Пробовал подключить по USB.
- Если Bluetooth — отключил ERTM и выполнил trust.
- Запустил jstest и проверил отклики.
Чек-лист для администратора/техспециалиста:
- Проверил dmesg и syslog на ошибки драйверов.
- Проверил, не конфликтует ли xpad и xboxdrv.
- Установил jstest/jstest-gtk/evtest при необходимости.
Таблица совместимости (сводная)
| Raspberry Pi | Встроенный Bluetooth | Рекомендуемый способ подключения |
|---|---|---|
| Pi 1 / Pi Zero | нет | USB или официальный адаптер |
| Pi 2 | нет | USB или адаптер |
| Pi 3 | да | Bluetooth или адаптер; USB для стабильности |
| Pi 4 | да (обновл.) | Bluetooth или адаптер; USB для минимальной задержки |
Когда этот способ не работает — распространённые сценарии
- Контроллер старой ревизии не поддерживает Bluetooth нужной спецификации — используйте USB.
- Система недостаточно питает USB-порт — используйте активный USB-хаб с внешним питанием.
- Конфликт драйверов (xpad/xboxdrv) — попробуйте отключать/останавливать один из драйверов и проверять работу.
Альтернативы и дополнительные подходы
- Использовать альтернативные контроллеры с нативной поддержкой Linux (например, проводные геймпады с XInput/DirectInput) для упрощения настройки.
- При проблемах с Bluetooth — приобретите официальный адаптер Xbox Wireless — обычно решает большинство проблем.
- Для мультиплеера на одном Pi рассмотрите USB-хаб или адаптеры для подключения нескольких контроллеров.
Методика быстрого развёртывания (Mini-methodology)
- Обновите систему.
- Подключите по USB и проверьте jstest.
- Если нужен беспровод — попробуйте адаптер. Если адаптера нет — переходите к Bluetooth: отключите ERTM, выполните bluetoothctl, scan, connect, trust.
- Настройте в RetroPie/emu.
- Протестируйте и сохраните бэкап конфигурации.
Диагностика и отладка — пошаговый план
- USB не виден: проверьте lsusb, dmesg, питание.
- Bluetooth не виден: проверьте rfkill list all, убедитесь, что Bluetooth не заблокирован.
- Подключение не удаётся: проверьте логи bluetoothd и выполните перезагрузку.
- Кнопки некорректны в эмуляторе: переназначьте в меню эмулятора или используйте xboxdrv с нужными параметрами маппинга.
Меры безопасности и рекомендации по питанию
- Не подключайте много высокопотребляющих устройств к одному USB-порту Pi.
- При проблемах с питанием используйте качественный блок питания для Raspberry Pi и при необходимости активный USB-хаб.
Edge-case gallery — редкие ситуации
- Контроллер не заряжается при подключении к Pi по USB, но работает от батарей — возможно, порт не обеспечивает зарядку.
- Геймпад подключается только при прямом подключении (без хаба) — некоторые USB-хабы плохо совместимы с игровыми контроллерами.
- Нестабильное поведение после обновления ядра — попробуйте откатить драйверы или проверить версии пакетов.


Decision flowchart
flowchart TD
A[Нужен контроллер на Raspberry Pi?] --> B{Raspberry Pi модель}
B -->|Pi 3 или новее| C[Попробовать Bluetooth]
B -->|Pi 2 или старше| D[Использовать USB или адаптер]
C --> E{Bluetooth подключился?}
E -->|Да| F[Настроить trust и тестировать]
E -->|Нет| G[Попробовать официальный адаптер]
D --> H[Подключить по USB]
G --> I[Если не помогает — USB]
H --> F
I --> FКраткая сводка для анонса (Short announcement)
Хотите играть на Raspberry Pi с геймпадом Xbox One? Руководство объясняет три способа подключения: по USB, через официальный адаптер Xbox Wireless и по Bluetooth (для Pi 3+). Пошаговые инструкции, команды для терминала, тесты и советы по устранению неполадок помогут быстро настроить контроллер и начать играть.
Резюме
- USB — самый простой и стабильный метод.
- Официальный адаптер упрощает беспроводную синхронизацию.
- Bluetooth требует отключения ERTM и настройки trust через bluetoothctl.
- Проверяйте jstest, dmesg и логи при проблемах.
Важно: если после всех шагов контроллер всё ещё не работает, попробуйте другой кабель, другой USB-порт, активный USB-хаб или проверку на другом устройстве — это поможет исключить аппаратную неисправность.
Если нужно, могу подготовить короткую инструкцию только для RetroPie или готовые конфиги xboxdrv под конкретные игры.