* 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>
The CFFI extension was built with py_limited_api=False, producing
version-specific .so files (e.g., cpython-312 on Linux, cpython-314
on macOS). This caused import failures when the build Python version
didn't match the runtime version.
Switch to py_limited_api=True to produce _raylib_cffi.abi3.so which
works across Python 3.x versions.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Build the CFFI Python extension (_raylib_cffi.so) during wheel build
instead of deferring to first import. This eliminates the need for
libgl-dev and libx11-dev on the target system.
- setup.py: run build.py after build.sh to compile CFFI extension
- pyproject.toml: include _raylib_cffi*.so in package-data, bump to 5.5.0.3
- _shim_setup.py: extract .so files from wheel alongside data directory
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>