Windows
Running without building anything
With the precompiled runtime (@owear/win32-x64) you do not need
Visual Studio, CMake, vcpkg, or OpenSSL. You only need:
- Node.js LTS
- Git (if you clone the repo)
- the WebView2 Runtime (bundled in Windows 11; on Windows 10 it usually comes with an up-to-date Edge)
Install them with winget via the helper script:
powershell -ExecutionPolicy Bypass -File tools\windows\setup.ps1
This installs Node + Git + WebView2 as needed, and the CLI (npm i -g @owear/cli).
OpenSSL vs OpenSSH — do not confuse them. OpenSSL is only needed to build the kernel from source (it is inside vcpkg for Windows). OpenSSH is Windows' SSH server, useful only for remote command access.
Create and run an app
ow create my-app
cd my-app
npm install
npm run dev
ow dev detects @owear/win32-x64 (an optional dependency) and does not compile
the kernel. A WebView2 window opens.
Building from source (contributors)
Install MSVC (Visual Studio 2022), vcpkg (zlib, openssl), and the WebView2 SDK
under deps/webview2/. WebView2 support is gated behind OW_WITH_WEBVIEW2
(default OFF): without the SDK the build produces a stub
CreateWebviewBackend() → nullptr with a clear log. Enable it by installing the
Microsoft.Web.WebView2 NuGet package.
cmake --preset windows-release
cmake --build --preset windows-release
Remote access over SSH (optional)
Useful when another machine drives the build:
# install and start the server (admin)
powershell -ExecutionPolicy Bypass -File tools\windows\setup.ps1 -OpenSSH
For an administrator user, the public key goes in
C:\ProgramData\ssh\administrators_authorized_keys (not ~/.ssh/authorized_keys)
with restricted ACLs:
icacls C:\ProgramData\ssh\administrators_authorized_keys /inheritance:r
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant 'SYSTEM:(R)' /grant 'BUILTIN\Administrators:(R)'
Restart-Service sshd
For a non-admin user: C:\Users\<user>\.ssh\authorized_keys.
Notes
- Session 0: an SSH session has no desktop, so windowed apps must be launched from your interactive session. You can build and create files over SSH, but run the window yourself.
- Remote web debugging (optional): set
WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--remote-debugging-port=9222and connect Playwright withconnectOverCDPto capture screenshots without a visible desktop. - Native modules (
.owm) compile without WebView2. - Platform features (screen capture, global shortcuts, tray, notifications,
power) use Win32 APIs; some are marked
VERIFY ON REAL DESKTOP.