RetroArch — универсальный фронтенд для эмуляции ретро-консолей: одна программа, единый интерфейс и десятки «ядер» (cores), каждое из которых отвечает за свою платформу. На Linux он работает и на десктопе, и в режиме медиацентра, и на слабых машинах. Разберём установку, настройку ядер, геймпадов и сохранений.

Что важно знать до начала

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

# проверьте, что образы игр у вас уже есть легально
ls -lh ~/Games/roms/nes 2>/dev/null | head
# и место под них
df -h ~

Установка

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

# Debian/Ubuntu
sudo apt install retroarch
# Fedora
sudo dnf install retroarch
# Flatpak (свежая версия)
flatpak install flathub org.libretro.RetroArch
flatpak run org.libretro.RetroArch
# проверить версию
retroarch --version 2>/dev/null | head -3

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

Ядра: что скачивать

Ядро — это и есть эмулятор. Не устанавливайте всё подряд: каждое ядро добавляет зависимости и путаницу. Начните с одной платформы.

# каталог ядер в системной установке
ls /usr/lib/libretro/ 2>/dev/null | head -20
# в Flatpak ядра лежат внутри песочницы — посмотрите сведения о пакете
flatpak info org.libretro.RetroArch 2>/dev/null | head -10

В интерфейсе откройте «Online Updater → Core Downloader» и выберите нужное. Для NES это Mesen или Nestopia, для SNES — Snes9x, для Sega Mega Drive — Genesis Plus GX. Точные названия могут отличаться между версиями.

Каталоги и настройки путей

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

# конфигурация
ls ~/.config/retroarch/ 2>/dev/null
# сохранения и состояния
ls ~/.config/retroarch/saves ~/.config/retroarch/states 2>/dev/null
# каталог с образами игр
mkdir -p ~/Games/roms
# при необходимости — симлинк на внешний диск
ln -s /mnt/backup/roms ~/Games/roms/archive

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

Геймпады

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

# какие устройства ввода видит система
ls /dev/input/js* 2>/dev/null
cat /proc/bus/input/devices | grep -A4 -i "gamepad\|joystick" | head -20
# тест из терминала
jstest /dev/input/js0 2>/dev/null

В меню «Settings → Input → RetroPad Binds» назначьте кнопки. Для разных игр удобно держать разные профили и переключать их горячей клавишей.

Видео, шейдеры и производительность

RetroArch умеет выводить изображение через Vulkan, OpenGL и DRM/KMS. На слабых машинах DRM-режим даёт минимальные задержки, на десктопе проще OpenGL.

# проверить поддержку Vulkan
vulkaninfo --summary 2>/dev/null | head
# посмотреть драйвер
glxinfo -B 2>/dev/null | grep -E "OpenGL renderer|version"
# запуск в отдельном окне
retroarch --menu

Шейдеры CRT имитируют старые экраны и заметно улучшают картинку на современных мониторах. Начните с простых (crt-easymode), тяжёлые шейдеры могут снизить частоту кадров.

# каталог шейдеров
ls /usr/share/libretro/shaders 2>/dev/null | head
ls ~/.config/retroarch/shaders 2>/dev/null | head

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

Обычные сохранения пишутся в файл игры, «состояния» (save states) — мгновенный снимок памяти. Второе удобно, но не заменяет первое: состояния привязаны к версии ядра.

# где лежат файлы
find ~/.config/retroarch -maxdepth 2 -name "*.srm" -o -name "*.state" | head
# резервная копия сохранений
tar -czf ~/retroarch-saves-$(date +%F).tar.gz ~/.config/retroarch/saves ~/.config/retroarch/states

Перед обновлением ядер сделайте копию: несовместимое ядро иногда не читает старые состояния.

Горячие клавиши

# типовые действия (настраиваются в Settings -> Input -> Hotkeys)
# F1 — меню
# F2 — сохранить состояние
# F4 — загрузить состояние
# F8 — сделать скриншот
# Пробел — ускорение (fast forward)

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

Типичные проблемы

  • Игра не запускается — выбрано неверное ядро или повреждён образ.
  • Нет звука — проверьте вывод в настройках аудио и системный микшер.
  • Тормозит — отключите тяжёлые шейдеры и проверьте, не включено ли программное масштабирование.
  • Не работают кнопки — переназначьте раскладку или обновите autoconfig.
  • Пропали сохранения — проверьте путь в настройках и права на каталог.
# диагностика запуска из терминала
retroarch --verbose 2>&1 | tail -40
# проверить права
ls -ld ~/.config/retroarch ~/.config/retroarch/saves

Сетевая игра и медиацентр

RetroArch умеет запускать совместную игру по сети (netplay), но качество зависит от задержки. Для двух игроков в одной сети это работает хорошо, через интернет — требует стабильного канала.

# включить netplay в интерфейсе: Settings -> Netplay
# проверить задержку до партнёра
ping -c 5 partner.example
# убедиться, что версии ядер совпадают
ls /usr/lib/libretro/ | grep -i snes

Для телевизора удобен режим Big Screen или запуск из медиацентра Kodi. Один и тот же компьютер может быть и приставкой, и медиаплеером.

# запуск без рабочего стола (минимальные задержки)
retroarch --menu 2>/dev/null
# проверить, что геймпад виден без X11
ls /dev/input/ | grep event

Если геймпад не определяется в KMS-режиме, проверьте права на устройства ввода и группу пользователя.

Итог

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте