Steam Frame: Как Valve Linux VR побеждала

14 сентября 2026 года Valve выпустила обновление Half‑Life: Alyx. В списке изменений были: оптимизации под Steam Frame, отслеживаемый глазами foveated rendering, нативная сборка ARM64/aarch64 и depth reprojection для работы при пониженной частоте полноценного рендера.
Для ля шестилетней игры патч необычный. Но именно его список изменений хорошо показывает, к чему Valve пришла за девять лет работы над Linux VR.
Half‑Life: Alyx теперь способна запускаться непосредственно на Steam Frame — без компьютера. Frame построен на Snapdragon 8 Gen 3, использует архитектуру ARM64 и работает под SteamOS на базе Arch Linux.
Linux много лет оставался болезненной платформой для PCVR: Direct Mode, Wayland, DRM leasing, видеодрайверы, композитор, SteamVR и сама гарнитура должны были одновременно договориться друг с другом.
Решать весь набор проблем одновременно Valve не стала: в Steam Frame значительную часть потенциальных точек отказа удалось просто убрать из системы.
Документация Valve: совместимость Steam Frame
2017: SteamVR приходит на Linux
Публичная история SteamVR на Linux началась 21 февраля 2017 года.
Valve открыла Linux‑сборку в beta‑ветке и предупредила: это development release для разработчиков, поддержка оборудования ограничена, а для работы могут потребоваться предварительные версии графических драйверов.
Анонс SteamVR for Linux от Valve
Предупреждение оказалось вполне заслуженным.
SteamVR уже тогда опирался на Vulkan. Владельцам NVIDIA требовался development‑драйвер 375.27.10, а на AMD Valve рассчитывала на свежий RADV.
В раннем тесте Phoronix запуск HTC Vive на Linux превратился в подбор рабочего сочетания Ubuntu, Steam Runtime и Vulkan‑драйвера. После нескольких попыток автор пришёл к выводу, что по зрелости порт тогда находился примерно на стадии alpha, несмотря на формальный статус beta.
Phoronix: итог раннего теста SteamVR Linux Beta — скорее alpha, чем beta
Багтрекер тех лет выглядит соответственно: segfault при старте SteamVR на Arch Linux, ошибки композитора, проблемы IPC и множество аппаратно‑зависимых сбоев.
Официальный репозиторий SteamVR for Linux
Прошло девять лет, а README официального репозитория всё ещё называет Linux‑версию development release и предупреждает об ограниченной поддержке оборудования. Его, похоже, давно не переписывали: современный SteamVR на Linux уже заметно ушёл вперёд относительно версии 2017 года.
Но в README хорошо передаётся главная проблема: сделать одну Linux‑игру относительно просто. Сделать универсальный Linux VR‑стек для огромного количества разных компьютеров — совсем другая задача.
Нативной Linux‑версии Alyx оказалось недостаточно
В 2020 году Half‑Life: Alyx получила официальный Linux‑порт на Vulkan. Valve тогда рекомендовала для Linux видеокарты AMD с Mesa RADV.
Valve: Workshop Update 2020 — нативная Linux‑версия Alyx, Vulkan и рекомендация Mesa RADV
Казалось бы, задача решена: есть нативная игра, есть Vulkan, есть SteamVR. Но VR работает не так.
Обычной игре достаточно сформировать кадр и вывести его на экран.
VR‑система должна одновременно:
подготовить изображение отдельно для каждого глаза;
учитывать последние данные о положении головы;
укладываться в очень жёсткий временной бюджет;
передавать изображение непосредственно на дисплей гарнитуры;
синхронизировать игру, композитор, GPU и HMD;
корректировать изображение между полноценными кадрами, если игра не успевает.
На Linux в эту цепочку добавляются ещё несколько уровней:
Vulkan;
драйвер AMD, NVIDIA или Intel;
X11 либо Wayland;
оконный композитор;
Direct Mode;
DRM leasing;
драйвер гарнитуры;
способ физического подключения HMD.
Каждая дополнительная прослойка — ещё одно место, где что‑нибудь может сломаться.
Показательный пример — DRM leasing.
При определённых проблемах SteamVR может завершиться ошибкой:
Failed to lease display
или:
VRInitError_Compositor_CannotDRMLeaseDisplay
DRM lease позволяет VR‑композитору получить прямой контроль над дисплеем гарнитуры, не заставляя рабочий стол обращаться с ней как с обычным монитором.
Если Wayland‑композитор, драйвер или KMS‑стек не договорились между собой, SteamVR просто не получает нужный дисплей.
Поддержка IVRDriverDirectModeComponent на Linux появилась в SteamVR 2.5 лишь в 2024 году. В том же выпуске Valve продолжала исправлять Linux‑специфичные проблемы с выводом изображения, SteamVR Home и совместимостью с дистрибутивами.
Valve: SteamVR 2.5 — Direct Mode drivers на Linux и сопутствующие исправления
Отсюда следует важное различие: нативный порт игры решает только часть задач Linux VR. Alyx работала на Linux с 2020 года, но между её движком и линзами оставалась длинная цепочка из компонентов, любой из которых мог испортить результат.
Desktop Linux VR в 2026 году остаётся капризным
За девять лет ситуация стала значительно лучше, но свежие изменения SteamVR показывают, что работа далеко не закончена.
В SteamVR 2.16 Valve переводила синхронизацию GPU на Linux на timeline semaphores, улучшала работу с Gamescope, исправляла сбои после падения VR‑игр и отдельно работала над NVIDIA.
Для VRLink пришлось исправлять выбор правильного GPU на системах с открытыми модулями ядра NVIDIA. Появлялись и отдельные обходные решения для высокобитрейтной передачи изображения.
SteamVR 2.17 продолжил исправлять работу проводных гарнитур, стабильность Linux, логирование и Steam Link.
Valve: SteamVR 2.16 — timeline semaphores, Gamescope, VRLink и NVIDIA на Linux Valve: SteamVR 2.17 — Linux и Steam Link fixes
И как бы хорошо ни выглядел changelog, багтрекер всё ещё показывает главную проблему Linux VR: результат всё ещё зависит от конкретного сочетания GPU, драйвера, ядра, композитора, гарнитуры и версии SteamVR.
Совсем недавно, например, появился отдельный отчёт о постоянном ghosting в правом глазу Quest 3S при работе через Steam Link VR; есть проблемы AMDGPU, Vulkan device creation, compositor и DRM leasing.
GitHub: Steam Link VR — persistent right‑eye ghosting на Quest 3S GitHub: vrcompositor — AMDGPU GPU page faults на RDNA2/RADV
Steam Frame делает VR‑среду предсказуемой
Здесь Valve заранее известны практически все ключевые компоненты системы:
какой установлен процессор;
какой используется GPU;
сколько доступно памяти;
какие стоят дисплеи;
какие камеры отвечают за отслеживание;
какие используются контроллеры;
как устроено отслеживание взгляда;
какая версия SteamOS установлена;
какой Vulkan‑драйвер используется;
какой SteamVR будет работать поверх всего этого.
А при автономном запуске пропадает ещё и внешний Linux‑ПК.
Из цепочки исчезают Direct Mode для внешнего HMD, DRM leasing через Wayland‑композитор и необходимость учитывать десятки сочетаний видеокарт, драйверов и гарнитур.
Steam Frame сам является компьютером, VR‑системой и устройством вывода. Производитель начал контролировать железо, образ системы, драйверы, клиент Steam и обновления одновременно.
Но Steam Frame работает на ARM
Переход к контролируемой платформе поставил перед Valve другую задачу — совместимость ARM64 с огромной библиотекой x86-игр Steam.
Steam Frame использует Snapdragon 8 Gen 3 — это ARM64.
Основная библиотека Steam исторически заточена под x86 и x86-64, а большинство PC‑игр рассчитано прежде всего на Windows. Заставить всю индустрию выпустить сборки под Linux, так еще и ARM64 было бы очень сложно.
Поэтому Valve снова сделала ставку на совместимость — как ранее с Proton.
x86-код: FEX
Если программа собрана под x86 или x86-64, в дело вступает FEX.
FEX динамически переводит x86-инструкции в ARM64, графические вызовы OpenGL и Vulkan перенаправляет в нативные библиотеки хост‑системы, а переведённый код кэшируется для уменьшения последующих накладных расходов.
Android: Lepton
Для Android‑приложений Valve использует Lepton — контейнерный слой совместимости, рассчитанный в том числе на перенос существующих Android ARM64 VR‑игр.
Для разработчиков, у которых уже имеется мобильная версия VR‑проекта, такой путь может оказаться значительно проще, чем перенос Windows‑версии.
FEX оказался недостаточно быстрым для Alyx
Для большинства игр такого подхода может быть достаточно. Типичный путь запуска Windows‑игры в документации Valve выглядит примерно так:
Windows x86-64
↓
Proton
↓
FEX
↓
Linux Arm64
↓
Vulkan
Valve: совместимость приложений со Steam Frame
Но, как выяснилось, не для Half‑Life: Alyx.
ComputerBase получила специальную ARM64-версию HL: Alyx и описала историю её появления.
Существующую x86-версию можно было попытаться запускать через FEX, но производительности оказалось недостаточно для того результата, которого хотела Valve. Компания пошла более дорогим путём: Valve перенесла Linux/Vulkan‑версию с x86-64 непосредственно на ARM64.
ComputerBase: ARM64-версия Half‑Life: Alyx на Steam Frame
В официальном обновлении игры появились:
ARM64/aarch64;
оптимизации рендера под Steam Frame;
foveated rendering;
depth reprojection;
дополнительные улучшения производительности;
исправления Linux‑версии.
Valve: Half‑Life: Alyx Updated for Steam Frame — ARM64, foveated rendering и depth reprojection
Для Steam Frame Alyx стала настоящим нативным Linux/ARM64-приложением, а не PC‑игрой через несколько слоёв совместимости.
Однако ARM64-порт оказался только частью проделанной работы.
Ради одной Alyx пришлось улучшать саму платформу
По словам Valve, значительная часть работы над автономной версией Alyx пришлась на Vulkan‑драйвер и SteamVR — работа затронула гораздо больше, чем код самой игры.
Они работали над:
графическим драйвером;
SteamVR;
VR‑композитором;
передачей данных для reprojection;
производительностью всей графической цепочки.
Причём часть этих улучшений не привязана исключительно к Alyx и может использоваться другими приложениями Steam Frame.
Road to VR: комментарий Valve о более чем годе работы над Vulkan‑драйверами и SteamVR The Verge: Valve о переносе Alyx на ARM и общих оптимизациях SteamVR/Vulkan
Обычно игру подгоняют под ограничения платформы. Здесь Valve заодно пришлось подгонять платформу под игру.
На Linux это особенно удобно, так как значительные части графического стека открыты: разработчики могут исследовать нужный участок драйвера, профилировать его и при необходимости непосредственно менять код, вместо того чтобы ждать новой версии полностью закрытого runtime от производителя GPU.
Как Snapdragon вообще справляется с Half‑Life: Alyx
Оригинальная PC‑версия Alyx в минимальных требованиях указывала GTX 1060/RX 580 с 6 ГБ VRAM и 12 ГБ оперативной памяти.
Steam: официальные системные требования Half‑Life: Alyx
Steam Frame запускает ту же игру на мобильной SoC. Одного перехода на ARM64 для этого явно недостаточно. Valve пришлось уменьшить объём работы, который выполняется при формировании каждого кадра.
Foveated rendering: не тратить GPU там, куда человек не смотрит
Steam Frame отслеживает направление взгляда.
SteamVR предоставляет для этого стандартные OpenXR‑механизмы, включая:
XR_EXT_eye_gaze_interaction
и расширения foveation:
XR_FB_foveation XR_FB_foveation_configuration XR_FB_foveation_vulkan XR_META_foveation_eye_tracked Valve: OpenXR и собственные движки на Steam Frame
Смысл foveated rendering довольно прост — вместо одинаково качественного изображения по всей площади:
█████████████████
█████████████████
█████████████████
█████████████████
основной вычислительный бюджет можно сосредоточить вокруг точки взгляда:
░░░░░▒▒▒░░░░░░░
░░▒▒█████▒▒░░░░
░▒█████████▒░░░
░░▒▒█████▒▒░░░░
░░░░░▒▒▒░░░░░░░
Периферическая часть изображения формируется дешевле. Глаз всё равно значительно хуже различает там мелкие детали, поэтому часть качества можно обменять на производительность.
Цена такой экономии — заметные в некоторых ситуациях переходы качества. Для мобильного GPU этот компромисс всё равно даёт большой выигрыш в производительности.
Второй крупный приём — reprojection
ComputerBase при тестировании автономной Alyx получила штатный режим работы: 36 полноценных кадров в секунду при частоте дисплея 72 Гц.
То есть движок не создаёт 72 совершенно новых кадра каждую секунду. Тогда Valve решила добавить в Alyx depth reprojection, который строит промежуточное представление кадра с учётом глубины сцены и нового положения головы (некий аналог генератора кадров для VR).
Игра может передать композитору информацию о глубине сцены. Steam Frame также умеет использовать данные движения. Зная глубину изображения и новое положение головы, VR‑композитор может перестроить предыдущий кадр под изменившийся ракурс.
Именно поэтому 36 FPS здесь нельзя напрямую сравнивать с 36 FPS обычной игры на мониторе. Дисплей продолжает обновляться 72 раза в секунду. Часть этих обновлений создаётся на основе уже существующего кадра и свежего положения головы.
По наблюдениям ComputerBase, результат ощущается значительно лучше, чем можно предположить по одной цифре 36 FPS.
Valve даже предоставляет разработчикам Steam Frame параметр preferHalfFramerate, позволяющий сознательно использовать половинную частоту рендера вместе с reprojection.
Valve: Steam Frame VR Preferences — preferHalfFramerate
Физику всё равно не обмануть
За такую производительность приходится платить качеством изображения. Они значительно уменьшили объём необходимых вычислений:
ARM64-порт убирает FEX из критического пути Alyx.
Foveated rendering снижает стоимость периферического изображения.
Depth reprojection уменьшает необходимое количество полноценных кадров.
SteamVR восстанавливает промежуточное движение.
Vulkan‑драйвер оптимизируется под конкретный GPU.
SteamOS и композитор полностью контролируются Valve.
Игра работает на заранее известной аппаратной конфигурации.
Поэтому автономная Alyx выглядит хуже версии, отрисованной мощным настольным GPU.
ComputerBase также заметила изменение качества на периферии, вызванное foveated rendering. Когда пользователь переводит взгляд, область максимального качества перемещается вместе с ним. В некоторых ситуациях переход детализации и отдельные артефакты можно заметить боковым зрением.
И всё это остаётся настоящим Linux
Valve не превратила SteamOS на Frame в полностью закрытую консольную оболочку. Документация предусматривает доступ к Linux desktop и инструменты удалённой разработки.
Родной стек Steam Frame выглядит примерно так:
Linux
↓
Arm64
↓
Vulkan
↓
OpenXR / SteamVR
Но поверх неё Valve пытается поддерживать сразу несколько экосистем:
Linux ARM64;
Android ARM64 через Lepton;
Windows ARM64;
Windows x86/x86-64 через Proton и FEX;
Linux x86 через FEX.
Здесь Valve повторяет стратегию Steam Deck: вместо массового переноса индустрии на Linux компания строит слои совместимости для уже существующего ПО.
Что от Steam Frame получит обычный Linux VR
Часть этой работы полезна не только Frame, так как большая часть работы Valve выполнялась над Vulkan‑драйвером, SteamVR и связанными Linux‑компонентами.
Современные версии SteamVR получают Linux‑изменения в тех же областях:
синхронизация GPU;
Gamescope;
выбор видеокарты;
NVIDIA;
передача изображения;
Steam Link;
проводные гарнитуры;
VR‑compositor.
Передача VR с Linux‑ПК
В SteamVR 2.17 есть Linux‑исправления Steam Link и связанных компонентов.
При этом публикации ComputerBase на момент запуска противоречат друг другу. В основном обзоре Steam Frame указано, что в протестированной релизной конфигурации передача VR работала только с Windows‑PC, тогда как Linux (и SteamOS), Steam Machine и Steam Deck в роли источника ещё не поддерживались. Отдельный материал ComputerBase про Half‑Life: Alyx, опубликованный в тот же день, наоборот утверждает, что игру можно передавать на Frame как с Windows‑, так и с Linux/SteamOS‑PC. Поэтому по этим публикациям однозначно подтвердить поддержку Linux‑host на старте нельзя.
ComputerBase: основной обзор Steam Frame — на старте streaming только с Windows‑PC ComputerBase: отдельный материал Alyx — заявлен streaming с Windows и Linux/SteamOS
Почему Half‑Life: Alyx идёт в комплекте со Steam Frame
На первый взгляд выбор Alyx для Steam Frame выглядит абсурдно. Half‑Life: Alyx — одна из самых технологически сложных PCVR‑игр. Steam Frame — автономная гарнитура на мобильном ARM‑процессоре под Linux. Причём Linux VR много лет считался одной из самых сырых частей Linux‑гейминга.
The Verge: Half‑Life: Alyx входит в комплект Steam Frame
В 2020 году игра показывала на что способна Valve в PCVR при наличии полноценного игрового компьютера.
В 2026 году та же игра показывает совсем другой набор технологий:
Linux Arm64;
Vulkan;
OpenXR;
SteamVR;
отслеживание взгляда;
foveated rendering;
depth reprojection;
данные движения;
оптимизированный VR‑compositor;
единое аппаратное и программное окружение.
Путь к этому результату
В 2017 году SteamVR for Linux вышел как экспериментальная development‑сборка с ограниченной поддержкой оборудования и предварительными Vulkan‑драйверами.
В 2020 году Alyx получила нативную Linux/Vulkan‑версию, но качество VR по‑прежнему зависело от длинной цепочки внешних компонентов.
В 2024 году Valve всё ещё добавляла важные части Direct Mode для Linux.
В 2026 году компания продолжает исправлять DRM leasing, NVIDIA, Gamescope, синхронизацию GPU и Steam Link и одновременно выпускает автономную ARM64/Linux‑гарнитуру, способную непосредственно на своём железе запускать Half‑Life: Alyx.
Вот это и есть наиболее точное описание того, как Valve “победила” Linux VR. Универсальный Linux PCVR Valve не починила — зато построила Linux VR‑платформу, в которой сама контролирует почти всю цепочку.
Источники
Valve — совместимость приложений со Steam Frame, Proton, FEX и Lepton
Valve — Steam Frame: Custom Engines, OpenXR, eye tracking и foveation
Valve — SteamVR for Linux: README, требования и статус Linux‑порта
Valve — SteamVR 2.16: Linux, Gamescope, timeline semaphores и VRLink
GitHub — Steam Link VR: persistent right‑eye ghosting на Quest 3S
Valve — Half‑Life: Alyx Workshop Update 2020: Linux/Vulkan и Mesa RADV
Valve — Half‑Life: Alyx Updated for Steam Frame: ARM64, foveated rendering и depth reprojection
Phoronix — итог раннего теста SteamVR Linux Beta: скорее alpha, чем beta
Road to VR — комментарий Valve о более чем годе работы над Vulkan‑драйверами и SteamVR
The Verge — ARM64-порт Alyx и общие оптимизации SteamVR/Vulkan
ComputerBase — ARM64-порт Alyx, FEX, foveated rendering и режим 36 FPS / 72 Гц
ComputerBase — основной обзор Steam Frame и launch‑ограничения streaming
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.