Platforms
Six official targets, one game assembly. Each cell says how a capability was checked, so “runs on iOS” is never read as “runs on your iPhone”.
- Played
- A person played the games on real hardware of this kind.
- Real hardware
- Automated runs on a real machine of this kind (GPU, sound device).
- CI / virtual
- Automated runs on a hosted CI runner or in a container: no real GPU, a virtual display and sound server.
- Emulator
- Automated runs on the Android emulator (x86_64).
- Simulator
- Automated runs in Apple’s iOS simulator on a Mac. Not an iPhone.
- Not checked
- No evidence yet.
Windows x64
Runs on hardwareSDL 3 (default) · raylib · SDL software
- Build
- CI / virtualHosted Windows runner on engine changes; local builds
- Headless tests
- CI / virtualEngine and four games, every engine change
- Rendering
- Real hardware138 scripted captures; Direct3D 11, OpenGL and Vulkan identical; the four ZIP packages reproduce them
- Input
- PlayedKeyboard and one gamepad played with raylib; SDL driven by scripted input only
- Audio
- PlayedHeard with raylib; SDL’s device opens and plays (packages included)
- Lifecycle
- —Desktop windows are not suspended
- Real device
- PlayedWindows 11 PC with a GPU; hand play on SDL pending
Download: 64-bit (x64) package in release v0.2.0, checked by playing the downloaded file (install steps).
Linux x64
Checked, not yet playedSDL 3 (default) · raylib · SDL software
- Build
- CI / virtualUbuntu runner on every engine change
- Headless tests
- CI / virtualEngine and four games, every engine change
- Rendering
- CI / virtual138 captures on Mesa (software) under Xvfb; the package reproduces them on Ubuntu 22.04, Debian 12 and Fedora 41
- Input
- CI / virtualSystem keyboard through the X server (raylib); scripted input on SDL
- Audio
- CI / virtualVirtual PulseAudio: a played tone recorded and recognised (raylib); SDL’s device opens
- Lifecycle
- —Desktop windows are not suspended
- Real device
- Not checkedNo real GPU, Wayland session or person yet
Download: 64-bit (x86_64), glibc package in release v0.2.0, checked by playing the downloaded file (install steps).
macOS (Apple silicon)
Checked, not yet playedSDL 3 with Metal (default); raylib needs an OpenGL GPU
- Build
- CI / virtualHosted macOS 26 arm64 runner
- Headless tests
- CI / virtualHeadless tests on the hosted runner
- Rendering
- CI / virtual138 captures on SDL against a macOS reference (paravirtual GPU)
- Input
- Not checkedScripted input only; no system keyboard check
- Audio
- CI / virtualSDL’s device opens on the runner
- Lifecycle
- —Desktop windows are not suspended
- Real device
- Not checkedNo Mac with a person or a real GPU yet
Download: Apple silicon (arm64) package in release v0.2.0, checked by playing the downloaded file (install steps).
Android
Emulator onlySDL 3 (the Android host)
- Build
- CI / virtualAPKs for arm64-v8a and x86_64
- Headless tests
- —Game rules are tested on the desktop
- Rendering
- EmulatorAll four games, 138 captures (x86_64 emulator)
- Input
- EmulatorSystem keys and taps on the on-screen controls
- Audio
- EmulatorSDL’s device opens; not listened to
- Lifecycle
- EmulatorHome suspends the game, returning resumes it
- Real device
- Not checkedNo phone or tablet yet (arm64 not run)
Download: APK for arm64-v8a and x86_64 package in release v0.2.0, checked by playing the downloaded file (install steps).
iOS
Simulator onlySDL 3 with Metal (the iOS host)
- Build
- CI / virtualSimulator app on a hosted Mac
- Headless tests
- —Game rules are tested on the desktop
- Rendering
- SimulatorTwo games, 25 captures within the SDL reference
- Input
- Not checkedThe simulator cannot be sent touches by script
- Audio
- SimulatorSDL’s device opens
- Lifecycle
- SimulatorAnother app suspends the game; returning resumes it
- Real device
- Not checkedNo iPhone or iPad has run it
Installing on an iPhone needs Apple signing; a simulator build cannot run on a device
Browsers (WebAssembly)
Played in Chrome and Firefoxraylib compiled to WebAssembly
- Build
- CI / virtualPinned toolchain on a hosted runner
- Headless tests
- —Same game code as the desktop
- Rendering
- CI / virtual138 captures byte-identical to desktop raylib, Chrome and Firefox
- Input
- PlayedKeyboard (automated and by hand); one gamepad by hand in a Chromium browser
- Audio
- PlayedAfter the first click or key; stops in a hidden tab
- Lifecycle
- —Saves persist; no suspend
- Real device
- PlayedDesktop Chrome and Firefox; Safari and phones not validated
Plays on the demo pages; nothing to install
Evidence: PLATFORM-3 and PRODUCT-1 evaluations. Developer guide: Platforms.