!Геймпад 8BitDo Pro 2 на Arch Linux
2023-03-24T16:46:25+05:00
linux-gamingFirmware 3.0
Чтобы геймпад появился в списке Blueman, Bluedevil (KDE) или bluetoothctl
необходимо перевести в режим сопряжения на секунду удерживать эту кнопку. 4 индикатора должны мигать по очереди, и после этого геймпад должен появится в списке подключения к нему можно соединится.
Если вы уже ранее подключались и не можете снова подключится, попробуйте удалить из списка Blueman или Bluedevil геймпад и тогда он в списке должен появится и подключится номрмально.
Данный геймпад работает хорошо со всеми типами подключения и режимами (кроме Switch, об этом позже).
# Работа в Wine
Использовался wine-tkg 6 rc5
Чтобы вызвать меню конфигурации контроллера
wine control joy.cpl
Режим Xinput
- [По проводу] Определяется как XBox 360, всё исправно работает
- [По Bluetooth] Определяется как XBox One, всё исправно работает
Режим Switch
- По проводу и по Bluetooth работают хорошо, триггеры нажимаются как кнопки, только ось круга квадратит
# Гироскоп в эмуляторах
В некоторых из эмуляторов таких как dolphin (Wii), cemu (Wii U), citra (3DS), yuzu (Switch) стандартно невозможно использовать гироскоп. Joycond-Cemuhook решает эту проблему путём использования UDP протокола
Если у вас версия ядра Linux меньше 5.16 значит устанавливаем дополнительно hid-nintendo-dkms
yay -S hid-nintendo-dkms
Устанавливаем необходимые AUR пакеты joycond-git и joycond-cemuhook-git
yay -S joycond-git joycond-cemuhook-git
Конектим по проводу 8BitDo Pro 2 (режим Switch)
Ранее в прошлых версиях AUR пакета cemuhook можно было его запускать от пользователя, сайчас же его необходимо запускать от рута (sudo)
Запускаем в консоли данной командой
sudo joycond-cemuhook
Теперь данные эмуляторы будут подхватывать геймпад вместе с рабочим гироскопом
У меня также есть отдельный гайд по настройке геймпада для эмулятора dolphin
# !Switch режим в Steam
В Steam сейчас пока невозможно использовать драйвер hid-nintendo которое встроили в mainline ядра Linux с версии 5.16 т.к Steam использует свой драйвер. Поэтому мой геймпад при подключении не определяется вообще.
Это известная проблема которую пока не исправили но есть обходняки расписаные на Arch Wiki, единственное что мне частично помогло это использовать joycond
Устанавливаем данный AUR пакет
yay -S joycond-git
Включаем и стартуем joycond.service
sudo systemctl enable --now joycond.service
После чего подключаем геймпад (по bluetooth или по проводу) с предварительно включённым режимом (S)witch
Далее переходим к обходняку который описан в Arch Wiki, чтобы Steam начал распознавать наш геймпад как Switch контроллер необходимо его перевести в виртуальный Pro контроллер (virtual Pro Controller). Без включённого joycond.service у вас не получится его активировать.
Данный обходняк пока не имеет поддержки гироскопа для стима
Когда все 4 индикатора начнут мигать жмём обе кнопки +
и -
и после на геймпаде начнёт мигать только один индикатор а стим выведет уведомление что были подключены joycon'ы (да, стим будет отображать мой контроллер как joycon'ы)
{{< rawhtml >}}
{{< /rawhtml >}}Так же в статусе joycond.service будет добавлена информация что включён виртуальный Pro контроллер
$ systemctl status joycond.service
.....
мар 19 00:40:45 arch joycond[1482774]: driver_name: Nintendo Switch Pro Controller
мар 19 00:40:45 arch joycond[1482774]: MAC: E4:17:D8:CC:09:CD
мар 19 00:40:45 arch joycond[1482774]: adding epoll_subscriber: fd=5
мар 19 00:42:07 arch joycond[1482774]: Virtual procon paired
мар 19 00:42:07 arch joycond[1482774]: adding epoll_subscriber: fd=15
Именуется виртуальный Pro контроллер: Nintendo Switch Virtual Pro Controller (/dev/input/js2)
И теперь можно играть в Steam игры на режиме Switch, правда как было указано выше что метод не поддерживает гироскоп