Brewser Docs
Switch Runtime

Architecture

The engine stack powering Brewser on Tegra X1

Brewser's runtime is built on open source components that run natively on the Switch's Tegra X1:

LayerComponent
JavaScript engineV8 (with JIT, verified on real hardware)
2D renderingSkia
GPU driverMesa / Nouveau (OpenGL ES via EGL)
Base runtimeFork of nx.js with Brewser extensions

JavaScript engine

Apps execute on V8, the same engine used by Chrome and Node.js, including its optimizing JIT compiler. Modern JavaScript (ES2023+) works out of the box.

Rendering

Two rendering paths coexist on the same screen surface:

  • Canvas 2D is backed by Skia.
  • WebGL 1 / WebGL 2 run through Brewser's own bridge, built out from nx.js's initial GL wiring, which maps the WebGL API to OpenGL ES via Mesa's Nouveau driver.

The runtime manages GL state so that Skia-drawn UI and WebGL-rendered app content can share the device without interfering with each other.

App isolation

Every app launch gets a fresh JavaScript context. On exit, the runtime disposes the app's GL resources, audio graph and pending work, restoring the engine to a clean state for the next launch.

On this page