Retroarch как изменить язык

Ответы на вопрос «Как сменить язык в RetroArch?» на форуме MyDiv

Форум

Иконка RetroArch

Вопросы и ответы по «RetroArch»

Как сменить язык в RetroArch?

Скачал и установил эмуль, но он полностью на английском. На стримах видел, что его можно перевести на русский. Как это сделать?

Гость

+

0

-

0

Ответы на вопрос
(1)

+

0

-

0

29.04.2021, 15:19

1) Запустите RetroArch и переключитесь на вторую вкладку – Driver.

2) Далее пролистайте экран вниз и воспользуйтесь опцией User (см. скриншот №1).

3) В подразделе Username укажите имя пользователя, которое будет закреплено за данным профайлом.

4) Затем укажите пункт Language (см. скриншот №2).

5) Выберите в списке русский язык (см. скриншот №3).

6) После этого язык интерфейса автоматически поменяется на русский.

Вопрос и ответы были вам полезны?


Да


Нет

Попробуйте также:

Похожие вопросы
:

Установите это приложение и заново переживите эмоции, которые дарили любимые игры в детстве.

Что такое RetroArch

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

Это означает, что больше не нужно переключаться между приложениями и думать, какое из них подходит для той или иной платформы, — достаточно выбрать игру, и она сразу же запустится. В коллекции прекрасно уживаются любимые тайтлы с Sega Mega Drive, PlayStation, Super Nintendo, Game Boy Advance и многих других консолей.

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

Как настроить RetroArch

Установка

RetroArch доступен для Windows, macOS, Linux — причём не только для актуальных версий, но и для тех, которые уже не поддерживаются даже производителями. Например, Windows 95 или Mac OS X на PowerPC. Оболочка работает на Android, iOS и большом количестве игровых приставок — от PlayStation 2 до Nintendo Switch.

Для установки перейдите на официальный сайт по этой ссылке и скачайте инсталляционный файл для своего устройства. После загрузки запустите установщик и следуйте подсказкам мастера. По окончании процесса запустите RetroArch из меню приложений.

Смена языка

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

Для смены языка перейдите в меню Settings → User → Language и выберите нужный пункт в списке. Мы рекомендуем использовать английский и будем приводить английские названия разделов меню. Если всё же хочется русский — выполните все настройки, а затем переключитесь.

Настройка геймпада

Игровые контроллеры определяются автоматически. Достаточно подключить геймпад к устройству, и он сразу заработает в RetroArch. Поддерживаются самые разнообразные контроллеры, включая Dualshock 4 и Xbox One S Controller, а также проводные и беспроводные геймпады сторонних производителей.

Настройка контроллера сводится к назначению горячих клавиш для вызова меню. Для этого откройте Settings → Input → Hotkey Binds → Menu Toggle Gamepad Combo и выберите комбинацию кнопок из списка. По умолчанию используется L3 + R3, но, если у вас геймпад без аналоговых стиков, например от Super Nintendo, удобнее использовать L1 + R1 + Select + Start.

Ещё здесь можно задать сочетания для быстрого сохранения и загрузки, а также перемотки времени.

Настройка интерфейса

По умолчанию в RetroArch используется графический интерфейс XMB, хорошо знакомый владельцам PlayStation 3. Он очень удобен для навигации с геймпада. Однако, кроме него, также доступны несколько других вариантов как для десктопов, так и для портативных устройств. Для переключения зайдите в Settings → Drivers → Menu и выберите подходящий.

Также можно изменить вид иконок и шрифта в меню. Делается это в разделе Settings → User Interface → Appearance → Menu Icon Theme. Более того, доступны ещё различные анимации меню и цветовые схемы — за них отвечают пункты Menu Shader Pipeline и Menu Color Theme соответственно.

Загрузка эмуляторов

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

Желательно обновить базы данных до установки эмуляторов, чтобы загрузить самые актуальные версии. Для этого откройте Main Menu → Online Updater и выберите Update Core Info Files, а затем Update Databases.

Теперь перейдите в Core Updater и установите ядра для эмуляторов тех приставок, в игры с которых хотите поиграть. Ищите название консоли в списке, выбирайте один из эмуляторов и нажимайте кнопку подтверждения. Для одной системы можно установить сразу несколько эмуляторов: если в каком‑то проявятся ошибки, достаточно будет переключиться на другой.

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

Чтобы поиграть в игру понадобится ROM‑файл — копия картриджа, которая будет запускаться в эмуляторе. Их легко можно найти в интернете по запросу «ромы название консоли», однако легальным использование rom‑файлов считается только при наличии оригинального картриджа с игрой.

Ромы в RetroArch добавляются при сканировании папок, поэтому сразу удобно указать начальную директорию, где хранятся все rom‑файлы. Для этого перейдите в Settings → Directory → File Browser, а затем найдите нужную папку и выберите Use this directory.

Вернитесь в главное меню и в разделе Import content выберите Scan directory. Теперь поочерёдно открывайте папки с ромами и нажимайте Scan This Directory. В зависимости от количества игр на сканирование уйдёт от нескольких секунд до нескольких минут или даже больше. По завершении процесса в главном меню появятся новые иконки с разделами для каждой добавленной консоли.

Включение обложек

Значки, стилизованные под геймпады и картриджи приставок выглядят неплохо, но гораздо приятнее, когда для каждой игры отображается обложка. Чтобы настроить это, перейдите в Main Menu → Online Updater → Playlist Thumbnails Updater и поочерёдно нажмите на название каждой консоли в списке.

Дополнительно можно включить отображение скриншотов или главных экранов слева от списка игр. Для этого откройте Settings → User Interface → Appearance → Left Thumbnails и выберите Screenshots или Title Screen.

