Retroarch как настроить геймпад

RetroArch Controller Configuration

RetroArch is the official front end for the libretro API. RetroArch and libretro provide a way to take an existing emulator and load that emulator as a library or «core». RetroArch then handles the input (controls) and output (graphics and audio) while the emulator core handles the emulation of the original system. With a few simple changes to the emulator source code, almost any existing emulator could become a libretro core.

In RetroPie, the libretro emulator cores are identified with a lr- in front of their name. For example, lr-snes9x2010 is the libretro core of the SNES emulator called snes9x2010.

RetroArch and libretro provide ability to configure controllers once for many emulators instead of having to configure each emulator individually. However, RetroArch also provides the freedom to configure specific emulators individually and even individual games differently if the user wants. This allows a specific setting or button mapping for a certain console or even just for a certain game.

For emulators which are not libretro cores, there are emulator-specific configurations under the respective system’s wiki page.

The RetroPad concept

When you configure your controller in EmulationStation, the RetroPie setup script automatically configures RetroArch with the same controls.

RetroArch controls map real-world controller buttons to a virtual controller called a «RetroPad». A RetroPad does not exist in real life, it’s a concept only within RetroArch. A RetroPad has an ABXY layout like a SNES controller plus four shoulder buttons and dual analog sticks like a Sony DualShock.

You don’t have to map all of the RetroPad buttons to a real world button. If your real controller has less buttons than a DualShock, then the virtual RetroPad also has less buttons, that’s perfectly fine.

As RetroArch starts an emulator core, it maps the RetroPad configuration to the emulated system’s original controls. The mapping for many consoles is represented by the pictures below and on each system’s wiki page. If you wish, you can reconfigure this control mapping, either for all RetroArch, for a specific system, or even for a specific ROM.

Retroarch Controls

There are 3 main ways to configure input for RetroArch:

  • Autoconfigurations — made in EmulationStation
  • Hardcoded Configurations — made by editing retroarch.cfg file(s)
  • Core Input Remapping — an easy way to do specific control configurations for specific cores, made in the RetroArch RGUI

AutoConfigurations

RetroArch controls have been integrated into EmulationStation and will be the first thing you see when you boot from the RetroPie SD image the first time. You can also access it from the start menu within EmulationStation under the Configure Input option. Your joypad is automagically configured for libretro (RetroArch) emulators when you configure your controller in EmulationStation. You’ll know if your controller has been automagically configured if you see a flash of yellow text on the bottom of the screen with your gamepad ID when you start a game.

The following diagrams are for the 3 most common controllers: Super Nintendo, Xbox 360, and PlayStation 3. They can be used as a reference when configuring your controllers. Each emulator page on the wiki has a diagram of the original controller for its respective console that will correspond to the same inputs listed below.

After you’ve configured your controller the autoconfig will be created here:

This is an example config for a USB SNES controller

As seen above in the config for the USB SNES controller, each input on the controller has an associated value. When setting up the controller in EmulationStation, these values are then assigned a respective action on RetroArch.

For example, suppose the «A» button on a USB SNES controller has a value of «1.» When setting up the controller, EmulationStation would prompt you to press the «A» button on your controller. Pressing the «A» button would then record into the config file as input_a_btn = «1» , so RetroArch will know that the «A» button on your physical controller corresponds to the «A» button on RetroArch’s virtual controller, the RetroPad. Therefore, the next time you play a game such as Super Mario Bros. pressing the «A» button will tell RetroArch to press the «A» button on its RetroPad, causing Mario to jump. If you accidentally pressed the «B» button with a value of «2» during setup when it prompted for «A,» then it would be recorded into the config file as input_a_btn = «2» , so if you want to jump in Super Mario Bros., you would have to press «B» on your controller.

Hotkeys

Hotkeys are combinations of buttons you can press in order to access options such as saving, loading, and exiting games. The following defaults are set automatically the first time you set up your controller from EmulationStation (the numbers will vary depending the controller you use).

Читайте также:  Айхерб приложение не работает айфон

Default joypad hotkeys:

