summaryrefslogtreecommitdiffstats
path: root/wiki/Project-Plan.md
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/Project-Plan.md')
-rw-r--r--wiki/Project-Plan.md20
1 files changed, 11 insertions, 9 deletions
diff --git a/wiki/Project-Plan.md b/wiki/Project-Plan.md
index 697e95f..1a10eec 100644
--- a/wiki/Project-Plan.md
+++ b/wiki/Project-Plan.md
@@ -15,7 +15,7 @@
> [`../docs/06-portability/03-device-validation-and-porting-sequence.md`](../docs/06-portability/03-device-validation-and-porting-sequence.md);
> the docs tree wins on disagreement.
-Status: 2026-10-30, tree `master @ b4930168`. Tags: `[done]`, `[active]`,
+Status: 2026-11-09, tree `master @ 4acc81e8`. Tags: `[done]`, `[active]`,
`[ahead]` — the plan's own state vocabulary, distinct from the goal tags.
## 1. How the plan works
@@ -44,7 +44,7 @@ itself:
|---|---|---|---|
| **P0 — Platform** | Emulated vGPU device, GSP boot and GSP-RM emulation, stock guest driver initialisation | Driver-API smoke green (`ALL OK`) = evaluation rung 2 | `[done]` |
| **P1 — First execution (compute)** | Guest CUDA kernels executing on the physical GPU, with engine-authored completions; then hardening | Verified clients + engine-authored completion = rung 3 core; hardening: staged-transfer class, every-boot acceptance, per-guest isolation | `[active]` — execution green; hardening in progress |
-| **P2 — Graphics execution** | OpenGL/Vulkan draw commands executed by the physical 3D pipeline and delivered as readable pixels | The graphics ladder: M-GL1 client context-init executes; M-GL2 `glxgears` non-black; M-GL3 GZDoom GL non-black through the mdev | `[active]` — between M-GL1 and M-GL2; the pixel walls are named |
+| **P2 — Graphics execution** | OpenGL/Vulkan draw commands executed by the physical 3D pipeline and delivered as readable pixels | The graphics ladder: M-GL1 client context-init executes; M-GL2 `glxgears` non-black; M-GL3 GZDoom GL non-black through the mdev | `[active]` — between M-GL1 and M-GL2; the display/KMS and direct-GL channel work is live; the X GLX completion and first rendered frame are the walls |
| **P3 — Sustained and multi-tenant** | Frame rates without assistance; multiple VMs sharing the GPU with measured fairness; soak-stable operation | Graphics M-GL4 (60 fps, no forcing) and M-GL5 (two VMs, two mdevs); CUDA battery + soak; per-guest execution isolation = rungs 4/5 | `[ahead]` |
| **P4 — Breadth** | Video (NVENC/NVDEC), Windows/DirectX guests, live migration, non-KVM hypervisor transports | Per-case bring-up gates plus the matrix's evidence expectations | `[ahead]` |
| **P5 — Scale and portability** | New GPU generations and driver families carried forward; published performance programme | A profile + measured delta per version, validated on hardware; A/B numbers published per the measurement contract | `[ahead]` |
@@ -57,10 +57,10 @@ available (P5 runs across the whole plan).
Ranked, in dependency order:
-1. **Graphics pixels (P2).** Three walls, each with a named next fix: the GL
- client's submissions; program (SASS) delivery plus program-VA mapping; then
- non-black frames. Full detail:
- [`Graphics-Execution.md`](Graphics-Execution.md) §6.
+1. **Graphics pixels (P2).** The client and display stacks execute; the
+ named walls are the X GLX context-creation completion (`_nv018351rm` plus
+ the X DDX/GLX reply), the client kick-slot word, then non-black frames.
+ Full detail: [`Graphics-Execution.md`](Graphics-Execution.md) §6.
2. **Compute hardening (P1).** The staged-transfer class (failure modes proven,
fixes in flight); the every-boot acceptance campaign; per-guest execution
isolation. Detail:
@@ -72,9 +72,11 @@ Ranked, in dependency order:
evidence, and only then moves in the matrix.
Recently closed, as evidence the gates work: the boot-poisoning defect and the
-post-reboot client-stall defect (compute reproducibility); the X/GL wall (the
-X server and GLX run on the emulated vGPU); the engine executing the real GL
-method stream; and the guest Vulkan pipeline running end to end.
+post-reboot client-stall defect (compute reproducibility); the display/KMS
+bring-up (NvKms registers, X settles, GL 4.6 and a real GZDoom GL context);
+the UVM channel-pool tracker; the direct-GL GR release and CE ring discovery;
+the X DDX kick-channel decode; and the guest Vulkan pipeline running end to
+end.
## 4. The gates