Ryujinx — это эмулятор Nintendo Switch с открытым исходным кодом, созданный gdkchan и написанный на C#. Этот эмулятор призван обеспечить превосходную точность и производительность, удобный интерфейс и единообразные сборки. Он был написан с нуля, а разработка проекта началась в сентябре 2017 года. Ryujinx доступен на Github под лицензией MIT.
По состоянию на май 2024 года Ryujinx был протестирован примерно на 4300 играх; более 4100 загружаются через меню и вступают в игровой процесс, причем примерно 3550 из них считаются играбельными.
Список совместимости можно посмотреть здесь.
Любой желающий может отправить новый игровой тест или обновить существующую запись игрового теста; просто следуйте новому шаблону проблемы и рекомендациям по тестированию или опубликуйте сообщение в качестве ответа на соответствующую проблему в игре. Используйте функцию поиска, чтобы узнать, была ли игра уже протестирована!
Для запуска этого эмулятора ваш компьютер должен быть оснащен как минимум 8 ГБ оперативной памяти; несоблюдение этого требования может привести к ухудшению игрового процесса или неожиданным сбоям.
О том, как настроить эмулятор, читайте в нашем Руководстве по установке и настройке.
Информацию о наших сборках с локальной беспроводной сетью (LDN) см. в нашем руководстве по многопользовательской игре: локальная игра/локальная беспроводная связь.
Пользовательский интерфейс Avalonia поставляется с переводами на разные языки. См. Crowdin для получения дополнительной информации.
Эти сборки компилируются автоматически для каждого коммита в основной ветке. Хотя мы стремимся обеспечить оптимальную стабильность и производительность перед выпуском обновления, наши автоматические сборки могут быть нестабильными или полностью сломанными .
Последнюю автоматическую сборку для Windows, macOS и Linux можно найти в выпусках Github.
Если вы планируете внести свой вклад или просто хотите узнать больше об этом проекте, прочтите нашу документацию.
Если вы хотите создать эмулятор самостоятельно, выполните следующие действия:
Установите пакет SDK для .NET 8.0 (или более поздней версии). Убедитесь, что версия вашего SDK выше или равна требуемой версии, указанной в global.json.
Либо используйте git clone https://github.com/Ryujinx/Ryujinx
в командной строке, чтобы клонировать репозиторий, либо используйте кнопку «Код» -> «Загрузить zip», чтобы получить файлы.
Чтобы собрать Ryujinx, откройте командную строку в каталоге проекта. Вы можете быстро получить к нему доступ в Windows, удерживая клавишу «Shift» в проводнике, затем щелкнув правой кнопкой мыши и выбрав Open command window here
. Затем введите следующую команду: dotnet build -c Release -o build
файлы сборки будут найдены во вновь созданном каталоге сборки.
Системные файлы Ryujinx хранятся в папке Ryujinx
. Эта папка находится в папке пользователя, доступ к которой можно получить, нажав Open Ryujinx Folder
в меню «Файл» в графическом интерфейсе.
Аудио
Аудиовыход полностью поддерживается, аудиовход (микрофон) не поддерживается. Мы используем оболочки C# для OpenAL, а также SDL2 и libsoundio в качестве запасных вариантов.
Процессор
Эмулятор ЦП ARMeilleure эмулирует ЦП ARMv8 и в настоящее время поддерживает большинство 64-битных инструкций ARMv8 и некоторых инструкций ARMv7 (и более ранних), включая частичную поддержку 32-битных. Он преобразует код ARM в пользовательский IR, выполняет несколько оптимизаций и превращает его в код x86. В зависимости от предпочтений пользователя доступны три варианта диспетчера памяти, использующие как программный режим (медленнее), так и режим с отображением на хосте (намного быстрее). По умолчанию установлен самый быстрый вариант (хост, не отмечен). Ryujinx также имеет дополнительный профилированный постоянный кэш трансляции, который по сути кэширует переведенные функции, поэтому их не нужно переводить каждый раз при загрузке игры. Конечным результатом является значительное сокращение времени загрузки (промежутка времени между запуском игры и появлением титульного экрана) почти для каждой игры. ПРИМЕЧАНИЕ. Эта функция включена по умолчанию в меню «Параметры» > вкладка «Система». Вы должны запустить игру как минимум дважды до титульного экрана или дольше, прежде чем улучшения производительности будут разблокированы при третьем запуске! Эти улучшения являются постоянными и не требуют каких-либо дополнительных запусков в будущем.
графический процессор
Эмулятор графического процессора эмулирует графический процессор Maxwell коммутатора, используя API OpenGL (минимум версия 4.5), Vulkan или Metal (через MoltenVK) посредством специальной сборки OpenTK или Silk.NET соответственно. В настоящее время конечному пользователю в Ryujinx доступны шесть графических улучшений: кэширование дисковых шейдеров, масштабирование разрешения, сглаживание, фильтры масштабирования (включая FSR), анизотропная фильтрация и регулировка соотношения сторон. Эти улучшения можно по желанию настраивать или переключать в графическом интерфейсе.
Вход
В настоящее время у нас есть поддержка клавиатуры, мыши, сенсорного ввода, поддержки ввода JoyCon и почти всех контроллеров. В большинстве случаев элементы управления движением поддерживаются изначально; для поддержки движения Dual-JoyCon в настоящее время требуется DS4Windows или BetterJoy. Во всех сценариях вы можете настроить все в меню конфигурации входа.
DLC и модификации
Ryujinx может управлять дополнительным/загружаемым контентом через графический интерфейс. Также поддерживаются моды (romfs, exefs и моды времени выполнения, такие как читы); графический интерфейс содержит ярлык для открытия соответствующей папки модов для конкретной игры.
Конфигурация
В эмуляторе есть настройки для включения или отключения некоторых журналов, переназначения контроллеров и многого другого. Вы можете настроить их все через графический интерфейс или вручную через файл конфигурации Config.json
, который находится в пользовательской папке, доступ к которой можно получить, нажав Open Ryujinx Folder
в меню «Файл» в графическом интерфейсе.
Все разработчики, работающие над проектом, занимаются этим в свободное время, но у проекта есть несколько расходов:
Все средства, полученные через Patreon, считаются пожертвованием на поддержку проекта. Патроны получают ранний доступ к отчетам о ходе работы и эксклюзивный доступ к интервью с разработчиками.
Это программное обеспечение лицензируется в соответствии с условиями лицензии MIT. В этом проекте используется код, созданный проектом libvpx под лицензией BSD и проектом ffmpeg под лицензией LGPLv3. См. LICENSE.txt и THIRDPARTY.md для получения более подробной информации.