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

Настройка геймпада в Linux: отключение xpad, замена драйвера и калибровка

6 min read Linux Обновлено 04 Oct 2025
Настройка геймпада в Linux: xboxdrv и калибровка
Настройка геймпада в Linux: xboxdrv и калибровка

Введение

Linux долгое время проигрывал по популярности среди геймеров, но ситуация меняется: Valve и другие издатели стали активнее выпускать игры под Linux, а поддержка контроллеров в ядре существенно улучшилась (многие популярные геймпады поддерживаются с ядра 3.19). Тем не менее стандартный модуль xpad может вести себя нестабильно с некоторыми контроллерами и не предоставляет гибкой настройки. В этом руководстве показано, как отключить xpad, заменить его на более функциональный драйвер и настроить геймпад для игр.

Important: перед изменениями сохраните доступ к терминалу и убедитесь, что у вас есть восстановительный доступ (SSH, консоль) на случай проблем с USB или автозагрузкой драйвера.

Кому будет полезно

  • Геймерам, у которых геймпад ведёт себя странно (мигание светодиодов, «мертвые зоны», неверная привязка кнопок).
  • Администраторам локальных игровых машин, которые хотят централизованно настраивать контроллеры.

Ключевая идея

Отключаем конфликтующий модуль ядра (xpad), ставим альтернативный драйвер (xboxdrv / ubuntu-xboxdrv), калибруем оси и создаём профили привязки клавиш.


Требования и предварительная подготовка

  • Дистрибутив на базе Debian/Ubuntu (команды apt приведены как пример). Для других дистрибутивов используйте аналогичные пакеты (pacman, dnf и т. п.).
  • Права sudo или root.
  • Подключённый геймпад (USB или беспроводной при наличии ресивера).

Отключение модуля xpad (временное и постоянное)

Иногда достаточно выгрузить модуль вручную для теста:

sudo rmmod xpad

Или использовать modprobe для временной выгрузки:

sudo modprobe -r xpad

Чтобы отключить xpad навсегда (чтобы система не загружала его при старте), добавьте правило в modprobe:

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

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

Note: Некоторым устройствам всё же нужен xpad; сохраняйте файл и способ отката (удалить /etc/modprobe.d/blacklist-xpad.conf), если появятся неожиданные эффекты.

Установка альтернативного драйвера: xboxdrv

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

Установите пакет командой:

sudo apt-get update
sudo apt-get install xboxdrv

Запустите драйвер и сразу отключите модуль ядра (если он ещё загружен):

sudo xboxdrv --detach-kernel-driver

Если вы хотите сначала выгрузить модуль вручную, можно сделать так:

sudo rmmod xpad
sudo xboxdrv --detach-kernel-driver

Вы увидите в терминале поток значений кнопок и осей — это означает, что драйвер работает и получает данные от контроллера.

Запуск xboxdrv и вывод данных в терминал

Чтобы убрать вывод в терминал и запустить драйвер в фоне:

sudo xboxdrv --silent

Альтернатива: пакет ubuntu-xboxdrv

Если стандартный xboxdrv даёт проблемы, попробуйте форк ubuntu-xboxdrv, который иногда содержит патчи для дистрибутива Ubuntu:

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

Важно: добавление PPA делаете на свой страх и риск — читайте описание репозитория и отзывы.

Установка xboxdrv

Автозапуск xboxdrv через systemd (пример)

Если вы хотите, чтобы xboxdrv всегда запускался при загрузке, создайте сервис systemd:

sudo tee /etc/systemd/system/xboxdrv.service > /dev/null << 'EOF'
[Unit]
Description=xboxdrv daemon
After=network.target

[Service]
ExecStart=/usr/bin/xboxdrv --silent --detach-kernel-driver
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now xboxdrv.service

Для отката отключите сервис и удалите файл:

sudo systemctl disable --now xboxdrv.service
sudo rm /etc/systemd/system/xboxdrv.service
sudo systemctl daemon-reload

Калибровка геймпада (jstest-gtk)

Для проверки и калибровки осей пригодится графический инструмент jstest-gtk.

Установите и запустите его:

sudo apt-get install jstest-gtk
jstest-gtk

Откройте программу, выберите устройство и нажмите «Properties» (Свойства). В окне появятся индикаторы осей и кнопок — следите, чтобы оси возвращались в ноль и не было дрейфа.

Калибровка геймпада в jstest-gtk

Нажмите кнопку «Calibration» и затем «Start Calibration». Следуйте подсказкам: обычно требуется поочерёдно переместить оси в крайние положения и отпустить. После процедуры сохраните параметры.

Если оси имеют «мертвые зоны», вы можете компенсировать это в интерфейсе калибровки или добавить параметры в стартовую команду xboxdrv (например, опции deadzone и sensitivity).

Процесс калибровки осей

