Разработчик перенес эмулятор Nintendo Switch на язык Rust с помощью нейросетей

от aadmin

Энтузиаст под ником vricosti опубликовал исходный код и первые тестовые сборки проекта ruzu — экспериментального эмулятора консоли Nintendo Switch, написанного на языке программирования Rust. Главной особенностью разработки стал способ ее создания: автор полностью перенес массивную кодовую базу закрытого эмулятора yuzu и его форка eden с языка C++ на Rust исключительно силами современных больших языковых моделей и автономных ИИ-агентов. Проект уже добрался до релизной версии 0.0.1 и стал доступен для скачивания.

Ruzu — эмулятор Nintendo Switch на Rust (на базе Yuzu)

В ходе масштабного эксперимента искусственному интеллекту доверили перевод порядка 500000 строк сложного системного кода. Разработчик поставил перед нейросетями задачу не просто переписать отдельные изолированные алгоритмы, а полностью воссоздать архитектуру эмулятора, включая ядро HLE, планировщики, подсистему межпроцессного взаимодействия и процессор графических команд. Для полноценной работы автору также пришлось портировать сопутствующие ключевые зависимости, в результате чего появились отдельные библиотеки rxbyak и динамический рекомпилятор rdynarmic, корректность работы которых проверялась сравнением результатов инструкций с оригинальными решениями на C++.

Yuzu — Эмулятор игр Nintendo Switch + ключи шифрования [04.03.2024]

По словам автора, весь процесс портирования занял около 6 месяцев, а суммарные затраты на доступ к языковым моделям составили сумму, сопоставимую со стоимостью 2 консолей Nintendo Switch. Пикантности ситуации добавляет тот факт, что разработчики оригинального форка eden официально запрещают использование генеративного искусственного интеллекта в своих репозиториях, тогда как весь проект ruzu целиком держится на коде, сгенерированном нейросетями.

Рекомендую посмотреть
Эмулятор Eden для Nintendo Switch удален из Google Play

Создатель проекта утверждает, что полученный результат превзошел начальные ожидания, позволив эмулятору запускать коммерческие игры с производительностью оригинальной сборки на C++. Чтобы протестировать работоспособность программы без нарушения авторских прав японской компании Nintendo, в релизный набор включили открытую фанатскую игру FreeBrick, не требующую прошивок и криптографических ключей. При этом автор предупреждает, что статус версии 0.0.1 остается ранним и экспериментальным, поэтому игроки могут столкнуться с вылетами, черными экранами, пропаданием звука и нестабильным числом кадров.

С технической стороны эмулятор оптимизирован для систем на базе процессоров x86-64 и ARM64, поддерживая работу через графический интерфейс GTK и графический API Vulkan. Готовые исполняемые файлы разработчик подготовил для Windows 10, Windows 11 и macOS на чипах семейства Apple Silicon, тогда как пользователям дистрибутивов Linux и систем BSD пока предложено собирать проект из исходников самостоятельно.

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

Связанные посты