Использование контроллеров от Nintendo Switch в Cemu и Dolphin (Linux)
Сегодня я очнусь от своей глубокой дремы и расскажу, как использовать управление движениями от контроллера nintendo switch в нескольких эмуляторах, таких как Dolphin и Cemu, в Linux.
Пожалуйста, используйте ссылки на оригинальные руководства, чтобы проверить, не изменилось ли что-то за время после написания гайда, особенно если у вас возникли какие-то проблемы при выполнении этого гайда.
Video Version Ссылка на заголовок
Проверьте наличие hid_nintendo Ссылка на заголовок
Этот драйвер необходим для базовой поддержки контроллера nintendo и добавлен в современном ядре linux (возможно? Многие источники противоречат друг другу в этом вопросе), поэтому вы можете не устанавливать его вручную, но проверьте, что он у вас есть
- откройте терминал
- выполните команду
sudo modinfo hid_nintendo
.
Если вы получите информацию о модуле, то можете больше не беспокоиться.
- На Fedora вы также можете попробовать установить
sudo dnf install kernel-modules-extra
и проверить еще раз. - Если все равно не получается, следуйте инструкциям из официального github-репозитория.
Вы также можете установить hid-nx-dkms вместо этого, для лучшей поддержки NS Online и некоторых других нестандартных контроллеров лицензированных nintendo.
Установите joycond Ссылка на заголовок
Этот драйвер на уровне системы инициализации добавляет поддержку использования джойконов как одного единого или двух отдельных, а также добавляет некоторые другие функции совместимости.
Проверьте, использует ли ваш дистрибутив systemd. Если нет, проверьте issue 28 на их github, а также ссылку на неофициальный OpenRC-скрипт для joycond. Если вы продвинутый пользователь, вы можете написать свой собственный скрипт инициализации и заставить его работать, но если вы читаете это руководство, вы, вероятно, не являетесь таковым.
Используйте следующие команды (внимательно читайте # комментарии перед копированием)
# замените sudo в командах ниже на doas или su, если вы не используете sudo
# установите пакеты разработчика libevdev (-dev / -devel)
sudo apt install libevdev-dev make cmake # на Debian/Ubuntu/Mint
# ИЛИ
sudo dnf install libevdev-devel libudev-devel c++ make cmake # на Fedora
# клонируйте репозиторий
git clone https://github.com/DanielOgorchock/joycond.git
# перейдите в клонированный репозиторий
cd joycond
# компиляция
cmake .
# установить скомпилированный пакет
sudo make install
# включить установленный сервис/демон
sudo systemctl enable --now joycond
После этого удалите или переместите папку joycond.
Оригинальные инструкции в проекте github
Установите joycond-cemuhook Ссылка на заголовок
Это скрипт, который использует DSU standart для отправки данных контроллера по локальной сети, а также данных управления движением в нашем случае.
# установите python3
sudo apt install python3 # на Debian/Ubuntu/Mint
# ИЛИ
sudo dnf install python3 # на Fedora
# установите pip, если он не установлен по умолчанию
python3 -m ensurepip
pip3 install git+https://github.com/joaorb64/joycond-cemuhook
Оригинальные инструкции в проекте github
Подключите контроллеры Ссылка на заголовок
- Нажмите кнопку синхронизации на контроллере
- Подключите его с помощью Bluetooth (интерфейс зависит от используемого DE).
- Одновременно нажмите кнопки L и R, чтобы использовать джойконы как один, или SL и SR на каждом из них, чтобы использовать их по отдельности
- Откройте терминал и выполните команду joycond-cemuhook.
Если вы получите ошибку о модуле ядра, выполните команду `sudo modprobe hid_nintendo, чтобы включить его
Настройте Dolphin Ссылка на заголовок
- Зайдите в настройки входа
- Нажмите кнопку Alternate Input Sources
- Включите клиент DSU с помощью галочки в открывшемся меню
- Добавьте устройство, используя IP и порт из вывода joycond-cemuhook в терминале
После этого нужно выбрать новое добавленное устройство в конфигурации контроллера и настроить кнопки. Возможно, вам придется откалибровать стики и датчики движения, которые не работают должным образом после того, как вы попробуете использовать их как есть.
Настройка Cemu (родной порт linux) Ссылка на заголовок
- Нажмите кнопку плюс рядом с контроллером, чтобы выбрать меню конфигурации ввода
- Добавить DSU контроллер
-
Используйте выпадающее меню “Контроллер”, чтобы выбрать его, вам может потребоваться использовать клавиши со стрелками и клавишу ввода, так как сейчас отображается только один контроллер в одно время
-
Нажмите “Настройки” и отметьте пункт “Использовать управление движением”.