Language

StegraOS

In development

SteamOS ARM on Nintendo Switch

An experimental system using SteamOS ARM and the Switchroot kernel and platform. Display output uses an adapted Gamescope compositor and the NVIDIA Tegra graphics stack.

Tested devices

Hardware testing
ModelStatus
Nintendo Switch LiteTested
Nintendo Switch OLEDTested
Nintendo Switch V2Not tested separately

These are project test results, not a guarantee of stability for every game or configuration.

Graphics paths

Simplified diagrams
01

Steam interface

Working configuration: 1280 × 720, Gamescope Composer mode 3.

  1. Steam / CEFANGLE · OpenGL
  2. Mesa ZinkOpenGL → Vulkan
  3. NVIDIA TegraGPU rendering
  4. GamescopeGPU buffers · composition
  5. Switch displayTegra scanout

The validated CEF frame path removes CPU pixel readback and texture upload. Frames use GPU buffers and synchronization; GPU copies and CPU work still remain.

02

Windows games

Tested with Half-Life 2: Deathmatch using FEX and Box64.

  1. Windows x64Game · FEX / Box64
  2. Proton / WineDirect3D → DXVK
  3. NVIDIA VulkanGPU rendering
  4. GamescopeFROG / Wayland
  5. Switch displayTegra scanout

FEX and Box64 translate CPU code. HL2DM uses D3D9Ex → DXVK-Sarek → Vulkan.

03

Linux games

Native Linux versions of Super Meat Boy and FEZ using Box64.

  1. Linux x86_64SMB · FEZ
  2. Box64CPU code translation
  3. Native ARM graphicsGL / Vulkan · NVIDIA GPU
  4. GamescopeWayland / Xwayland
  5. Switch displayTegra scanout

The game uses native ARM graphics libraries. Super Meat Boy was tested with SDL and direct Wayland output; FEZ uses MonoKickstart and FNA. These Linux versions do not require Proton.

Core stack

Switchroot / L4T · NVIDIA Tegra · Mesa Zink · Wayland / Xwayland · Gamescope with a Tegra backend

Current status

Working features

  • 720p Steam UI rendered through Zink instead of llvmpipe.
  • Touchscreen, USB mouse and keyboard, and gamepad, with orientation and input routing fixes.
  • Super Meat Boy, FEZ and HL2DM launch in tested configurations.
  • Stegra Control panel: supported CPU/GPU clocks, monitoring and ZRAM configuration for the next boot.
  • Hold Capture for about three seconds to restart the Steam session.
  • Optional unloading of steamwebhelper while a game is running.

Known limitations

  • GPU/consumer faults, freezes and game exit issues remain.
  • Compatibility and performance vary by game. There is no general compatibility guarantee.
  • Restoring Steam UI after unloading webhelper in Windows games still needs work.
  • The session restart shortcut cannot recover a frozen kernel.

Source code and research

GitHub · zodiakborodin98 ↗

Downloads

StegraOS image

Installation through Hekate. A download link will be added after image validation.

Coming soon

Installation guide and SHA256

Installation steps and checksums for the published release.

Coming soon

Contact

Project questions and results from your own testing.