Команда RPCS3 объявила, что минимальные системные требования эмулятора PlayStation 3 снова пересмотрены в сторону снижения: в список поддерживаемого оборудования вошли ещё более старые видеокарты Radeon. Раньше эмулятор работал с GPU ATI на архитектуре TeraScale 2 — это серии Radeon HD 5000 и 6000, — а теперь к ним добавились Radeon HD 2000, 3000 и 4000 поколения TeraScale 1, выпускавшиеся с 2007 по 2009 год. Отдельно стоит подчеркнуть: хотя сам RPCS3 собирается под несколько платформ, расширенная поддержка старых карт ATI работает только в Linux.

Эмулятор RPCS3 запускает игры PlayStation 3 на видеокарте ATI Radeon поколения TeraScaleИсточник изображения — tomshardware.com

Нижняя планка опустилась до Radeon HD 2900 XT

Формально минимальной видеокартой для RPCS3 теперь считается ATI Radeon HD 2900 XT с 512 МБ видеопамяти — топовое решение мая 2007 года с ценой около 399 долларов и теплопакетом 215 Вт. Прежней границей была Radeon HD 5550. Любопытная деталь: сама PS3 вышла в ноябре 2006 года, то есть требования эмулятора опустились до уровня железа, ровесного эмулируемой консоли. Разработчики публикуют минимальные требования с 2017 года и подчёркивают, что за всё это время планка только снижалась и ни разу не поднималась.

реклама кормит Уточку 🦆

Пять лет оптимизаций: что показал TeraScale 2

Ещё в 2021 году команда RPCS3 снизила системные требования, добавив поддержку Radeon HD 5000 и HD 6000 (TeraScale 2). За следующие пять лет эмулятор заметно прибавил в производительности на этом же оборудовании. Наглядный замер — Persona 5 на связке ATI Radeon HD 5850, AMD FX-8350 и 8 ГБ оперативной памяти:

  • Замок Камосиды — рост с 35 до 49 FPS
  • Школьный коридор — рост с 19 до 25 FPS

Железо то же самое, разница — исключительно в коде эмулятора: примерно плюс 40% кадров за пять лет работы над рендерером.

Что мешало запуску на TeraScale 1

Успех с TeraScale 2 подтолкнул разработчиков проверить совместимость с первым поколением TeraScale. Главной преградой оказалась не сырая мощность, а отсутствие у старых чипов SSBO (Shader Storage Buffer Objects) — эмулятор считал, что эта возможность есть у любой поддерживаемой карты, и при запуске падал по нулевому указателю. Решение вышло простым: RPCS3 научили проверять наличие расширения и отключать соответствующий путь рендеринга, если поддержки нет.

Вторая сложность касалась OpenGL. Карты TeraScale 1 сообщают о поддержке лишь OpenGL 3.3 и GLSL 3.30, тогда как эмулятору нужен более высокий уровень. Заставить старые и подзабытые ускорители ATI работать с OpenGL-рендерером RPCS3 удалось на удивление легко — принудительным переопределением заявленных версий до 4.3 и 4.40 через переменные окружения.

реклама кормит Уточку 🦆

Тесты: Radeon HD 4890 держит 60 FPS в простых играх

Первые замеры проводились на системе с ATI Radeon HD 4890 (кристалл RV790) и 1 ГБ видеопамяти — это самый мощный GPU архитектуры TeraScale 1 из когда-либо продававшихся. По данным блога RPCS3, чип этой карты производительнее графики самой PS3, однако сложный шейдерный код эмулятора не оптимизирован под настолько старые архитектуры. Итог такой: «более простые игры работают отлично, с приемлемой производительностью, в то время как игры с более сложной графикой упираются в GPU и показывают низкую производительность». На скриншотах Metal Gear Solid HD Collection и Outrun Online Arcade идут примерно в 60 FPS.

Результаты тестов RPCS3 на видеокартах ATI Radeon HD архитектуры TeraScale 1Источник изображения — tomshardware.com

HD 3870 и HD 2600 XT: только 273p и одиночные кадры

Дальше по списку и дальше вглубь истории. Карты уровня ATI Radeon HD 3870 (RV670), по словам разработчиков, «всё ещё способны рендерить очень простые игры с приемлемой производительностью в RPCS3». Правда, ради играбельности разрешение придётся опустить до уровня PSP — речь о 273p.

А что с самыми слабыми представителями TeraScale 1? ATI Radeon HD 2600 XT (RV630) с скромными 256 МБ видеопамяти проваливается даже в 273p. На тестовых скриншотах видно всего 8 FPS в Outrun Online Arcade и 13 FPS в Portal — именно поэтому официальным минимумом назначили более крепкую HD 2900 XT с 512 МБ памяти.

реклама кормит Уточку 🦆

С учётом того, как RPCS3 прибавил за последние пять лет, эти цифры вполне могут вырасти. В блоге прямо сказано: «будущая оптимизация должна заметно повысить производительность на этих старых GPU».

Как запустить RPCS3 на видеокарте TeraScale

Похоже, самое время стряхнуть пыль с ретро-сборки и попробовать пару классических игр PS3 на системе с ATI TeraScale 1. Что для этого нужно:

  • Дистрибутив Linux с открытым драйвером Mesa r600 — драйверы для Windows не подойдут, старый OpenGL-драйвер AMD (всё, что до Adrenalin 22.6.1) для эмулятора слишком слаб
  • В настройках RPCS3 выбрать рендерер OpenGL, а не Vulkan
  • Для карт TeraScale 1 (HD 2000/3000/4000) запускать эмулятор с переопределением версий: MESA_GL_VERSION_OVERRIDE=4.3 MESA_GLSL_VERSION_OVERRIDE=440 ./rpcs3.AppImage
  • Владельцам TeraScale 2 (HD 5000/6000) переменные окружения не нужны — эмулятор запускается как обычно
реклама кормит Уточку 🦆

Практическая ценность такого запуска, конечно, невелика: собирать игровой ПК вокруг видеокарты почти двадцатилетней давности никто не предлагает. Но сам факт показателен — эмуляция PlayStation 3 остаётся одной из самых тяжёлых задач для железа, и то, что она дотянулась до карт эпохи выхода самой консоли, говорит о зрелости рендерера RPCS3 куда больше любых синтетических замеров.