Имейте в виду, что обложки появятся только для официальных релизов игр, которые есть в базах данных RetroArch. Переведённые версии и всевозможные хаки так и останутся без картинок.

Добавление достижений

Такой функции, как достижения, в старых играх никогда не было, но RetroArch позволяет её добавить. Чтобы зарабатывать ачивки и бить рекорды других пользователей по всему миру, зарегистрируйтесь на сайте retroachievements.org, а затем введите свой логин и пароль в разделе Settings → User → Accounts → RetroAchievements.

Сохранение настроек

По умолчанию RetroArch сохраняет все настройки при выходе. При неожиданном или принудительном завершении работы приложения внесённые изменения будут утрачены. Поэтому для сохранения закройте и снова откройте RetroArch или перейдите в Main menu → Configuration file и нажмите Save Current Configuration.

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

Запуск игр

Чтобы поиграть, перейдите в раздел нужной платформы, найдите игру, откройте её и нажмите Run. В первый раз придётся также указать ядро для запуска — потом оно будет выбираться автоматически.

Для выхода из игры откройте быстрое меню сочетанием клавиш, которое назначили ранее, и нажмите Close content. Здесь же можно перезапустить игру, сохраниться или изменить различные настройки эмулятора.

Избранное

Если в библиотеке очень много игр, искать нужную будет довольно утомительно. Упростить задачу можно, добавив любимые тайтлы в избранное. Для этого откройте игру и нажмите Add to Favorites. Все добавленные появятся в главном меню в разделе со звёздочкой — там будут собраны все игры, независимо от платформы.

История

Ещё один способ быстрого запуска — меню History, в котором также отображаются последние открытые игры со всех консолей. Этот вариант удобен для тайтлов, которые находятся в процессе прохождения.

Сохранения

На оригинальных консолях сохранения были настоящей роскошью. В эмуляторах же можно сохраняться в любое время и в любом месте. Для этого нужно открыть быстрое меню в игре и выбрать Save State. Для загрузки, соответственно, используется опция Load State.

Для удобства можно настроить автоматическое сохранение и загрузку при выходе и запуске игры. Для этого перейдите в Setting → Saving и включите тумблеры Auto Save State и Auto Load State.

Улучшение графики

На экранах современных компьютеров и даже мобильных гаджетов старые игры выглядят из рук вон плохо из‑за низкого разрешения. Однако ситуацию можно исправить с помощью шейдеров — эффектов, которые сглаживают пиксели или, наоборот, добавляют фильтры, благодаря которым картинка выглядит как на экране ЭЛТ‑телевизора. Последний вариант смотрится аутентичнее и намного приятнее.

Для включения шейдеров запустите игру и откройте быстрое меню. Перейдите в пункт Shaders и включите тумблер Video Shaders. Откройте Shaders Preset, выберите один из многочисленных фильтров, вернитесь в меню и нажмите Resume.

Например, вот так выглядит оригинальная картинка в сравнении с шейдером crt_pi, имитирующим кинескоп ЭЛТ‑телевизора (папка shaders_glsl → crt → crt_pi.glslp). Слева фильтр включен, справа — нет.

Выбранный пресет можно использовать в других играх и эмуляторах. Для этого в меню Shaders нужно выбрать Save, а затем Save Core Preset — для всех игр текущей консоли или Save Global Preset — для всех эмуляторов вообще.

Читайте также 🎮🕹📺

  • 50 лучших NES-игр всех времен
  • 5 бесплатных эмуляторов Android на ПК
  • 7 лучших эмуляторов Dendy для разных платформ
  • 25 отличных игр, в которые можно поиграть на слабом компьютере
  • Retro Games Online: классические игры прямо в браузере

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

Мы рассмотрим как пользоваться 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. Интерфейс программы

rvSOKpqG4AAAAASUVORK5CYII=

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

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

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

  • Прокрутка вверх/вниз: Клавиша вверх/вниз / DPad вверх/вниз.
  • Подтверждение: Клавиша X / Кнопка B.
  • Назад: Клавиша Z / Кнопка A.
  • Информация: Клавиша правый Shift / Кнопка Back.
  • Запуск: Клавиша Enter / Кнопка Start.
  • Вызов быстрого меню: Клавиша F1 / Кнопка Guide.
  • Выход: Клавиша Escape.
  • Вызов клавиатуры: Клавиша S / Кнопка Y.

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

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

jjz0qHmNC865xQpN3KQMKhYwz7Cv+vxnyb6S4kLXMAAAAAElFTkSuQmCC

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

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

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

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

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

h+oxyHom4xbgQAAAABJRU5ErkJggg==

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

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

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

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

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

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

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

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

Ax55afu0FYupAAAAAElFTkSuQmCC

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

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

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

OhlC7mNBEPJ5EbKFM2WnO+mD9JIqUghVcsFxXxSmK3GmZpQVwYPSnbUHcJVAR+ordAnCnQEvXGEGK561IWUxPit0XZ6J0AwRRJ+M8MvwxZTHYQWCJ4TxKrmPaWyZswi95+MzuHB3TBx14aNpz9c+L4MeIxTKjeVU6o8i5mQKKQcob5iv8H6cpTwnR0TrcAAAAASUVORK5CYII=

Игры можно загружать после выбора ядра, но гораздо проще добавить их с помощью Импорта контента. Если выбрать Сканировать каталог, то 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

z54+AY+xhXq6qgnV3sUMSBZSzTCX+AfM3qk863B8hgAAAABJRU5ErkJggg==

Включение плагинов 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 вы получите возможность запускать несчётное количество игр.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

