docs: record Phase 3 (Redox EGL platform) now wired

The Redox EGL platform is now actually built and linked into
libEGL_mesa.so. EGL_PLATFORM=redox resolves to a real platform
(EGL_PLATFORM_REDOX_REDBEAR = 0x31E0) and the dri2_initialize_redox
dispatch case in egl_dri2.c calls platform_redox.c which probes
/scheme/drm/card0 via loader_get_driver_for_fd (intercepted by
libdrm's redox.patch) and falls back to swrast when no DRM device
is present.

Phases 4/5/6 (iris/radeonsi/Vulkan) were enabled in commit
08f3e71d41 but reverted in e1fc194c06 because iris, radeonsi, and
the Intel Vulkan driver all require libclc which is not ported to
Redox. With Phase 3 wired, the next code blocker is Phase 4 winsys
(Mesa gallium winsys for Redox) which needs the libclc port to
unblock hardware acceleration.
This commit is contained in:
2026-07-25 08:12:19 +09:00
parent 9ff9b4b0e2
commit 45b75ce392
+28 -6
View File
@@ -52,12 +52,34 @@ in code with the following scope:
Xe3, 0xFF20-0xFF3F / 0xFF40-0xFF4F) to `dmc.rs::display_platform_for_device_id`.
Both require DMC firmware; firmware keys for GuC/HuC/GSC added.
Three new tests cover the device-ID lookups and firmware-key strings.
- **Phase 3 (Redox EGL platform):** **deferred**. The original
`src/egl/drivers/dri2/platform_redox.c` was removed in upstream Mesa
~25.0; the existing patches 03/06 are orphaned and cannot apply to
Mesa 26.1.4. A standalone re-creation was attempted but the Mesa
26.1.4 DRI2 API has shifted since. Documented in
`local/patches/mesa/26.1.4-defer-redox-platform.patch` for follow-up.
- **Phase 3 (Redox EGL platform):** **NOW WIRED** (`9ff9b4b0e2`). Re-creates
`src/egl/drivers/dri2/platform_redox.c` for Mesa 26.1.4 (the file
was removed in upstream Mesa ~25.0; the orphaned patches 03/06
were placeholders that no longer apply). The platform:
- Opens `/scheme/drm/card0` via `loader_get_driver_for_fd` (which
goes through libdrm's redox patch to `scheme:drm/`)
- Falls back to swrast when no DRM device is present
- Supports pbuffer surfaces (the only sensible thing on Redox
without a real windowing system)
- Wired through `EGL_PLATFORM_REDOX_REDBEAR` (Red Bear extension
ID 0x31E0) with the HAVE_REDOX_PLATFORM guard
- Build verified: `meson setup` succeeds, `ninja
src/egl/libEGL_mesa.so.0.0.0` links cleanly with platform_redox.c.
- Fixed API mismatches against the 2022-RedoxOS-fork source tree
(`__DRIdrawable` → `struct dri_drawable`; removed
`flush_get_images`/`image_get_buffers` from `dri2_egl_display_vtbl`;
removed `use_invalidate` from loader_extensions; replaced
`dri2_load_driver_dri3` with the implicit load via
`dri2_create_screen`; removed `dri2_setup_extensions` which is
gone in 26.1.4).
- **Phase 4 (Intel iris):** was enabled in commit `08f3e71d41` but
reverted in `e1fc194c06` because both iris and the Intel Vulkan
driver require `-Dwith_clc -> dependency("libclc")`, which is not
ported to Redox. The recipe is back to the working set
(`softpipe,llvmpipe,virgl`).
- **Phase 5 (AMD radeonsi):** same status as Phase 4 — reverted
pending libclc port.
- **Phase 6 (Vulkan):** same status — reverted pending libclc port.
- **Phase 4 (Intel iris):** added `iris` to `-Dgallium-drivers` in
`local/recipes/libs/mesa/recipe.toml`. Compile-side. **Note:** `kmsro`
was removed in Mesa 26.1.4 (no longer a valid option).