30 September 2016

Linux Tips: GameMaker и не работающие XInput геймпады.

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

Для того, чтобы решить данную проблему, надо установить пакет "xboxdrv", которая выполняет роль драйвера для геймпадов, джойстиков и штурвалов, которые работают по протоколу XInput. Для этого нам надо будет поставить пакет "xboxdrv", который играет роль драйвера в системе linux. Обычно его установка не нужна, так как эмуляторы работают с геймпадом и без него, но в случае с играми на GameMaker, он весьма необходим, иначе геймпад будет определяться, но игра будет его игнорировать. В данном случае, я покажу как установить его на примере Arch Linux, который работает у меня как основная ОС.

 Для начала, введите эту комманду в консоль, с её помощью мы установим нужный нам пакет из AUR репозитария.
yaourt -S xboxdrv
После того, как установим пакет, вводим следующие две комманды (первая вносит данную службу в автозапуск, а вторая его запускает):
systemctl enable xboxdrv.service
systemctl start xboxdrv.service
После чего, при запуске игры, геймпад заработает автоматически и можно играть :)

P.S. Если после установки этого драйвера, в эмулятора типа KEGA Fusion перестанут определяться геймпады, просто внесите xpad в чёрный список:
sudo rmmod xpad

После этого, сделайте перезагрузку драйвера:
systemctl restart xboxdrv.service
 После этого должно заработать определение геймпадов в эмуляторах