While translation is handled via the Crowdin1 platform (more here), RetroArch’s code must be adjusted for it to display new languages.

Files to change¶

  • Makefile.common
  • msg_hash.c
  • msg_hash.h
  • retroarch.c
  • griffin/griffin.c
  • intl/msg_hash_xx.c (new file)
  • intl/msg_hash_us.h
  • menu/menu_setting.c
  • libretro-common/include/libretro.h

Every new language must first be added to the project on Crowdin. This will ensure that a corresponding intl/msg_hash_xx.h file is created. Requests are accepted at the #retroarch-translations channel of the RetroArch Discord2.

Main Instructions¶

To add a language with the English name XXXXX and two-letter code xx (be sure to use the same one as in the corresponding intl/msg_hash_xx.h file) follow these steps:

  1. Open libretro-common/include/libretro.h.
    1. Add a RETRO_LANGUAGE_XXXXX item to the retro_language enum just above RETRO_LANGUAGE_LAST, using the next available integer value.

      Do not rearrange the elements of this list! This would break the language association for the cores!

  2. Open msg_hash.h.
    1. Check if a MENU_ENUM_LABEL_VALUE_LANG_XXXXX item for your language is present in the msg_hash_enums enum; if not, add it.
    2. Add declaration of a const char *msg_hash_to_str_xx(enum msg_hash_enums msg) function.
    3. Add declaration of a int msg_hash_get_help_xx_enum(enum msg_hash_enums msg, char *s, size_t len) function.
  3. Open msg_hash.c.
    1. Add the following block inside the msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len) function:
      case RETRO_LANGUAGE_XXXXX:
         ret = msg_hash_get_help_xx_enum(msg, s, len);
         break;
      
    2. Add the following block inside the get_user_language_iso639_1(bool limit) function:
      case RETRO_LANGUAGE_XXXXX:
         return "xx";
      
    3. Add the following block inside the msg_hash_to_str(enum msg_hash_enums msg) function:
      case RETRO_LANGUAGE_XXXXX:
          ret = msg_hash_to_str_xx(msg);
          break;
      
  4. Open Makefile.common.
    1. Add intl/msg_hash_xx.o to OBJ.
  5. Create a copy of intl/msg_hash_en.c and name it intl/msg_hash_xx.c. After the msg_hash_us.c refactor in early 2023, this file will only be a stub, so instead of the us file, en file is the source for this one.
  6. Open intl/msg_hash_xx.c.
    1. Rename the msg_hash_get_help_en_enum() function to msg_hash_get_help_xx_enum().
    2. Rename the msg_hash_to_str_en() function to msg_hash_to_str_xx() and, inside that same function:
    3. Replace the #include "msg_hash_en.h" line with #include "msg_hash_xx.h".
  7. Decide if intl/msg_hash_xx.h should use UTF-8 + BOM encoding. See the section below.
  8. Open intl/msg_hash_us.h.
    1. Check if the following block is present, where Yyyyy is the native name of the language and if not, add it:
      MSG_HASH(
         MENU_ENUM_LABEL_VALUE_LANG_XXXXX,
         "Xxxxx - Yyyyy"
         )
      
  9. Open menu/menu_setting.c.
    1. Add the following assignment to the setting_get_string_representation_uint_user_language() function:
      modes[RETRO_LANGUAGE_XXXXX] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_XXXXX);
      
  10. Open griffin/griffin.c.
    1. Add the line #include "../intl/msg_hash_xx.c" below the existing, similar ones for other languages.
  11. Open retroarch.c.
    1. Add your language to enum retro_language rarch_get_language_from_iso(const char *iso639):
      {"xx", RETRO_LANGUAGE_XXXXX},
      

Optional Adjustments¶

Generating custom font for RGUI¶

The tutorial down below is taken from trngaje’s page.

First of all, I will explain the basic font, English font. It was 5×10 in size at first.

If you analyze the first letter of !… hexadecimal value

0x80, 0x10, 0x42, 0x08, 0x20, 0x00, 0x00,

Convert to Binary

1000 0000
0001 0000
0100 0010
0000 1000
0010 0000
0000 0000

Place it in a little endian and cut it into 5 pixels

00000
00100
00100
00100
00100
00100
00000
00100
00000000

The source code in retroarch for this is as follows.

unsigned font_pixel = x + y * FONT_WIDTH;
uint8_t rem         = 1 << (font_pixel & 7);
unsigned offset     = font_pixel >> 3;
uint8_t col         = (bitmap_bin[FONT_OFFSET(letter) + offset] & rem) ? 0xff : 0;

The font was recreated by IlDucci’s request to improve the second Cyrillic language display error. It was 6×10 in size at first.

image

Each letter is separated by 16 pixels, of which only 6×10 is a meaningful area.

For this purpose, I created a conversion program using the SDL function.

It can be generated simply as follows.

./png2c bitmap_cyrillic.png

Please refer to the location below for the code to build.

https://github.com/trngaje/png2c

You can download prebuilt images for Windows from the path below. https://github.com/trngaje/png2c/releases/tag/windows_64bit_png2c_220924

unzip windows_64bit_png2c_prebuild_220924.zip

png2c.exe bitmap_cyrillic.png

RGUI Compatibility¶

To make the new language usable with the RGUI menu driver:

  1. Open menu/drivers/rgui.c.
  2. Navigate to the rgui_fonts_init(rgui_t *rgui) function.
  3. Add case RETRO_LANGUAGE_XXXXX: to
    1. the extended ASCII section if the new language uses the Basic Latin/ASCII + Latin-1 Supplement range of UTF-8 or
    2. any other present language the new language shares the alphabet with (like Russian).
  4. If a new language was added, it is important to compile RetroArch with the changes and ensure the new language works correctly with RGUI.
  5. If your language uses a different range of symbols, an RGUI compatible font must be added first. This is an extensive process, which is outside the scope of this article.