Hotkeys Action Code Example
Select Hotkey input_enable_hotkey_btn = «6»
Select+Start Exit input_exit_emulator_btn = «7»
Select+Right Shoulder Save input_save_state_btn = «5»
Select+Left Shoulder Load input_load_state_btn = «4»
Select+Right Input State Slot Increase input_state_slot_increase_btn = «h0right»
Select+Left Input State Slot Decrease input_state_slot_decrease_btn = «h0left»
Select+X RGUI Menu input_menu_toggle_btn = «3»
Select+B Reset input_reset_btn = «0»

Determining Button Values

If you want to edit the entries in the .cfg file for your controller, you will need to know the values corresponding to the buttons on your controller. Usually the relationship between the two can be deduced by looking at the file and noting the entries’ names along with the values next to them, assuming that the values have not been jumbled from previous edits or been mixed up due to unknown issues. For example, the USB gamepad above has an entry for input_x_btn = «0» , indicating that the «X» button on the controller (or the button that you associated as «X» during controller setup in EmulationStation) has a value of «0.»

On the other hand, maybe you are not sure if the values in the .cfg file is correct or the file is missing entries for buttons that are available on your own controller, such as a «Home» button. You can run jstest (joystick test) in the terminal by selecting Quit EmulationStation (a keyboard will be required for the following steps).

In the terminal, type and enter
jstest /dev/input/js0

Replace js0 with js1, js2, js3, etc. as needed if not detected.

A multitude of rows and columns should appear. Pressing buttons or moving analog sticks/joystick will cause various entries in the columns to swap between on and off and fluctuate through a range of numbers. The value next to an on/off entry corresponds to the button that you have pressed. The fluctuation of numbers from -32767 to 32767 correspond to the input on your controller that has a range of motion, such as analog sticks/triggers.

If you are interested in figuring out which is your «Select» button, pressing and holding «Select» on your controller will cause one column to switch from off to on. The value next to it corresponds to the «Select» button. If you have a controller with a «Home» button, pressing the «Home» button will also cause one column to switch from off to on. To exit jstest, press Ctrl + c . To return to EmulationStation from the terminal, type and enter emulationstation .

Using these values, you can edit the .cfg file for that controller as needed. For example, if you were interested in switching the your Hotkey button to a «Home» button available on your controller, you would edit input_enable_hotkey_btn = «some number» , replacing «some number» with the value you found for your «Home» button in jstest.

Video Tutorial

Hardcoded Configurations

These configurations are manual edits you can make that are locked to a specific libretro core and controller. Hardcoded controls can be configured either globally, specific to the emulator core, or specific to an individual game.

Config Hierarchy

All RetroArch based emulators can be configured in the following way:

Global settings — that are settings which should apply to all systems — are done in the file:

System-specific settings are done in the files:

Here, SYSTEMNAME is atari2600 , snes , etc. All settings in these files will override the corresponding global setting as long as they are placed above the #includeconfig line.

ROM-specific settings can be created in the runcommand menu and show up as configuration files by ROM title:

The ROMNAME includes the original file extension before the .cfg , e.g. supermariobros.zip.cfg These configurations are used when starting this specific ROM.

Custom RetroArch Override Examples

Example Default Per-System retroarch.cfg

Example Per-System Control Override retroarch.cfg

Note the values below are for one person’s controller, your values may differ. Make sure that these values are placed above the #includeconfig line:

Example Per-ROM Override retroarch.cfg

Core Input Remapping

Core Input Remapping differs from the other two methods as it remaps how the core receives input rather than how the gamepad is coded, for example you can tell the snes core to switch button A and B on the controller for gameplay, but you can still use «A» to select in the RGUI and «B» to go back where as hard-coding would make B select and A back. Core Remapping is much more practical than hard-coded mapping but is limited to the cores that support it.

  • Start a game of the system you want to remap the buttons
  • Invoke RGUI (Hotkey+X with player 1)
  • Go to Quick Menu and then Controls
  • Configure the buttons the way you want
  • Select Save Core Remap File
  • OR, if you want to save this remapping for the current game only, select Save Game Remap File

