Хардуер и гейминг

Редакция Overclock.bg ·

AnyPS5 пуска PS5 игри на PC без емулация

AnyPS5 пуска PS5 игри на PC без емулация

Разработчик, който се подписва като boykopovar, работи по AnyPS5 — open source инструмент, който превръща изпълнимите файлове на игри за PlayStation 5 в нативни програми за Windows и Linux. Проектът не е емулатор: вместо да имитира хардуера на конзолата, той пренаписва бинарния файл и подменя системните библиотеки на Sony със свои реализации — подход, който Tom’s Hardware описва като „бинарна транслация в стил Proton”. Кодът е публикуван в GitHub под GPL-2.0 и вече е събрал около 1500 звезди.

Защо не е нужна емулация на процесора

Цялата идея е възможна заради едно обстоятелство: PlayStation 5 върви на x86-64 процесор на AMD от поколението Zen 2. Същите инструкции, които изпълнява конзолата, ги изпълнява и всеки съвременен настолен компютър.

Тоест няма нужда от превод между архитектури — най-тежката част от класическата емулация просто отпада. Остава другото: операционната система на PS5 е BSD-базирана, форматът на изпълнимите файлове е различен, а системните библиотеки са изцяло на Sony.

Точно тук идва аналогията с Proton и Wine. Valve не емулира Windows под Linux — тя подменя Windows API с нативни реализации. AnyPS5 прави същото за PS5.

Дънната платка на PlayStation 5 с чипа на AMD в центъра Снимка: Wikimedia Commons

Три части, три различни трудности

Според README файла проектът се състои от три компонента.

Relinker. Командният инструмент, който взема оригиналния ELF файл на играта и го пренаписва в нативен Linux ELF или Windows PE формат. Това е ядрото на подхода — статична рекомпилация предварително, а не превод по време на изпълнение.

Системни библиотеки. Реализации на библиотеките на Sony във формат PRX, подходящи за динамично свързване — libc, libkernel и цяла редица модули libSce*. Те пренасочват заявките на играта директно към нативната операционна система и графичните примитиви.

Shader recompiler. Тук е най-интересното. Модулът декодира компилираните RDNA шейдъри на играта, превежда ги в междинно представяне и накрая издава SPIR-V за Vulkan. Авторът отчита, че генерираният SPIR-V минава валидацията на SPIRV-Tools — което звучи скучно, но е точно онзи праг, отвъд който графиката изобщо има шанс да се появи на екрана.

Докъде е стигнал

Състоянието е категорично експериментално. По описанието на автора изпълнението стига до _start и после до main, таблиците за разгъване на стека и обработка на изключения работят коректно, а реална търговска игра показва логото си, зарежда главното меню и дори влиза в геймплей със звук.

След това се чупи. Причината е приземяващо прозаична: играта не успява да отвори файла със записани игри по път от типа /_sd/SAVEDATA00/-saveindex и хвърля изключение още в първите секунди от рендер цикъла.

Добре е да знаете

Публични билдове няма и няма да има скоро. Авторът е записал изрична политика: релийзи ще излязат само след като поне една игра тръгне и се изиграе докрай. Който иска да опита сега, трябва да компилира сам — с компилатор за C++20, GCC под Linux и MinGW-w64 GCC 15.2.0 под Windows.

Какво остава неясно

Две неща си струва да се кажат трезво.

Първо, дори при идеално работеща транслация играта пак очаква хардуерния бюджет на PS5 — RDNA 2 графика, която черпи около 200 вата. Нативното изпълнение махва разхода за емулация, но не прави от Steam Deck конзола за 650 евро.

Второ, и по-важно: AnyPS5 не разпространява firmware, криптографски ключове, собствени библиотеки или игри. Авторът го подчертава изрично. Проблемът е, че изпълнимите файлове на PS5 са шифровани, а за да се стигне до дешифрираната версия, на практика трябва хакната конзола. Правно това е съвсем различна територия от самия инструмент — и както показа делото срещу модератора на r/SwitchPirates, производителите на конзоли не се шегуват на тази тема.

Защо все пак заслужава внимание

Историята на подобни проекти е показателна. Първо идва един ентусиаст с невъзможна идея, после кодът стига до менюто, после до геймплея, а след няколко години вече има общност, която поддържа стотици заглавия — вижте какво прави моддинг общността дори с игри от 1999 г. през RTX Remix.

AnyPS5 е в първата фаза и може да спре там. Но подходът е технически издържан: щом процесорът е същият, статичната рекомпилация е по-честният път от емулацията. Ако проектът стигне до първата напълно изиграна игра, разговорът за PS5 ексклузивите на PC ще звучи различно.

Заключение

Засега AnyPS5 е доказателство на концепция, не инструмент за крайни потребители — една игра стига до менюто и се чупи заради файл със записани игри. Но фактът, че PlayStation 5 и настолният PC говорят един и същ машинен език, отваря врата, която PS3 нямаше. Следете GitHub репото: първият релийз ще е знакът, че концепцията е издържала.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още