Enabling new languages in cores¶

Adding a language to RetroArch does not automatically enable it for the core options.
To do that for cores which have been added to Crowdin, follow these steps:

  1. Locate the libretro.h file and add a RETRO_LANGUAGE_XXXXX item to the retro_language enum exactly the same as was done for RetroArch.
    1. Alternatively, overwrite this file with the libretro-common/include/libretro.h file from RetroArch’s code.
  2. Locate the libretro_core_options.h file and open it.
    1. Add &options_xx, at the end of the retro_core_options_v2 struct. Remember to keep the same order as in the retro_language enum.

Adding cores to Crowdin is a whole other elaborate process and, currently, can only be performed by a Crowdin manager. Suggestions/Requests can be submitted on Discord to DisasterMo#0389.

Encoding of translation files¶

Translation files (intl/msg_hash_xx.{c,h}) in general must be UTF-8 encoded.
For some languages, these files need to have a «UTF-8 Unicode (with BOM)» encoding. This can be done using the ‘Encoding’ option of editors like Notepad++ and Notepadqq. AFAIK, this is because of a requirement of the MSVC compilers for the Windows platform. Examples of this as of now are:

  • msg_hash_ar.{c,h}
  • msg_hash_chs.{c,h}
  • msg_hash_cht.{c,h}
  • msg_hash_ja.{c,h}
  • msg_hash_ko.{c,h}
  • msg_hash_pl.{c,h}
  • msg_hash_ru.{c,h}
  • msg_hash_vn.h

Be careful when creating and editing your new translation files, as some text editors do strip the BOM without warning.

Examples¶

Adding languages to RetroArch¶

  • Arabic:

    • add basic support for arabic.
    • add byte-order-marker to msg_hash_ar.*
    • Add «Arabic» to intl/msg_hash_us.h missed in 45580cb.
  • Indonesian, Swedish and Ukrainian (+RGUI):

    • Add Indonesian, Swedish and Ukrainian language options

Enabling new languages for cores¶

  • mgba:
    • Enable Indonesian, Swedish and Ukrainian localisations

Translation¶

If you speak the target language xx then you could start translating on Crowdin.
Instructions and recommended reading for that can be found here.

Please do not change the intl/msg_hash_xx.h files directly!

Starting from early 2023, the help texts that were located in intl/msg_hash_xx.c files are also included on Crowdin. If you have translation efforts in msg_hash_xx.c file from an earlier date, you can copy them to Crowdin, with following caveats:
* Individual line breaks (n) at the end of each line are not required, current menu drivers will break lines automatically. Line break may be used as a paragraph separator, if text is long.
* Make sure translations still matches the current source text, as several of those were updated during the refactor.
* Do not exceed maximum line length (500 characters).
* The Crowdin translations for these strings will only take effect when the definition is removed from intl/msg_hash_xx.c.

See also¶

  • Adding a RetroArch menu option
  • Helping with RetroArch translations

Last update:
2023-01-23

How do I access the language settings for RetroArch? The RetroArch menus are in French, but all the language settings in recalbox.conf have been set to US English. I would like the RetroArch menus to be in US English. Here is what my config file looks like:

# System Variable
# You can configure your recalbox from here
# To set a variable, remove the first ; on the line



# ------------ A - System Options ----------- #
#    Uncomment the system.power.switch you use
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
system.power.switch=PIN356ONOFFRESET    # https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)

## fbcp FrameBuffer Copy Program
## For small TFT screen on GPIO and SPI
## See https://github.com/recalbox/recalbox-os/wiki/Utility---Use-of-fbcp-for-small-TFT-screen-%28EN%29 for details
## Needed for Waveshare 3.2" 3.5" TFT screen, 2.8" Adafruit screen
## See https://github.com/recalbox/recalbox-os/wiki/TFT-Screen-SPI-Bus-%28EN%29
## for support and configuration details needed by /boot/config.txt
system.fbcp.enabled=0

## Splash screen duration
## 0: Video will be played for 20 seconds (default)
## -1: All the video will be played (it won't be stopped automatically)
## >0 : Time before the video will be stopped (in seconds)
system.splash.length=0

## Recalbox Manager (http manager)
system.manager.enabled=1
## Currently, only version 2 is available
system.manager.version=2

## Recalbox security
# enforce security
# samba password required
# disable virtual gamepads
system.security.enabled=0

## Recalbox API (REST)
system.api.enabled=0

## Allow a specific resolution for ES only from the command : tvservice -m [MODE]
## Leave commented for the default usual behaviour
;system.es.videomode=CEA 4 HDMI

## EmulationStation
### menu style
### default -> default all options menu
### none -> no menu except the game search menu
### bartop -> less menu, only needed for bartops
emulationstation.menu=default
### Select a system to show on boot (use rom directory name) (string)
emulationstation.selectedsystem=favorites
### Show the gamelist of the first or selected system on boot (0,1)
emulationstation.bootongamelist=0
### Disable system view. ES will boot and show ONLY the first or selected system (0,1)
emulationstation.hidesystemview=0
### Pa&ast;&ast;e Gamelists only. Show only games listed in gamelist.xml files (0,1)
emulationstation.gamelistonly=0
### Force basicgameList view to be displayed, even if your game systems are scraped (0,1)
emulationstation.forcebasicgamelistview=0

