From 21e0d611b5efbdcf6a14520c3294d6a78bb32220 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Mon, 9 Nov 2026 19:05:16 -0500 Subject: wiki: 2026-11-09 evening refresh - X DDX waits fixed; GZDoom reaches MAP01 on llvmpipe Refresh Project Status, Graphics Execution, OpenGL, Execution Frontier, Execution Plane, Physical GPU Backend, Host Module, System Overview, Project Goals, Project Plan and the FAQ, plus STATE-CURRENT and the Main Page: the X DDX waits (class-aware display arm, 0x8000->0 notification completion, decoded GL release) are fixed; GZDoom reaches MAP01 on Mesa llvmpipe; the NVIDIA renderer path, the DDX get-word/notifier completion, the DDX 4 GB sysmem footprint and physical dispatch of the GL draws are the pixel walls. Published to open-iov.org. --- wiki/OpenGL.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'wiki/OpenGL.md') diff --git a/wiki/OpenGL.md b/wiki/OpenGL.md index cc35fe6..08f26fa 100644 --- a/wiki/OpenGL.md +++ b/wiki/OpenGL.md @@ -12,7 +12,7 @@ > [`../docs/03-architecture/02-guest-stack-and-cudasw.md`](../docs/03-architecture/02-guest-stack-and-cudasw.md) > (the guest stack). The docs tree wins on disagreement. -Status: 2026-11-09, tree `master @ 4acc81e8`. Tags: `[live]` observed with the +Status: 2026-11-09, tree `master @ e342bd0f`. Tags: `[live]` observed with the stock guest driver; `[wip]` partial; `[wall]` current blocker; `[target]` defined success state. @@ -76,12 +76,16 @@ Rated honestly, against the milestone ladder in the plan: | `glxinfo -B` reports the NVIDIA renderer (OpenGL 4.6.0, driver 570.144, direct rendering) | `[live]` | | The X driver's RC-watchdog channel registers and its notifier is authored | `[live]` | | GZDoom obtains a real GL context; windowed GZDoom reaches renderer startup | `[live]` (menu/frames black) | +| GZDoom reaches `MAP01` on Mesa llvmpipe (not the emulated vGPU path) | `[wip]` | +| X server survives the GZDoom run on a 12 GB guest (the DDX's 4 GB sysmem allocation forces the size) | `[live]` | | X server's `0xC597` graphics section captured and decoded | `[live]` | | Engine executes a launch built from the captured section (real `sm_75` SASS retired) | `[live]` | | Verbatim 3D method-stream replay retired by the engine, no MMU fault | `[live]` | | Direct GL client: device-init gate handled; client channels allocate; readback path returns with no GL error | `[live]` | | Direct GL client submits and retires its per-frame draws (GR `0xbeef0100`, CE `0xbeef0101`/`0xbeef0102`); DDX kick channel decoded | `[live]` | -| X GLX context-creation completion and the client kick-slot word | `[wall]` | +| NVIDIA Vulkan ICD creates a device, or forced GLX (`SDL_VIDEO_X11_FORCE_EGL=0`) reaches glcore | `[wall]` | +| DDX push-buffer get-word publish and notifier recycle | `[wall]` | +| Physical dispatch of the direct-GL draws (`forwarded=0`) | `[wall]` | | Non-black rendered frames through the emulated vGPU | `[wall]` | | 60 fps sustained, no forcing (M-GL4) | `[target]` | @@ -104,14 +108,15 @@ non-black through the mdev), M-GL4 (60 fps, no forcing), M-GL5 (two VMs, two mdevs), M-GL6 (split-screen video). The project sits **between M-GL1 and M-GL2**: the interface and execution work is done — the display/KMS stack registers, X settles, the client submits and retires its GR/CE channels, and -the engine authors stores — and the remaining gate is the X GLX -context-creation completion plus the client kick-slot word before the first -rendered frame. +the engine authors stores — and the remaining gates are the NVIDIA renderer +path (Vulkan ICD or forced GLX), the X DDX get-word/notifier completion, and +physical dispatch of the client's draws before the first rendered frame. ## 6. What is not claimed * No OpenGL frame from the emulated vGPU has produced real rendered pixels - yet; every capture so far is black. + yet; every capture so far is black. GZDoom reaching `MAP01` on Mesa + llvmpipe is not a rendered frame from the emulated vGPU. * No frame-rate or latency numbers. * The published two-VM GZDoom demo videos used the labelled `virtio-gpu`/ `virgl` path, not the emulated vGPU. -- cgit v1.2.3