The manylinux container doesn't have Mesa packages pre-installed.
Install them before building the offscreen variant and bundling GLVND.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* raylib: add PLATFORM_OFFSCREEN support for headless CI rendering
- build.sh: use commaai/raylib platform-offscreen commit, build offscreen
variant (libraylib_offscreen.a) alongside desktop for x86_64, bundle
GLVND dispatchers (libEGL, libOpenGL, libGLdispatch) in install/lib/mesa/
- build.py: add PLATFORM_OFFSCREEN elif — uses offscreen lib + bundled
GLVND with RPATH, links -lOpenGL -lEGL instead of -lGL -lX11
- __init__.py: auto-rebuild CFFI when RAYLIB_PLATFORM env changes
(tracks built platform in .raylib_platform marker file)
- Bump version to 5.5.0.5
This lets openpilot CI render headlessly via EGL surfaceless + Mesa
llvmpipe without needing xvfb or any additional apt packages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* raylib: auto-detect CI and use PLATFORM_OFFSCREEN
__init__.py now auto-detects CI on Linux x86_64 and uses
PLATFORM_OFFSCREEN + LIBGL_ALWAYS_SOFTWARE=1 automatically.
No env vars needed in the consuming CI workflow.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Vendor raylib C library + pyray Python bindings (CFFI) from commaai's
raylib and raylib-python-cffi forks.
Supports PLATFORM_DESKTOP (X11/GL) and PLATFORM_COMMA (DRM/EGL/GLES)
backends, auto-detected via /TICI.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>