Патч Revive позволяет запускать эксклюзивы для Rift на Vive

210

riftblogpierre1

Пользователь Reddit под ником CrossVR (или LibreVR на GitHub) нашёл способ разблокировать эксклюзивный контент Oculus, такой как Lucky’s Tale и Oculus Dreamdeck, для его запуска через SteamVR на очках HTC Vive. Это почти как взломать PlayStation 4 и играть в эксклюзивы для неё на Xbox One. Мы не хотели бы поддерживать тотальное пиратство, но искусственные барьеры — не то, что нужно для распространения виртуальной реальности среди рядовых пользователей. И барьеры эти установила Oculus. Давайте разберёмся, в чём суть взлома от CrossVR.

Магазин приложений Steam и его адаптация под виртуальную реальность со специальными драйверами SteamVR позиционируются как открытые платформы, пользоваться которыми могут владельцы разных устройств. В Steam открыто распространяются игры, оптимизированные для Oculus Rift, несмотря на то, что Valve совместно с HTC сделала собственные высокотехнологичные очки Vive. Обратная ситуация наблюдается с магазином Oculus Store, который Vive даже не распознаёт.

Хакерские изыскания CrossVR позволяют размыть границу между двумя ведущими платформами рынка. Они были выложены с подробной инструкцией на GitHub и остроумно названы «Revive» (англ. «возрождать», «оживлять»), а анонс состоялся на Reddit. Трюк описывается как доказательство концепции о совместимости Oculus SDK и OpenVR, позволяющее пользователям Vive играть в купленные ими игры для Rift.

oculus-home-screenshot

После установки игры из Oculus Store вам нужно лишь скачать специальный патч и положить его в нужную директорию на диске — и софт обретает кроссплатформенную совместимость. Не нужно никаких правок в файлах или жертвоприношений идолу Гейба Ньюэлла. Всё происходит следующим образом (цитируем CrossVR на GitHub):

Это работает через переопределение функций Oculus Runtime и их перевод в запросы OpenVR. К сожалению, Oculus проводит проверку Code Signing в файлах Runtime DLL, поэтому файлы Revive DLL не могут быть использованы, пока приложение не пропатчено.

Загрузка включает пропатченную версию примера OculusRoomTiny, чтобы показать возможность его корректного коммуницирования с OpenVR.

Файлы Revive DLL уже содержат перехватывающий код для проверки подписи в любом приложении. Однако вам все равно нужно пропатчить приложение для загрузки файлов Revive DLL.

По электронной почте CrossVR дал пояснения:

API Oculus SDK и OpenVR испытывали сильное взаимное влияние. Это, вероятно, является свидетельством того, как тесно работали Oculus и Valve в первые дни. Это значит, что, по большей части, эти два API легко сочетаются друг с другом, и писать слой совместимости сравнительно легко.

В настоящее время Revive «официально» поддерживает только Lucky’s Tale и Oculus Dreamdeck, хотя разработчик ссылается на прецеденты запуска War Thunder и Henry и отмечает возможность работы с патчем любой игры из Oculus Store, хотя они и не были протестированы:

Он может работать с массой других игр, но это не было проверено мной, — говорит CrossVR. — Проект на очень ранней стадии, он был в разработке всего несколько недель. В будущем он будет поддерживать больше игр, но я уже рад наблюдать столь быстрый прогресс.

В планах разработчика добавление поддержки Oculus Touch — организацию работы игр для контроллеров Oculus на контроллерах Vive, а также поддержка OpenGL, DX12 и онлайн-функций. Он выражает надежду на то, что Oculus предпочтёт встретить его продукт позитивно, поскольку для неё это возможность привлечь больше покупателей в свой магазин, и заявил, что Revive не предназначен для пиратства.

Тем временем в отделе по связям с общественностью Oculus успели подготовить однозначный официальный ответ:

Это взлом, и мы не потворствуем ему. Пользователи должны ожидать, что взломанные игры не будут работать бесконечно, поскольку регулярные обновления программного обеспечения, игр, приложений и нашей платформы, вероятно, сломают взломанный софт.

Далее: Настройка Oculus Rift для SteamVR в четыре шага

По материалам Reddit и UploadVR