Remaps are saved as .rmp files in directory:

Источник

Как пользоваться RetroArch

RetroArch – это оболочка для эмуляторов проекта Libretro. Ключевой особенностью является API, позволяющий использовать одно приложение с общими настройками для запуска многочисленных эмуляторов (ядер).

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

Установка RetroArch

RetroArch можно установить несколькими способами. В зависимости от используемого дистрибутива команда для установки может отличаться. Для дистрибутивов на основе Debian или Ubuntu можете использовать команду:

sudo apt install retroarch

Для Arch Linux можно применить следующую команду:

sudo pacman -Sy retroarch

RetroArch также доступен в виде Snap-пакета. Последнюю версию можно установить командой:

sudo snap install retroarch —edge

Если вам нужна именно установка, то такой вариант будет предпочтительнее, так как разработчики сами следят за тем, чтобы в репозитории находились актуальные версии программы. К тому же папка с конфигурацией будет расположена в пользовательском каталоге (home/snap/retroarch/423/.config), а не в системных папках с ограниченным доступом.

Но мы рассмотрим самый простой способ – «ночная сборка» в формате Appimage. Бояться не стоит, тестовый релиз во многом лучше стабильного. Просто скачиваете архив, например, для x86_64 и распаковываете его в любую папку. Обновить программу также легко, просто замените файлы на новые, настройки в этом случае никуда не денутся.

Останется лишь проверить, что файл отмечен как исполняемый и запустить программу. По умолчанию конфигурационные файлы будут лежать в соседнем каталоге RetroArch-Linux-x86_64.AppImage.home/.config (надо включить отображение скрытых файлов). В дальнейшем мы не один раз будем ссылаться на папку .config.

Кроме этого, в скором времени RetroArch должен появиться в Steam. Это можно считать ещё одним способом установки.

Как пользоваться RetroArch

1. Интерфейс программы

Главное меню RetroArch с темой ozone

При первом запуске будете применена тема меню ozone. Ей удобно пользоваться как с использованием мыши, так и геймпада. Ранее RetroArch по умолчанию ставил xmb, перекликающуюся с интерфейсом PlayStation 3. Тему можно поменять в разделе настроек (Интерфейс пользователя -> Меню). Если вы планируете использовать программу на русском языке, то остальные темы не подойдут, так как их шрифты не содержат русских символов.

Навигация по пунктам меню осуществляется несколькими способами, с помощью клавиатуры, мыши и геймпада. Клавиши клавиатуры и кнопки геймпада XBox для управления меню:

Помимо этого, поддерживается управление с помощью мыши. Правая кнопка выполняет действие Назад.

Интерфейс предельно простой и не требует дополнительных пояснений. Единственное, о чём стоит сказать, так это о вызове быстрого меню во время игры. При игре с клавиатуры используйте клавишу F1, а с геймпадом комбинацию кнопок (Настройки -> Ввод -> Горячие клавиши -> Комбинация кнопок геймпада для вызова меню).

Выбор комбинации кнопок для вызова быстрого меню

2. Язык интерфейса

Смена языка доступна в разделе Настройки -> Пользователь -> Язык. Выбрав английский язык, вы сможете установить любую тему, а не только рассмотренные выше.

3. Настройка видео

Переключиться в полноэкранный режим можно в разделе Видео. Там же есть раздел фильтры, например, с их помощью можно сымитировать работу ЭЛТ-монитора. Сами фильтры находятся в папке .config/retroarch/filters/video.

4. Настройка управления

Настройка геймпада retroarch выполняется здесь. В разделе Ввод выставляются кнопки для виртуальных геймпадов ( RetroPad ) Управление порта 1-4, которые будут использоваться эмуляторами (ядрами). Если вы хотите использовать стик геймпада вместо D — Pad , то обратите внимание на пункт Аналого-цифровой тип, таким образом не придётся переназначать кнопки.

Проверить выбранные настройки поможет тест Главное меню -> Загрузить ядро -> Запустить удалённый RetroPad.

