summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--STATE-CURRENT.md64
1 files changed, 34 insertions, 30 deletions
diff --git a/STATE-CURRENT.md b/STATE-CURRENT.md
index 2eb02d61..d9ba69a 100644
--- a/STATE-CURRENT.md
+++ b/STATE-CURRENT.md
@@ -1,37 +1,41 @@
# Open-IOV Current State
-> **Snapshot: 2026-10-24 ~20:40 (the host-side operand-resolution gap
-> is closed and the shadow anchor is content-gated — r635 tracks REAL
-> written content per shadow page (`r->content` on every landed write)
-> and uses it as the operand anchor: a client's own H2D bytes that took
-> the shadow lane anchor their span and arm a launch-level content
-> anchor, so an answerless output candidate (the buffer the client never
-> wrote) is served from a bounded synthetic page set (1024/candidate,
-> 4096/launch, three-quarter-table guard) instead of failing the launch
-> closed; trusted pin/walk/ledger answers keep the r633 budgets and no
-> longer arm the cross mint, and a synthetic page can never re-anchor.
-> The first draft of the change self-fed on its own minted pages and
-> filled the shared shadow table on a green boot (6144/8192 measured,
-> later clients crawled behind it); the content gate restored zero
-> minted pages on a green boot and the historical green shape. Fresh
-> r636 boot battery: 9 OK / 2 clean FAIL / 1 HANG — the best pass count
-> repeated with strictly better failure modes: streams_events converted
-> its historical hang into a clean client-visible `CUDA_ERROR` via the
-> auto-fault, and streams2's red chain is now measured end-to-end (its
-> H2D destinations are replay-denied, the GR forward defers on the CE
-> stream-order watermark, the launch is refused as degenerate and the
-> refusal faults cleanly; `STREAMS n=32768 bad=65534`). Remaining: the
-> streams2 CE-order chain (a copy-pipeline class, not the fill), the
-> first-wait crawl class (smiley/memset2d spin in libcuda before
-> submission), used-boot allocation exhaustion (roundtrip/inplace_scale
-> `CUDA_ERROR out of memory` after thirteen clients), then 15/15 + soak.
-> GL runs on the guest GPU (next wall = the FBO class); the Looking
-> Glass frame path is proven end-to-end (guest CUDA render -> KVMFR
+> **Snapshot: 2026-11-06 ~01:00 (the guest's REAL Vulkan pipeline now
+> renders on the emulated vGPU: the first `VKFRAME seq=1..3` /
+> `VKFRAME_DONE frames=3 640x480 saved=3` / `VKFRAME_IDLE ok` runs
+> end-to-end — instance, device, allocation, image/view/buffer/shader/
+> descriptor/pipeline/command-buffer/fence, queue submit, fence release
+> and frame readback all complete with a zero-touch service pipeline.
+> The chain of fixes behind it: the push-stream parser now accepts the
+> driver's real shapes (the `0x0001fff0` SET_SUBDEVICE_MASK bracket and
+> zero NOP gaps — the class that silently skipped every large push), the
+> fence fold (`sema_gr_ahead`) sweeps the pre-built GPFIFO continuation
+> beyond GP_PUT and applies the submit's INC-5 RELEASE groups
+> forward-only, the host-triggered VAS page-directory anchoring verifies
+> the parked `COPY_SERVER_PDES` candidate against a content-located ring
+> pair so the walk resolves every push VA before its first read, the
+> COMPR+2MB VidHeap class is downgraded at the ioctl so
+> `vkAllocateMemory` succeeds, the SEC2 scrubber's finish payload is
+> authored by the service, the `0x9096` VidHeap enumeration and the
+> `FIFO_GET_ENGINE_CONTEXT_PROPERTIES` ZCULL geometry are answered, and
+> the C5C0-section -> vendor-launch translator found the real dispatch
+> (a `SET_INLINE_QMD_ADDRESS_B` + 64-word run building QMD `0x4b85f00`,
+> grid 40x30, plus the C5B5 copy-out). The frames are still BLACK: the
+> driver delivers SASS/descriptors through its MME program + inline-to-
+> memory stream (decoded in full; the payload rides the next GPFIFO
+> entry as a source-view call), and the utility/copy-channel
+> `LOAD_INLINE_DATA` arm that must materialize those writes is the
+> current frontier (arbitration + `sema-utildec` witness landed). CUDA
+> meanwhile: the best fresh-boot battery is 8 pass / 3 fail / 1 hang
+> (the Vulkan work does not regress CUDA; always battery-first on a
+> fresh boot); GL runs on the guest GPU (next wall = the FBO class); the
+> Looking Glass frame path is proven end-to-end (guest render -> KVMFR
> ivshmem -> host PNG frame); two guests with 512M + 1GiB emulated VRAM
> coexist at boot level; the 0.9.9 release-preview demo video v1 is
-> recorded and synced to files.vgpu.io. Frontier = 15/15 + multi-round
-> soak, events A/B, GZDOOM (GL/Vulkan), two-guest concurrent CUDA,
-> longevity/video v2, Windows guests).**
+> synced to files.vgpu.io (the updated video with GZDOOM working is the
+> next publish). Frontier = non-black frames, then Xorg -> GZDOOM
+> (GL/Vulkan) -> KVMFR/LG frames -> CUDA 15/15 + soak -> the perfect
+> 1.0.0 video -> Windows guests).**
> This is a dated public
> status page, not live state; it is refreshed on every progress check. Live
> working notes are maintained outside this repository; the public