## Videosnaps
### Delay before videosnaps start, in millisecond. Default: 2s
;emulationstation.videosnaps.delay=2000
### Video loop times. 0 = no video. 1 or more = the video loops x times before fading out
;emulationstation.videosnaps.loop=1

## Scrapers
### ScreenScraper.fr
### Force media region - if not defined, region is taken from system.language. Default: us
;scraper.screenscraper.region=us
### Force text language - if not defined, region is taken from system.language. Default: en
;scraper.screenscraper.language=us
### Choose the media to download among:
### screenshot: game screenshot
### title     : game title screenshot
### box2d     : Front case
### box3d     : 3D rendered case
### mixv1     : Recalbox special mix image V1 (default)
### mixv2     : Recalbox special mix image V2
;scraper.screenscraper.media=mixv1
### ScreenScraper account
;scraper.screenscraper.user=
;scraper.screenscraper.password=

## Emulator special keys
## default -> default all special keys
## nomenu -> cannot popup the emulator menu
## none -> no special keys in emulators
system.emulators.specialkeys=default

## Show or hide kodi in emulationstation (0,1)
kodi.enabled=0
## Start kodi at launch (0,1)
kodi.atstartup=0
## set x button shortcut (0,1)
kodi.xbutton=0

## Allow a specific resolution for Kodi only from the command : tvservice -m [MODE]
## By default is using the default resolution of your screen
kodi.videomode=default

## Kodi can wait for a network component before starting
## waithost is the ip or hostname that must answer to a ping to validate the availability
## waittime is the maximum time waited when kodi boots
## if waitmode is required, kodi will not start if the component is not available
## if waitmode is wish, kodi will start if the component is not available
## if waitmode is not set or has another value, kodi will start immediately
;kodi.network.waitmode=required
;kodi.network.waittime=10
;kodi.network.waithost=192.168.0.50

## Hyperion
## Hyperion allows you to use an ambilight like led system on your recalbox
## Use hypercon to create your configuration file, and copy it in /recalbox/share/system/configs/hyperion/hyperion.config.json
hyperion.enabled=0


# ------------ B - Network ------------ #
## Set system hostname
system.hostname=RECALBOX
## Activate wifi (0,1)
wifi.enabled=1
## Set wifi region
## More info here: https://github.com/recalbox/recalbox-os/wiki/Wifi-country-code-(EN)
wifi.region=US
## Wifi SSID (string)
wifi.ssid=the green rabbit
## Wifi KEY (string)
## after rebooting the recalbox, the "new key" is replace by a hidden value "enc:xxxxx"
## you can edit the "enc:xxxxx" value to replace by a clear value, it will be updated again at the following reboot
## Escape your special chars (# ; $) with a backslash : $ => $
wifi.key=fluxbunny2008:)

## Wifi - static IP
## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask)
## if any value is missing or all lines are commented out, it will fall back to the
## default of DHCP
;wifi.ip=manual ip address
;wifi.gateway=new gateway
;wifi.netmask=new netmask

# secondary wifi (not configurable via the user interface)
;wifi2.ssid=new ssid
;wifi2.key=new key

# third wifi (not configurable via the user interface)
;wifi3.ssid=new ssid
;wifi3.key=new key

## Samba share
system.samba.enabled=1
### Virtual Gamepads
system.virtual-gamepads.enabled=1
### SSH
system.ssh.enabled=1

# ------------ C - Audio ------------ #
## Set the audio device (auto, hdmi, jack)
audio.device=auto
## Set system volume (0..100)
audio.volume=92
## Enable or disable system sounds in ES (0,1)
audio.bgmusic=1



# -------------- D - Controllers ----------------- #
# Enable support for standard bluetooth controllers
controllers.bluetooth.enabled=1
# Enable ERTM
controllers.bluetooth.ertm=0


## Please enable only one of these
# -------------- D1 - PS3 Controllers ------------ #
##Enable PS3 controllers support
controllers.ps3.enabled=1
## Choose a driver between bluez, official and shanwan
## bluez -> bluez 5 + kernel drivers, support official and shanwan sisaxis
## official -> sixad drivers, support official and gasia sisaxis
## shanwan -> shanwan drivers, support official and shanwan sisaxis
controllers.ps3.driver=bluez


# ------------ D2 - GPIO Controllers ------------ #
## GPIO Controllers
## enable controllers on GPIO with mk_arcarde_joystick_rpi (0,1)
controllers.gpio.enabled=0
## mk_gpio arguments, map=1 for one controller, map=1,2 for 2 (map=1,map=1,2)
controllers.gpio.args=map=1,2
## Custom mk_gpio arguments,
## map=5 gpio1=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk  for one controller,
## map=5 gpio1=pin1,pin2,pin3,.....,pin12,pin13
## map=5,6 gpio1=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk gpio2=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk for 2 (map=5,map=5,6)
## map=5,6 gpio1=gpiox,gpioy,gpioz,.....,gpiou,gpiov gpio2=gpiox,gpioy,gpioz,.....,gpiou,gpiov
# where gpiox,gpioy,gpioz ... are NOT pin numbers on the connector, BUT location gpio numbered as in 
# https://www.raspberrypi-spy.co.uk/wp-content/uploads/2012/06/Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900.png
## Set pin to -1 to disable it
# controllers.gpio.args=map=5,6 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,3
## MCP configuration : GPIO and MCP can be used together. You can mix them.
## map=0x20,0x21 for 2 mcp23017 on i2c bus
#controllers.gpio.args=map=0x20,0x21,5,6 gpio=4,17,27,22,10,9,25,24,23,18,15,14,-1 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,-1



# ------------ D3 - Steam Controllers ------------ #
## Enable steam controller service
controllers.steam.enabled=0


