В сообществе разработчиков для взломанной консоли PlayStation 5 появился новый исследовательский проект PS5Droid. Разработчик под ником aarvsn опубликовал на площадке GitHub исходный код и первый релиз версии 1.0.0, нацеленный на изучение возможности прямого запуска компонентов мобильной операционной системы Android внутри нативной полезной нагрузки.
В отличие от привычных попыток запустить мобильные игры через установку полноценного дистрибутива Linux, виртуальные машины или готовые контейнеры на базе Waydroid, автор проекта выбрал совершенно иной подход. Разработка ориентирована на создание собственной среды выполнения без использования тяжелых прослоек эмуляции, взаимодействующей с консолью через открытый инструментарий ps5-payload-sdk.
На данный момент проект находится на стадии фундаментальных исследований системных вызовов ядра. Из 77 протестированных вызовов Linux полноценно транслируются только 9, частичная работа обеспечена для 3, а остальные 65 вызовов остаются неподдерживаемыми. Архитектура решения опирается на прямое сопоставление вызовов Linux x86_64 с интерфейсами операционной системы FreeBSD, которая лежит в основе программной платформы PlayStation 5.
В текущую сборку уже включен переносимый уровень для управления потоками, памятью и базовыми операциями ввода-вывода, а также тестовое графическое меню с простым растровым шрифтом. Разработчик подготовил исполняемый файл ps5droid.elf, предназначенный для отправки на консоль через стандартный загрузчик полезной нагрузки, однако реальные испытания на физическом оборудовании пока не проводились.
Главным препятствием для дальнейшего развития системы остается графическая составляющая приставки. Аппаратное ускорение графики через Vulkan для приложений Android заблокировано, поскольку для взломанной консоли не существует открытых драйверов, а прямое взаимодействие с графическим чипом возможно исключительно через закрытые библиотеки Sony вроде AGC и GNM.
Помимо графических ограничений, в PS5Droid пока не реализован вывод звука, не перенесен системный сервис обмена сообщениями Binder и отсутствует возможность запуска установочных файлов APK. Исходный код проекта распространяется под свободной лицензией MIT, не использует закрытые ключи консоли и принципиально исключает проприетарные сервисы Google Play Services.
Источник: www.playground.ru