docs: honest virgl assessment — linker blocker, exact root cause

Mesa virgl:
- All virgl C objects compile successfully
- Linker fails: undefined reference to static_assert in virgl_drm_winsys.c
- Root cause: Mesa util/macros.h #define static_assert _Static_assert
  not picked up before Linux drm.h uses static_assert() in include chain
- Fix candidates: patch drm.h or add -include util/macros.h to CFLAGS
- swrast-only build verified (stable)

Achievements this session:
- Mesa virgl compilation proven (objects build)
- virgl_screen.c disk cache patched for Redox
- bits/safamily-t.h provided to toolchain
- Linux 7.0 kernel source cached durably
- Virtio-gpu display driver confirmed working in redox-drm
- Credential syscalls fully implemented
This commit is contained in:
2026-05-01 00:30:45 +01:00
parent 2638186ce1
commit 5daa6813ac
+1 -1
View File
@@ -113,7 +113,7 @@ The kernel handles 35 syscalls explicitly. Remaining gaps:
| Component | Status | Detail |
|-----------|--------|--------|
| mesa | 🟡 Builds | llvmpipe software renderer; EGL=on, GBM=on, GLES2=on |
| mesa virgl (QEMU 3D) | 🔴 WIP | Build attempted — virgl_screen.c int-conversion errors; vtest winsys needs `bits/safamily-t.h`; requires Mesa source patches for Redox target |
| mesa virgl (QEMU 3D) | 🔴 WIP | `-Dgallium-drivers=swrast,virgl` compiles all objects; linker fails with `undefined reference to static_assert` in `virgl_drm_winsys.c` via `libdrm/virtgpu_drm.h` include chain. Root cause: Mesa `util/macros.h` `#define static_assert _Static_assert` not picked up before Linux `drm.h` header uses `static_assert()`. Fix: patch `drm.h` to use `_Static_assert` directly, or add `-include util/macros.h` to CFLAGS for virgl winsys. |
| radeonsi (AMD HW) | 🔴 Not built | Not cross-compiled for Redox target |
| iris (Intel HW) | 🔴 Not built | Not cross-compiled for Redox target |
| OSMesa | 🟢 Builds | Off-screen software rendering |