## DB9 Controllers
## Enable DB9 drivers for atari, megadrive, amiga controllers (0,1)
controllers.db9.enabled=0
## db9 arguments
controllers.db9.args=map=1

## Gamecon controllers
## Enable gamecon controllers, for nes, snes, psx (0,1) 
controllers.gamecon.enabled=0
## gamecon_args
controllers.gamecon.args=map=1

## XGaming's XArcade Tankstik and other compatible devices
controllers.xarcade.enabled=1



# ------------ F - Language and keyboard ------------ #
## Set the language of the system (fr_FR,en_US,en_GB,de_DE,pt_BR,es_ES,it_IT,eu_ES,tr_TR,zh_CN)
system.language=en_US
## set the keyboard layout (fr,en,de,us,es)
system.kblayout=us
## Set you local time
## Select your timezone from : ls /usr/share/zoneinfo/ (string)
system.timezone=Canada/Pacific



# ------------ G - UPDATES ------------ #
## Automatically check for updates at start (0,1)
updates.enabled=1
# Update type : default to stable
updates.type=stable


# ------------ H - HERE IT IS - GLOBAL EMULATOR CONFIGURATION ------------ #
## The global value will be used for all emulators, except if the value
## is redefined in the emulator

## Set game resolution for emulators
## select your mode from the command : tvservice -m [MODE]
## CEA 5 HDMI : 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced 
## CEA 4 HDMI : 1280x720 @ 60Hz 16:9, clock:74MHz progressive
## use 'default' for using the default resolution
## use 'auto' : switches to CEA 4 HDMI if supported, else keep the current resolution
## (string)
global.videomode=CEA 4 HDMI

## Shader set 
## Automatically select shaders for all systems
## (none, retro, scanlines)
global.shaderset=none

## Once enabled, your screen will be cropped, and you will have a pixel perfect image (0,1)
global.integerscale=0

## Set gpslp shader for all emulators (prefer shadersets above). Absolute path (string)
global.shaders=

## Set ratio for all emulators (auto,4/3,16/9,16/10,custom)
global.ratio=auto

## Set smooth for all emulators (0,1)
global.smooth=1

## Set rewind for all emulators (0,1)
global.rewind=1

## Set autosave/load savestate for all emulators (0,1)
global.autosave=0

## Enable retroarchievements (0,1)
## Set your www.retroachievements.org username/password
## Escape your special chars (# ; $) with a backslash : $ => $
global.retroachievements=0
global.retroachievements.hardcore=0
global.retroachievements.username=
global.retroachievements.password=

## Set retroarch input driver (auto, udev, sdl2)
## If you don't have issues with your controllers, let auto
global.inputdriver=auto

## If you do not want recalboxOS to generate the configuration for all emulators (string)
;global.configfile=/path/to/my/configfile.cfg

## Demo screensaver parameters
## Set the system list from which ES will run random games.
## Empty list or unexisting key means all available systems
global.demo.systemlist=atari2600,atari5200,atari7800,fba_libretro,fds,gamegear,gba,lynx,mame,mastersystem,megadrive,neogeo,nes,ngpc,o2em,pcengine,sega32x,sg1000,snes
## Default demo game sessions last 90s. Change this value if you want shorter or longer sessions
;global.demo.duration=90
## Default game info screen duration lasts 6s. Change this value if you want shorter or longer info screens.
;global.demo.infoscreenduration=6

## Retroarch AI Translation service
## Comment out or set to 0 the following key if you don't want the AI service
global.translate=1
## Set the source and the target languages.
## Allowed language list: EN, ES, FR, IT, DE, JP, NL, CS, DA, SV, HR, KO, ZH_CN, ZH_TW, CA, BG, BN, EU, AZ, AR, SQ,
##                        AF, EO, ET, TL, FI, GL, KA, EL, GU, HT, IW, HI, HU, IS, ID, GA, KN, LA, LV, LT, MK, MS,
##                        MT, NO, FA, PL, PT, RO, RU, SR, SK, SL, SW, TA, TE, TH, TR, UK, UR, VI, CY, YI
## Setting the translate.from key to a specified language may speed up or give more accurate results
## If translate.to key is commented, the default value is extracted from system.language or, if system.language is
## undefined, set to auto (=EN).
global.translate.from=auto
global.translate.to=auto
## zTranslate API Key
## go to https://ztranslate.net and create an account.
## validate your account, then log in and go to the settngs page
## Look for the API Key at the bottom of the page, then uncomment the following key and paste your API Key:
;global.translate.apikey=YOUR_API_KEY_HERE
## Other translation service
## If you want to use another translation service or a custom API call, use this key to
## specify the url to call. If the key is not empty, it is used instead of zTranslation's API Key
;global.translate.url=

## Arcade metasystem
## Activate the Arcade metasystem to group all games from piFBA, FBN (libretro), MAME and optionally Neogeo
## into a single "Arcade" system.
;global.arcade=1
## You may want to specify its position in the system list. (Default: 0)
## Negatives values may be used to tart from the end (-1 = last position)
;global.arcade.position=0
## Include NeoGeo or not (default: 1)
;global.arcade.includeneogeo=1
## Hide included system or leave them in the system list (default: 1)
;global.arcade.hideoriginals=1


# ------------ I - EMULATORS CHOICES ----------- #
## You can override the global configurations here
## Here is the snes example
;snes.videomode=CEA 4 HDMI
snes.core=snes9x2010
;snes.shaders=/recalbox/share/shaders/shaders_glsl/mysnesshader.gplsp
;snes.ratio=16/9
;snes.smooth=0
;snes.rewind=1
;snes.autosave=0
snes.emulator=libretro
;snes.integerscale=0
## If you do not want recalboxOS to generate the configuration for the emulator: 
;snes.configfile=/path/to/my/configfile.cfg

