Игры для ПК из Xbox и подписки Game Pass появятся на Linux благодаря проекту «Xodus»
Разработчики лаунчера Heroic запускают новый проект с открытым исходным кодом, посвященный обратной разработке компонентов экосистемы Microsoft. Игры для ПК от Xbox, распространяемые через приложение Xbox, не работают в среде Linux из-за проприетарной среды выполнения GDK (Game Development Kit) компании Microsoft. Это обстоятельство также блокирует работу сервиса Game Pass, несмотря на поддержку компанией облачного стриминга игр из этой библиотеки. Новый проект с открытым исходным кодом от разработчиков Heroic Launcher под названием «Xodus» направлен на решение этой проблемы путем обратной разработки и эмуляции компонентов, необходимых для запуска игр Xbox PC в Linux.
Проект Xodus в первую очередь ориентирован на современные игры Xbox PC, основанные на GDK, и их пакеты формата MSIXVC. Он не затрагивает более старые релизы на базе UWP, такие как Gears of War 4 и ранние части серии Forza Horizon. Проблема с этими старыми играми заключается не в API DirectX или инструкциях x86: инструменты Proton и DXVK/VKD3D уже способны выполнять их трансляцию. Именно поэтому игры Xbox PC можно запустить на Linux, если каким-либо образом получить доступ к исполняемым файлам без защиты DRM.
Основной проблемой является триада компонентов Microsoft: проприетарный GDK (Game Development Kit), службы идентификации Xbox и зашифрованные пакеты MSIXVC. Эта инфраструктура отвечает за проверку лицензий на игры, купленные или арендованные через приложение Xbox. Без работы этого процесса в фоновом режиме игры будут либо сразу завершаться с ошибкой при попытке запуска, либо не стартовать вовсе. Здесь на помощь приходит проект Xodus.
Команда проекта Xodus заявляет, что система уже способна выполнять вход в службы Xbox, загружать игровые пакеты и получать лицензии на игры. В состав решения входит собственная реализация библиотеки xgameruntime.dll с открытым исходным кодом, а также кастомные форки Wine и Proton. Дополнительно используется библиотека аутентификации Xbox для языка программирования Rust под названием xal-rs. Xodus применяет прокси-библиотеки для взаимодействия с играми GDK, перехватывая вызовы API для передачи действительных токенов Xbox Live.
На текущий момент усилия сосредоточены на эмуляции среды выполнения Xbox Gaming Runtime из Xbox GDK через Wine. Следующим этапом станет запуск и локальное прохождение игр Xbox PC. Учитывая, что такие препятствия, как аутентификация Microsoft/Xbox, проверка лицензий и расшифровка пакетов, уже преодолены, появление нативной поддержки Game Pass для ПК в Linux может произойти в ближайшее время.
Другой проект с открытым исходным кодом — BedrockonLinux 2.0, который позволяет запускать Minecraft Bedrock Edition на платформе, — уже использует аналогичные технологии обратной разработки для обработки этих компонентов после того, как Microsoft перенесла игру на платформу GDK. Это позволяет игре взаимодействовать с Xbox Live в режиме реального времени через защищенный канал для аутентификации токенов, даже при запуске в изолированной среде, такой как SteamOS (Linux).
В прошлом месяце сама компания Microsoft выпустила четыре классические игры для оригинальной консоли Xbox на ПК и заявила о планах добавить еще больше тайтлов. Также утечка документов предполагает выпуск игр с консоли Xbox 360 на ПК уже в следующем году. Эти игры поставляются со встроенным эмулятором Xbox 360. Неясно, используют ли эти портированные проекты тот же стек технологий GDK, что и нативные игры Xbox PC.



