Вопрос или проблема
Это относится к версии Arcade1Up MegaMan. Они выпустили файл обновления, который можно скачать с их сайта, чтобы поменять местами кнопки A и B.
Я пытаюсь выяснить, как либо добавить, либо снять с чёрного списка поддержку USB контроллера в файл образа (.img).
Моя причина для этого — файл образа позволяет использовать только дешёвый беспроводной контроллер, который часто ломается и оставляет вас без других вариантов использовать другие беспроводные контроллеры, и единственный выход — подключить контроллер PS4 или XBOX серии, но обязательно в проводном режиме.
На данный момент, из моего исследования, загрузка образа полностью происходит в Linux и имеет обычную файловую структуру Linux, использующую адаптированную версию Retroarch.
Я не уверен, как найти, где могут находиться разрешения или белые/чёрные списки, и если я смогу добавить поддержку использования других контроллеров. Так что мне любопытно, могу ли я добавить информацию или даже изменить некоторые разрешения, чтобы позволить обнаружение и использование других контроллеров, возможно, даже включить поддержку Bluetooth-устройств и контроллеров. Любая помощь или совет были бы очень полезны!
.
Ответ или решение
Чтобы добавить поддержку контроллера в существующий файл образа .img, и учитывая, что это специфично для Arcade1Up MegaMan, вам необходимо углубиться в некоторые аспекты разработки и модификации встроенных систем под Linux. Данный процесс может включать изучение списка поддерживаемых устройств, изменение конфигурационных файлов и внесение изменений в исходные коды некоторых программ, таких как Retroarch, если это необходимо.
Теория
Добавление поддержки контроллера включает в себя понимание того, как операционная система взаимодействует с устройствами ввода. В случае с Arcade1Up, система основывается на Linux, что облегчает задачу, так как вам доступны разнообразные инструменты и утилиты для управления оснащением системы.
-
Анализ текущей конфигурации: Первым шагом является понимание, как система обрабатывает сигналы от контроллеров и какие именно устройства поддерживаются. Это может включать изучение конфигурационных файлов, которые управляют перечислением и распознаванием устройств.
-
Поддержка USB и других контроллеров: Если устройства подключаются через USB, вам может понадобиться изменить или обновить драйверы, которые управляют USB контроллерами. Здесь важно понять, какая именно модель контроллера ограничивается, чтобы сделать необходимые изменения.
-
Обработка черного и белого списка устройств: Некоторые системы ограничивают поддержку устройств через списки ограничения (белые или черные списки), которые могут управляться на уровне конфигурационных файлов или же непосредственно в исходном коде.
-
Включение Bluetooth: Активировать поддержку Bluetooth может потребовать изменения или добавления пакетов и утилит, таких как
bluez
, для распознавания и управления Bluetooth устройствами.
Пример
Для примера, вы можете столкнуться со следующими процессами:
-
Обнаружение нужных конфигурационных файлов: Большинство файлов системных конфигураций находятся в директории
/etc
или в пользовательских папках приложений. В случае Retroarch, стоит искать файлы конфигурации в папках, таких как/home/user/.config/retroarch
, и изучить конфигурацию контроллеров. -
Изучение и модификация драйверов: Откройте модульный менеджер, чтобы исследовать, какие драйверы подключены и активны. Попробуйте команды, например,
lsusb
иdmesg
, чтобы получить список подключаемых устройств и сообщений ядра. -
Изменение политик разрешений: Файлы конфигураций, такие как
udev
правила в директории/etc/udev/rules.d/
, могут определять, как система управляет различными USB устройствами. -
Включение поддержки Bluetooth: Вам необходимо установить или убедиться в наличии пакета
bluez
и настроить его. Используйтеbluetoothctl
для управления подключением Bluetooth устройств.
Применение
Зная вышеуказанные моменты, вы можете применить это знание следующим образом:
-
Доступ к файловой системе образа .img: Используйте инструменты, такие как
mount
, для монтирования образа и изучения содержимого файловой системы. -
Правка конфигов под Linux: После монтирования, убедитесь в изменении нужных конфигурационных файлов или удалении ограничительных правил. Это может быть файлы, такие как
.config/retroarch/retroarch.cfg
для изменения настроек контроллеров. -
Тестирование изменений: После внесения изменений, убедитесь в создании резервной копии вашего образа до его тестирования на возможности расширенной поддержки контроллеров.
-
Отображение изменений: Примените изменения и протестируйте систему с различными устройствами ввода, чтобы убедиться, что все подключения работают корректно.
Образ. использование и изменение существующего Linux-образа требует хорошего понимания операционной системы и возможных последствий внесенных изменений. Приведенные шаги и советы должны помочь в достижении ваших целей по увеличению возможностей ваших Arcade1Up систем, но будьте готовы к испытаниям и поймите, что любое изменение может привести к нежелательным результатам, которые могут потребовать возврата к исходному состоянию системы.