Назначение клавиш и создание профилей (qjoypad)

Чтобы сопоставить нажатия на геймпаде с клавиатурой или мышью (например, для игр без поддержки контроллера), используйте qjoypad.

Установка:

sudo apt-get install qjoypad

Запуск в режиме без трея (если нужно видеть окно):

qjoypad --notray

Добавьте новый профиль кнопкой «Add» и назовите его. В профиле вы можете задать, какие клавиши должны отправляться при нажатии кнопок или движении осей. Кнопка «Quick Set» упрощает назначение: жмите кнопку контроллера, потом клавишу клавиатуры.

Настройка профиля в qjoypad — создание действий для оси и кнопок

Привязка клавиш к движению оси в qjoypad

Переключение профилей и трей

После сохранения профилей запустите qjoypad в фоне (обычно оно уходит в трей) и переключайтесь между наборами для разных игр.

qjoypad в трее с переключением профилей

Когда это может не сработать (контрпримеры)

  • Устаревший или проприетарный контроллер со специфичной прошивкой, который не совместим ни с xpad, ни с xboxdrv.
  • Контроллер, эмулирующий нестандартный USB‑интерфейс (например, специализированные аркадные платы) — тогда нужно искать драйвер от производителя.
  • Ошибки в ядре или конфликт с другим USB‑устройством: иногда помогает подключение контроллера к другому USB‑порту или использование USB‑хаба с отдельным питанием.

Альтернативные подходы

  • Steam Input (встроенные настройки Steam) — не требует замены драйверов и хорошо работает с большинством игр в Steam.
  • Библиотеки SDL2/evdev — разработчики игр могут обрабатывать контроллеры на уровне приложения, минуя xboxdrv.
  • Antimicro / AntiMicroX — аналог qjoypad для привязки кнопок к клавиатуре и мыши.

Быстрый чек‑лист

Для игрока:

  • Подключить контроллер и проверить, видит ли его jstest-gtk.
  • Если есть проблемы, временно выгрузить xpad и запустить xboxdrv.
  • Откалибровать оси в jstest-gtk.
  • Создать профиль в qjoypad и проверить в игре.

Для администратора:

  • Решить, нужен ли xpad для других устройств в сети.
  • Добавить blacklist-xpad.conf при необходимости.
  • Настроить systemd‑сервис для xboxdrv и обеспечить логирование.
  • Документировать профили и хранить конфигурации в репозитории.

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

  • Контроллер отображается в jstest-gtk и реагирует на все кнопки.
  • Оси возвращаются в центр после отпускания (нет дрейфа), либо дрейф компенсирован калибровкой.
  • Профиль qjoypad корректно отправляет клавиши в целевом приложении.
  • Система корректно загружает/выгружает драйвер при перезагрузке без «зависания» устройств.

Методология быстрого отладки (mini-SOP)

  1. Подключите контроллер, запустите jstest-gtk, проверьте наличие и поведение осей.
  2. Если есть проблемы — выгрузите xpad: sudo rmmod xpad.
  3. Установите и запустите xboxdrv: sudo xboxdrv –detach-kernel-driver.
  4. Калибруйте через jstest-gtk.
  5. Настройте профили в qjoypad и проверьте в игре.
  6. Если всё стабильно — добавьте blacklist и systemd‑сервис для автозапуска.

Короткий глоссарий

  • xpad — стандартный модуль ядра Linux для контроллеров Xbox.
  • xboxdrv — пользовательский драйвер с расширенными возможностями маппинга.
  • jstest-gtk — графический инструмент для тестирования и калибровки геймпадов.
  • qjoypad — утилита для сопоставления кнопок контроллера с клавиатурой/мышью.

Резюме

Замена xpad на xboxdrv и правильная калибровка существенно повышают комфорт игры на Linux в случае проблем с поведением контроллера. В большинстве случаев последовательность «выгрузка xpad → установка xboxdrv → калибровка jstest-gtk → настройка профилей qjoypad» решает задачу. Всегда имейте план отката и документируйте конфигурации.

Важно: если устройство критично зависит от xpad (редкие случаи), не вносите постоянные изменения в blacklist без тестирования на всех целевых машинах.

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

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

Подключение сетевых дисков через GPO в Windows
Администрирование

Подключение сетевых дисков через GPO в Windows

FT232R USB UART драйвер: установка и ошибки
Драйверы

FT232R USB UART драйвер: установка и ошибки

Slopsquatting: что это и как защититься
Кибербезопасность

Slopsquatting: что это и как защититься

Как смотреть видео в Telegram без загрузки
Руководство

Как смотреть видео в Telegram без загрузки

Отключить «Давайте завершим настройку» в Windows 11
Windows 11

Отключить «Давайте завершим настройку» в Windows 11

Как архивировать заказы на Amazon
Руководство

Как архивировать заказы на Amazon