## Default cores for RPi3
snes.core=snes9x2010

## NeoGeo emulator 
## You can use pifba or a libretro core (fba2x,libretro)
neogeo.emulator=fba2x
## If you set libretro as neogeo.emulator, the line below sets the retroarch core (fbneo, mame2000)
neogeo.core=fba2x

## N64 emulator is configured to display a screen with a 640x480 resolution (native n64 resolution)
## So you must use one of these video modes (DMT 4 HDMI,CEA 1 HDMI).
## If your screen is not compatible with one of these video modes, please check the recalbox's wiki.
n64.videomode=DMT 4 HDMI
## If you are using a CRT screen, please change the setting above with this one : 
# n64.videomode=default

## Dreamcast emulator
## Like N64, such a CPU intensive emulator needs a small resolution
## Consider DMT 4 HDMI (640*480) or DMT 9 HDMI (800*600). If you have a black screen on dreamcast, try DMT 9 HDMI here
dreamcast.videomode=DMT 4 HDMI

## Demo screensaver parameters
## Include or exclude a particular system from the demo screensaver
## You may change the global.demo.systemlist key or include/exclude every single system
;snes.demo.include=0
## Set the session duration for a particular system
;snes.demo.duration=90

# ------------ J - NETPLAY PARAMETERS ----------- #
## All these values are handled by Recalbox itself
global.netplay=1
global.netplay.nickname=
global.netplay.port=55435
global.netplay.relay=
global.netplay.systems=fba_libretro,mame,mastersystem,megadrive,neogeo,nes,pcengine,sega32x,sg1000,snes,supergrafx
global.netplay.lobby=http://lobby.libretro.com/list/

## Configurations generated by Recalbox
gba.core=mgba
mame.core=mame2015
nes.core=fceunext
fds.flatfolder=0
fds.sort=0
amiga1200.flatfolder=0
amiga1200.sort=0
c64.flatfolder=0
c64.sort=0
gw.flatfolder=0
gw.sort=0
mame.flatfolder=0
mame.sort=0
apple2.flatfolder=0
apple2.sort=0
zxspectrum.flatfolder=0
zxspectrum.sort=0
favorites.sort=0
global.quitpresstwice=0
neogeo.flatfolder=1
neogeo.sort=0
neogeo.autosave=0
ngp.autosave=0
ngpc.autosave=0
atari2600.flatfolder=0
atari2600.sort=0
fba_libretro.flatfolder=0
fba_libretro.sort=0
mame.emulator=libretro
psx.flatfolder=0
psx.sort=0
snes.flatfolder=0
snes.sort=0
segacd.core=genesisplusgx
segacd.emulator=libretro
megadrive.flatfolder=0
megadrive.sort=0
nes.flatfolder=0
nes.sort=0

system.timezone=Canada/Pacific
amstradcpc.flatfolder=0
amstradcpc.sort=0
atari800.core=atari800
atari800.emulator=libretro
atari800.ratio=squarepixel
lynx.flatfolder=0
lynx.sort=0
atari800.flatfolder=0
atari800.sort=0
atari7800.flatfolder=0
atari7800.sort=0
atarist.flatfolder=0
atarist.sort=0
n64.flatfolder=0
n64.sort=0
colecovision.flatfolder=0
colecovision.sort=0

Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie

Что вы ответите, о многоуважаемые геймеры, если я вам скажу, что не обязательно обладать мощным компьютером в 2022 году для доступа к отличным играм? Возможно, вы сразу назовёте автора ретроградом и любителем инди-поделок и будете отчасти правы. Однако не спешите обижать автора, ибо в этом материале мы затронем ПО, которое воистину способно подарить тысячи часов увлекательного геймплея.

RetroArch — это бесплатное мультиплатформенное ПО с открытым исходным кодом, которое, в отличие от своих конкурентов, не является эмулятором в классическом понимании этого слова, а представляет собой единую автоматизированную платформу в стилистике консолей PlayStation, где собрано всё самое необходимое для запуска игр с различных платформ и взаимодействия с ними.

Содержание

  • Установка
  • Базовая настройка
  • Возможности
    • Настройка
  • Фишки
    • Сортировка и обложки
    • Достижения/cохранения/читы
    • Запись и трансляция
  • Загрузка эмуляторов и тест игр
  • Выводы
  • Видеоверсия

Установка

Так как же пользователю превратить свой компьютер/консоль/смартфон/тв-приставку в удобный развлекательный игровой центр? На самом деле в установке RetroArch нет ничего сложного, благо проект уже не один год развивается и успел даже выйти в Steam. Однако не спешите стягивать его со Steam, так как там он представлен в весьма урезанном виде. Идеальным вариантом будет скачать RetroArch с официального сайта. 

Выбираем нужную платформу и выполняем стандартную установку в зависимости от вашей системы.

Базовая настройка

При первом запуске RetroArch встречает пользователя классическим интерфейсом в стиле приставок PlayStation, где нам первым же пунктом намекают на необходимость загрузки желаемого ядра (нужного эмулятора). Находим желаемый эмулятор, в моём случае это Sega Mega Drive, и запускаем игру через пункт загрузки контента.

В принципе, если вас интересует только запуск и работа некоторых старых игр, то на этом можно было бы и завершить весь этот скучный гайд. Но, как я уже упоминал ранее, RetroArch — это не просто какой-то там эмулятор старых консолей, а нечто большее.

Возможности

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

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

Настройка

