OpenNOW is a native macOS cloud gaming client built with AppKit, Objective-C++, and WebRTC. It provides a desktop-first interface for signing in, browsing games, and launching cloud streams.
- Native AppKit UI with browser-based OAuth sign-in
- Persistent sessions and account switching
- Catalog browsing, library view, and game launch flow
- Native WebRTC streaming with audio/video/input controls
- Stream preferences for region, codec, bitrate, and recovery
- macOS with AppKit/Cocoa support
clang++with C++20 and Objective-C ARC supportcmakefor building Sentry Native- Apple Command Line Tools or Xcode toolchain
WebRTC.frameworkorWebRTC.xcframeworkinthird_party/webrtc-official
Install the latest Sentry Native release before building with crash reporting enabled:
scripts/install-sentry-native.shThe installer writes the SDK to third_party/sentry-native/install. To send a one-time verification message during launch, run with OPN_SENTRY_VERIFY=1.
make
make runBuild artifacts are written to build/OpenNOW.
make run enables OPN_INFO_LOGS=1 by default so runtime logs are printed in the terminal. To watch logs from another terminal while the app is running, use:
make logsThe live log target tails the captured runtime log at ${TMPDIR:-/tmp/}OpenNOW/OpenNOW-current.log.
make cleansrc/main.mm- app entry pointsrc/OPNAppDelegate.*- app lifecycle and navigationsrc/auth/- OAuth and session handlingsrc/games/- catalog, library, and launch logicsrc/streaming/- WebRTC stream session and UIsrc/views/- native AppKit viewssrc/common/- shared types and helpersassets/- artwork and icons
docs/vendor-functional-parity.mdtracks native OpenNOW behavior against the vendored GeForce NOW web app and records telemetry/feedback/PWA/Tizen surfaces as intentional non-goals.
Open issues for bugs or feature requests and submit pull requests for improvements.
