Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Valve выложила в открытый доступ Lepton — слой совместимости Android для Steam Frame

Valve выложила в открытый доступ Lepton — слой совместимости Android для Steam Frame

Компания Valve продолжает расширять возможности своей экосистемы, сделав важный шаг навстречу разработчикам мобильного контента. Переход инструмента Lepton в статус проекта с открытым исходным кодом позволяет не только глубже изучить технологии компании, но и значительно упрощает перенос Android-игр на новое железо виртуальной реальности, открывая перспективы для всей индустрии.

Открытый исходный код Lepton: новый шаг Valve в развитии VR-экосистемы

Компания Valve официально перевела в разряд проектов с открытым исходным кодом инструмент Lepton — специализированный слой совместимости с Android, созданный специально для виртуальной гарнитуры Steam Frame. Исходные файлы проекта уже опубликованы и доступны всем желающим в официальном репозитории Valve на платформе GitLab.

Главная задача Lepton — предоставить разработчикам виртуальной реальности удобный механизм переноса существующих Android-игр на новую гарнитуру без необходимости полного переписывания кодовой базы под другую операционную систему. Этот релиз состоялся вслед за выходом самого устройства Steam Frame и стал логичным продолжением мартовского анонса Valve, когда компания впервые объявила о разработке Lepton и представила требования сертификации Steam Frame Verified.

Реклама

Открытие кода дает инженерам и программистам подробное представление о том, как именно Valve адаптирует среду Android под задачи VR-гейминга на базе SteamOS — от прямого взаимодействия с видеокартой до интеграции отладочных инструментов.

Принцип работы: отличия Lepton от Proton и отказ от лишних служб

По смыслу и концепции Lepton напоминает знаменитый проект Proton, с помощью которого Valve обеспечила запуск Windows-игр на SteamOS и Linux. Однако с технической точки зрения инструменты кардинально различаются. Если Proton занимается трансляцией системных вызовов и интерфейсов Windows, то Lepton предлагает специально скомпонованное и оптимизированное под игры окружение Android.

Разработчики Valve сознательно сузили рамки этой среды. Lepton не превращает Steam Frame в универсальный планшет на Android и не стремится обеспечить совместимость с абсолютным большинством мобильных приложений. Чтобы максимально снизить системные издержки и накладные расходы, из Android-стека были полностью исключены фоновые службы и сервисы, не имеющие отношения к игровому процессу.

Такой подход позволяет сохранить высокую производительность, хотя и создает ограничение: софт или сервисные компоненты, завязанные на стандартные фоновые службы Android, в Lepton работать не будут.

Прямой доступ к видеокарте и оптимизация графики для VR

Архитектура Lepton спроектирована таким образом, чтобы работать в максимально плотной связке с основной операционной системой SteamOS. Окружение монтирует системные библиотеки хоста напрямую — это касается графических драйверов, компонентов Steam и Steamworks, а также слоев API Vulkan.

В документации Valve указана поддержка графических стеков Mesa и Zink, а также инструментария Vulkan для реализации фовеального рендеринга (foveated rendering) и оптимизации проходов рендеринга (render-pass). В сфере виртуальной реальности подобные технологии критически важны: высокий КПД рендеринга и стабильность частоты кадров напрямую определяют не только четкость изображения, но и комфорт пользователя, предотвращая утомление и тошноту.

Реклама

Предоставляя Android-среде прямой доступ к видеодрайверам хост-системы, Valve избавилась от задержек и потерь производительности, традиционно присущих классическим изолированным контейнерам.

Инструменты разработки и архитектура безопасности

Для программистов, занимающихся портированием проектов, Valve включила в состав Lepton полноценный набор средств отладки и профилирования. В их числе поддержка отладчиков strace, GDB, LLDB и RenderDoc, а также профилировщика производительности Perfetto. Плоское двумерное окно приложения по умолчанию скрыто от пользователя, однако разработчики могут принудительно отобразить его во время тестов и поиска ошибок.

С точки зрения безопасности Lepton функционирует без прав суперпользователя (root) и не требует root-инструментов при установке. Все процессы внутри инстанса Lepton выполняются от имени единого непривилегированного пользователя.

При этом строгого разделения приложений внутри одного инстанса не предусмотрено: согласно документации Valve, предполагается, что каждое отдельное приложение будет запускаться в собственном изолированном контейнере Android.

Перспективы для разработчиков игр и сообщества Linux

Публикация исходного кода Lepton открывает для VR-сообщества прозрачную картину того, как Valve решает проблему запуска мобильных игр на базе SteamOS с использованием Vulkan-слоев и облегченного Android-стека. Нативная поддержка графических библиотек дает разработчикам четкие ориентиры при оптимизации продуктов.

Архитектура графического стека Valve Lepton и SteamOS
Прямой доступ к графическим драйверам хост-системы позволяет снизить задержки и повысить стабильность фреймрейта в VR.

Кроме того, энтузиасты и разработчики Linux получают технологическую основу для собственных экспериментов. Впрочем, в Valve отдельно подчеркнули, что использование Lepton за пределами его основного назначения — запуска игр на Steam Frame — не входит в первоочередные задачи проекта.

Источник: www.techspot.com

01.