В этом разделе выставляются кнопки для виртуальных геймпадов (retropad), которые будут использоваться эмуляторами консолей. Особое внимание уделите горячим клавишам, с их помощью можно сохранять игровой процесс, ускорять и замедлять игру и даже отматывать её назад. Настроить скорость перемотки можно в разделе Частота кадров. Там же включается перемотка назад, это ресурсоёмкий процесс, поэтому подойдёт только для старых консолей.

Для 8-ми и 16-битных консолей можно назначить незадействованные кнопки геймпада в роли горячих клавиш. Для более поздних консолей лучше выбрать кнопку горячей клавиши, при её удержании остальные кнопки могут выполнять функции горячих клавиш. Но есть и третий вариант, когда горячие клавиши останутся на клавиатуре, а управление игрой будет осуществляться с помощью геймпада.

5. Настройка ядер

Настройки самих ядер доступны через Быстрое меню -> Опции. Если для 16-битных консолей там делать нечего, то при эмуляции 3D-графики крайне желательно повысить разрешение рендера. Благодаря этому качество изображения станет заметно выше. После настройки не забудьте сделать резервную копию конфигурационного файла

/.config/retroarch/retroarch.cfg.

6. Загрузка эмуляторов (ядер) и BIOS консолей

Большая часть эмуляторов (ядер, core) доступна для скачивания прямо из RetroArch (Главное меню -> Загрузить ядро -> Скачать ядро). Но некоторые ядра необходимо скачивать вручную и размещать в каталоге

Для некоторых консолей, вроде Playstation 1, необходимо скопировать образ BIOS консоли в папку

/.config/retroarch/system. Чтобы не тратить время на поиск образов, можете скачать архив с BIOS самых популярных консолей, или же полный набор образов, в том числе для аркадных автоматов (MAME). Настройка RetroArch практически завершена.

7. Добавление игр

Игры можно загружать после выбора ядра, но гораздо проще добавить их с помощью Импорта контента. Если выбрать Сканировать каталог, то RetroArch попытается все сделать самостоятельно. Однако, с помощью Ручного сканирования можно задать искомый формат файлов и конечную консоль, например, файлы с расширением .cue для PlayStation 1.

После этого на главном экране в левой части появятся консоли. Также можете добавить обложки через Главное меню -> Онлайн обновления -> Обновление эскизов плейлистов.

Дальше давайте рассмотрим эмуляторы RetroArch.

8. Эмуляторы приставок Sega

  • Sega Master System и Mega Drive — для Master System вышло не так много игр, и она не получила широкое распространение в России, но всё же вы можете оценить игры этой 8-битной консоли с помощью эмулятора Genesis Plus GX. Этот эмулятор также подходит и для популярной Mega Drive. Он умеет работать не только с образами картриджей, но и CD-дисков (Mega CD), которые использовались через слот расширения.
  • Sega Saturn — с эмуляцией Sega Saturn лучше всего справляется Kronos. Он может запустить более 70% игр. К сожалению, эмулятор Mednafen (Beetle Saturn), поддерживающий большую часть игр, не имеет последней версии для RetroArch и требует наличие производительного компьютера. Зато имеется отдельный эмулятор Mednaffe, который вы можете использовать вместо RetroArch.
  • Sega Dreamcast — для эмуляции Dreamcast используйте Flycast. Он берёт своё начало от другого популярного эмулятора, Reicast. Со временем это ядро стало одним из самых производительных и функциональных, особенно в плане настройки графики. Не забудьте повысить разрешение рендера (Быстрое меню -> Опции -> Internal resolution).

