summaryrefslogtreecommitdiff
path: root/docs/getting-started.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting-started.md')
-rw-r--r--docs/getting-started.md9
1 files changed, 5 insertions, 4 deletions
diff --git a/docs/getting-started.md b/docs/getting-started.md
index b82dae5..aeed4cd 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -7,14 +7,14 @@ Build with a C23 compiler, Meson 1.6+, and Ninja. Linux backend dependencies are
wayland-client, wayland-cursor, xkbcommon, or x11, xi, xext, xkbcommon (optional
xrandr). Optional egl and wayland-egl enable GL contexts; Vulkan SDK development
files enable the Vulkan bridge. Optional dbus-1 enables Linux desktop services.
-Cocoa requires macOS 14+ and the AppKit, Metal, QuartzCore, OpenGL, and
-UserNotifications system frameworks. Optional Vulkan SDK enables MoltenVK WSI.
+Cocoa requires macOS 14+ and the AppKit, Metal, QuartzCore, and UserNotifications
+system frameworks. Use Metal or MoltenVK for GPU rendering on macOS; Cocoa does
+not provide OpenGL contexts. Optional Vulkan SDK enables MoltenVK WSI.
```sh
meson setup build
meson compile -C build
./build/yasl-hello
-./build/yasl-game
meson test -C build --print-errorlogs
```
@@ -53,7 +53,8 @@ reconnects, and sends DISPLAY_RESTORED. CPU windows need nothing; GPU renderers
their Vulkan surfaces and GL objects on loss and rebuild them on restore.
[hello.c](../examples/hello.c) draws into a CPU surface's pixel buffer on every REFRESH.
-[game.c](../examples/game.c) creates a GL context, binds it, loads procedures, draws,
+On Linux with EGL, `./build/yasl-game` runs [game.c](../examples/game.c), which
+creates a GL context, binds it, loads procedures, draws,
swaps, and rebinds the context after a compositor restart. [tablet.c](../examples/tablet.c) retains a canvas
and draws pressure-sensitive pen/eraser strokes. [notepad.c](../examples/notepad.c)
uses a worker queue, wakeups, clipboard, IME, and its own blink deadline.