Первое, что необходимо сделать после запуска — это активировать расширенные настройки и убрать всё лишнее, что может как-то повлиять на задержку ввода. Переходим в настройки>интерфейс пользователя и активируем расширенные настройки, а также отключаем эффекты рабочего стола.

Теперь необходимо перейти в раздел видео>синхронизация для отключения Vsync, так как в играх вплоть до 6-поколения консолей он только мешает. В соседнем разделе под названием вывод,  также активируем обработку наших игр силами Vulkan для максимальной производительности. (Если будут проблемы, то верните рендер обратно на gl).

Завершаем наше веселье настройками скорости ввода геймпада и избавлением от чёрных полос по бокам. Переходим вновь в раздел настройки>ввод, где переводим степень опроса геймпада в ранний режим.
Далее переходим в настройки>видео>масштабирование и в пункте соотношение сторон выбираем Full, а в разделе видео>полноэкранный режим активируем запуск в полноэкранном режиме.

Собственно, на этом всё. Самая нудная и трудная часть гайда официально подошла к концу. Нам остаётся теперь лишь активировать скрытые фишки и разобраться с библиотекой игр.

Фишки

Одной из главных фишек RetroArch, особенно для старых пиксельных игр, является поддержка наложения готовых CRT-шейдеров. Ведь до того момента, когда в жизнь геймеров ворвался цифровой сигнал (HDMI и DVI), игры конструировались под особенности композитного/аналогово сигнала (тюльпанов/VGA) и CRT/ЭЛТ мониторов. Перечисленные интерфейсы и мониторы обладали интересными возможностями в плане встроенного сглаживания и нетипичных методов цветопередачи, что и позволяло старым играм выглядеть более качественнее, чем на современных LCD-мониторах. Попробуем хоть немного приблизиться к былым красотам.

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

Думаю, что комментарии тут излишни. Перейдём к библиотеке игр.

Сортировка и обложки

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

В пункте импорта контента проводим сканирование и в разделе онлайн-обновления скачиваем миниатюры. Если вы просто хотите скачать обложку для выбранной игры, то в быстром разделе игры это также доступно, но убедить, что файлы игр имеют внятное название.

Достижения/cохранения/читы

К дополнительным фишкам можно отнести наличие встроенных достижений с возможностью сохранения игрового процесса в любом месте и встроенная система читов.

1
2
3
  1. Сохранение позволяют сохраняться и загружаться даже в играх, в которых изначальное это не поддерживается.
    Не нужно будет больше тратиться на ленту для пишущей машинки в Resident Evil 3 (LOL). 
  2. Встроенная систему ачивок позволит пользователю начать косплеить поклонников PlayStation с их стараниями по выбиванию платины. Активируется также в пункте настройки>достижения
  3. А встроенная система читов позволяет немного мухлевать, так как представляет собой не набор секретных кодов, а ПО для изменения данных в памяти игры. Если вы пользовались ArtMoney или Cheat Engine, то сразу разберётесь.
Запись и трансляция

Завершающая фишка RetroArch — это встроенная возможность записи и трансляции игрового процесса на популярные веб-ресурсы. Настройки>запись.

Установив RetroArch на какую-нибудь Playstation 3 или Xbox, не говоря уже про компьютер, вы с лёгкостью сможете транслировать свой игровой процесс на популярные веб-площадки. Такая удивительная предусмотрительность разработчиков ещё раз подтверждает настоящую заботу разработчиков и автоматизацию RetroArch. Ладно, пора уже заканчивать с этим скучным весельем и переходить к играм.

Загрузка эмуляторов и тест игр

Загружаем ядро желаемой платформы и пробуем запустить наши игры.

Список ядер под платформу

NES, Famicom, Dendy:

  • FCEUmm (наиболее совместимый)
  • Nestopia UE
  • QuickNES

Sega Genesis/MegaDrive, Mega-CD, Sega 32X:

  • Genesis Plus GX

Sega Saturn:

  • Yaba Sanshiro

3DO Interactive

  • 3DO (Opera)

Sony PlayStation:

  • Beetle PSX HW

Sony PlayStation 2:

  • PCSX2

Sony Portable

  • PPSSPP

Nintendo 64:

  • Mupen 64Plus-Next

Sega Dreamcast:

  • Flycast

GameBoy, GameBoy Color:

  • Gambatte

GameBoy Advance:

  • mGBA

Super Nintendo, Super Famicom:

  • Snes9x

Neo-Geo, CPS:

  • FBNeo
  • FB Alpha 2012

Arcade:

  • MAME2003-Plus
  • MAME2010

PC Engine:

  • Beetle PC Engine FAST

И множество других.

Несмотря на слабый ПК автора, а у меня даже нет дискретной видеокарты (LOL), все игры идут отлично и не вызывают каких-либо проблем. Автору даже не пришлось возиться с файлами BIOS или какими-то настройками для консолей. В общем, слава великому автоматизированному RetroArch. Перейдём к выводам.

Выводы

Я был приятно удивлён, потому как передо мной открылась не только удобная и многофункциональная игровая станция, но и полноценное программное чудо, которое полностью избавила меня от рутинного процесса поиска и настройки нужного эмулятора, а также позволило в два клика погрузиться в настоящий рай качественных одиночных игр. В общем, теперь точно RetroArch навсегда поселится на моём ПК.

Видеоверсия

Зеркало VK
Зеркало Дзен
Зеркало Rutube

Понравилась статья? Поделить с друзьями:
  • Retail 01 горит error
  • Ret s 04009 10 ошибка ман тга
  • Resulted in a 500 internal server error response
  • Result is not used possible operator timeout will be missed как исправить
  • Result failure error code 0x80070005