9. Эмуляторы приставок Nintendo

  • Nintendo Entertainment System (NES) — консоль NES, также известная под названиями Famicom и Dendy, обладает самой большой коллекцией эмуляторов. Среди них можно выделить Mesen, который наиболее точно эмулирует игровую приставку.
  • Super Nintendo Entertainment System (SNES) — для SNES также имеется эмулятор Mesen S, но работа над ним началась всего пару лет назад и наблюдаются проблемы с некоторыми играми. Поэтому оптимальным решением станет Snes9x, он не просто запускает игры, но ещё и делает это предельно точно. У других эмуляторов нередко наблюдаются проблемы со звуком.
  • Nintendo 64 — для эмуляции Nintendo 64 вы можете использовать как ParaLLEl, так и Mupen64Plus. Они оба являются ответвлениями Mupen64 и предлагают хорошую производительность и богатый набор настроек. Так как игры на этой консоли перешли в 3D, то крайне желательно повысить разрешение рендера в Опциях. Там же можно выбрать плагин RDP (Reality Display Processor). По умолчанию будет стоять GlideN64, он имеет хорошую производительность, но для достижения наиболее точного рендера выбирайте angrylion.
  • Nintendo GameCube и Wii — для эмуляции GameCube и Wii однозначно стоит использовать Dolphin. Этот эмулятор может запустить практически любую игру, при этом он потребляет не так много ресурсов системы. Консоли имели весьма необычные контроллеры. Если для GameCube ещё можно что-то придумать, чтобы разметить все кнопки геймпада, то с Wii ситуация сложнее. Лучше всего использовать оригинальные контроллеры и самостоятельный эмулятор Dolphin.

10. Эмуляторы приставок Sony

Включение плагинов PGXP в Быстрое меню -> Опции

  • PlayStation 1 лучше всего эмулировать с помощью Beetle PSX HW (порт эмулятора Mednafen). Это ядро не требовательно к ресурсам системы, при наличии современного компьютера можно даже попробовать включить обратную перемотку в Быстром меню. Но основное преимущество эмулятора – это плагины PGXP. Как известно, PS 1 не отличается высокой точностью рендера, но эта проблема была не так заметна в родном разрешении. С эмулятором же вы наверняка повысите разрешение, и этот недостаток проявится во всей красе. Плагин PGXP Operation Mode повышает точность расположения полигонов. В большинстве игр вы получите чёткую картинку без подёргиваний. Но в некоторых случаях приходится отключать плагин, так как разработчики игры уже учли эту особенность.
  • PlayStation Portable — PSP эмулируется с помощью ядра PPSSPP. Оно позволяет запустить большую часть игр. При повышении разрешения некоторые проекты выглядят даже лучше, чем на PS 2, так как графический чип получил больше функций. Ядро RetroArch давно не обновлялось, так что имеет смысл использовать самостоятельный эмулятор PPSSPP.
  • PlayStation 2 — эмулировать PlayStation 2 в RetroArch пока что нельзя, работы над портированием PCSX2 и Play! практически не ведутся, поэтому неизвестно, когда эти эмуляторы попадут в RetroArch.

11. Другие эмуляторы

  • Atari 2600 и 7800 — для эмуляции Atari 2600 и 7800 вы можете использовать ядра Stella и ProSystem соответственно. На этих консолях впервые появились такие игры как Pac-Man, Pitfall, Galaga.
  • DOS — для игр DOS в RetroArch имеется самый популярный для этого эмулятор DOSBox. Для многих игр удобнее использовать клавиатуру, поэтому убедитесь в том, что в разделе Быстрые настройки-Управление-Порт 1-Тип устройства стоит именно клавиатура.
  • MAME — Для эмуляции аркадных автоматов имеется ядро MAME. Но это не лучшее решение, гораздо удобнее использовать самостоятельный эмулятор MAME, в нем есть база данных, позволяющая узнать о совместимости игр с эмулятором.

Выводы

Теперь вы знаете как пользоваться RetroArch. Использовать программу проще всего в виде Appimage. В этом случае все файлы будут расположены в одном месте. Управление настраивается один раз, для виртуальных контроллеров Retropad. В дальнейшем именно на них будут опираться эмуляторы. Этого будет достаточно для начала работы с RetroArch.

С выбором самих эмуляторов у вас также не должно возникнуть проблем, если вы будете использовать именно те, что указаны ранее, то получите наилучшую совместимость с играми. Кроме этого можете изучить и другие эмуляторы, доступные на Linux. Вместе с RetroArch вы получите возможность запускать несчётное количество игр.

Источник

Оцените статью