summaryrefslogtreecommitdiffstats
path: root/STATE-CURRENT.md
diff options
context:
space:
mode:
Diffstat (limited to 'STATE-CURRENT.md')
-rw-r--r--STATE-CURRENT.md51
1 files changed, 51 insertions, 0 deletions
diff --git a/STATE-CURRENT.md b/STATE-CURRENT.md
index 7ff44bb..19661e1 100644
--- a/STATE-CURRENT.md
+++ b/STATE-CURRENT.md
@@ -1,5 +1,56 @@
# Open-IOV Current State
+> **Snapshot: 2026-11-09 ~19:05 (SESSION 156 continued; HEAD `e342bd0f`,
+> tree clean, `vgpu/master` in sync; supersedes the 12:45 entry below).**
+> Since the 12:45 entry the campaign closed the X-side execution machinery
+> and moved the pixel gate to concrete blockers. The X server's deaths were
+> separated from driver bugs: the DDX waits are fixed by `408d67d3`
+> (class-aware display arm - the 0xc57e window class has no NOTIFY bit, so a
+> bound notifier is the arm; bfef `0x8000 -> 0` NvNotification completion;
+> the decoded GL release is applied via `sema_gl_hold_apply`, default off;
+> the 0x8000 sweep is extended to the X DDX's own RM channels), on top of the
+> PMA-scrub deadlock fixes (`3701f985`, `ad93b227`) and the channel-VAS push
+> read (`c3887218`). The residual death is an OOM: the X DDX allocates 4 GB
+> of system pages at startup (kprobe and gdbstub: `nv_alloc_pages` count
+> 1048576 from Xorg), which an 8 GB guest cannot absorb once GZDoom adds its
+> own footprint; the current run uses a 12 GB guest.
+>
+> With the DDX unblocked, GZDoom reached `MAP01` for the first time, but on
+> **Mesa llvmpipe**: the NVIDIA Vulkan ICD fails `vkCreateDevice` and the
+> default OpenGL/EGL path falls back to Mesa (`libEGL ... failed to create
+> dri2 screen`). The emulated-vGPU render path is therefore not the one that
+> rendered; the campaign is forcing GLX (`SDL_VIDEO_X11_FORCE_EGL=0`) on the
+> 12 GB run and has fully decoded the DDX push-buffer wait: the 2D reserve
+> exits only when the GPU-written engine get word advances (`get <= put`) and
+> the kick requires the notifier to be recycled to `0xffff` after completion.
+> A diagnostic host write of the get word released the loop and let GZDoom
+> reach `MAP01`; the kernel levers (publish/advance the get word; recycle the
+> notifier) are the next implementation.
+>
+> Honest state: still no rendered frame through the emulated vGPU and no
+> video; GZDoom's `MAP01` is a llvmpipe datapoint, not the target. Milestone
+> position: between M-GL1 and M-GL2. Current walls, ranked: (1) renderer
+> selection - the NVIDIA Vulkan ICD must create a device or the forced-GLX
+> path must reach glcore; (2) the DDX push-buffer get-word/notifier
+> completion; (3) the 4 GB X DDX sysmem allocation (suspected emulation gap)
+> that forces the 12 GB guest; (4) the direct-GL draws still report
+> `forwarded=0` - decoded and host-completed, not dispatched to the physical
+> GR engine. Estimate (subjective): a first NVIDIA-path frame hours-to-days
+> if these behave like their predecessors; the two-VM GPU-accelerated video
+> after that.
+>
+> CUDA front unchanged (backgrounded while graphics holds the device; its
+> 10-30 status stands): `41343c63` green (`victory_mail` `VADD bad=0` +
+> `STATUS OK`; `vecadd_loop` 100 launches PASS); the fresh-boot battery's
+> red class is D2H-stage with release-discipline fixes staged; the SESSION
+> 143 Vulkan fence regression is not re-measured.
+>
+> Live at check (read-only): host up 20 h (fresh boot 2026-11-08 22:29);
+> `vgsp` loaded (refcount 0) + mdev
+> `d3a9e554-f948-45df-b81b-b5e987b0bee8` + QEMU r1678 live (12 GB guest);
+> `nvidia-smi` reports no supported GPU (the vgsp claim is held); pstore
+> empty; no reboot during the check.
+>
> **Snapshot: 2026-11-09 ~12:45 (SESSION 156; HEAD `4acc81e8`, tree clean,
> `vgpu/master` in sync; supersedes the 2026-11-06 ~19:00 entry below).**
> The graphics front moved from the DS SPH validation gate to a working