summaryrefslogtreecommitdiffstats
path: root/wiki/Host-Module.md
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/Host-Module.md')
-rw-r--r--wiki/Host-Module.md32
1 files changed, 28 insertions, 4 deletions
diff --git a/wiki/Host-Module.md b/wiki/Host-Module.md
index acf98ed..6ffbed1 100644
--- a/wiki/Host-Module.md
+++ b/wiki/Host-Module.md
@@ -6,7 +6,7 @@
> source: [`../docs/03-architecture/06-host-module-and-hybrid-model.md`](../docs/03-architecture/06-host-module-and-hybrid-model.md);
> the docs tree wins on disagreement with this page.
>
-> Status: 2026-10-12, tree `master @ 2f066727`. Tags: `[live]` observed with
+> Status: 2026-11-11, tree `master @ 4acac093`. Tags: `[live]` observed with
> the stock guest driver; `[wip]` demonstrated live, being productized;
> `[gated]` implemented default-off behind supervised gates; `[wall]` known
> blocking limit; `[target]` designed, not built; `[planned]` roadmap.
@@ -106,9 +106,33 @@ Proxying through the distribution host driver has **no callable entry point
from kernel context**, so the module **owns the device and runs its real GSP
firmware as the resource-manager server**, with emulation as the control
plane. CE copies, release and fault relay are implemented default-off and
-verified live [gated]; GR execution is the open wall [wall] — a forwarded
-launch reaches the front-end; the inline launch-descriptor install is unobserved
-([`Execution-Frontier.md`](Execution-Frontier.md)).
+verified live [gated]; forwarded guest CUDA launches execute on the engine
+with engine-authored completions relayed to the guest; the guest's real GL
+draws now forward and execute on the physical GR engine (`work_gr
+backend_ok=5-7`, `backend_timeout=0`), the DDX 3D replay reads back a real
+pixel, and graphics method streams execute in three shapes,
+including the direct GL client's own GR/CE channels
+([`Execution-Frontier.md`](Execution-Frontier.md),
+[`Graphics-Execution.md`](Graphics-Execution.md)).
+
+The same plane carries the display/modeset path [live in the campaign
+configuration]: the module serves the guest display engine's push-buffer
+channels (core `0xc57d`, window `0xc57e`, immediate/window `0xc57b`), authors
+the notifier/`UPDATE` completion with a class-aware arm (the window class has
+no NOTIFY bit; a bound notifier is the arm) and a force-retry for a deferred
+event, completes the X DDX's `0x8000 -> 0` notifications, and lets
+nvidia-modeset/NvKms register (`/dev/dri`), X settle and GLX clients obtain a
+real GL context. The display-capability seam is parameterised. For the DDX's
+own 2D push buffers the remaining host levers are publishing/advancing the
+GPU-written engine get word and recycling the notifier to `0xffff` after
+completion. The DDX 3D replay renders and reads back a pbuffer pixel
+(`pixel=ff0000ff`), the off-screen frame path produced 500/500 non-black
+animated frames and a 45.4 s video, the RM write-lock holder (Xorg in the
+DDX vidheap scrub wait) is fixed (`df6e71bb`), and the direct-GL GR ring
+`0xbeef0100` now resolves with advancing releases (`4acac093`). The remaining
+GL gap is the direct-GL CE ring `0xbeef0101` (it never resolves, so the
+client's CE work does not execute) and the window/screen present path, which
+currently wedges X or stays black.
## 6. Debug parameters