diff options
Diffstat (limited to 'STATE-CURRENT.md')
| -rw-r--r-- | STATE-CURRENT.md | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/STATE-CURRENT.md b/STATE-CURRENT.md index 7c43dea..5762b4f 100644 --- a/STATE-CURRENT.md +++ b/STATE-CURRENT.md @@ -1,5 +1,66 @@ # Open-IOV Current State +> **Snapshot: 2026-11-11 ~10:45 (SESSION 156 continued; HEAD `4acac093` == +> `vgpu/master`; working tree carries in-flight kernel work; supersedes the +> 2026-11-10 ~16:45 entry below).** +> The **first non-black GPU-rendered GL output and the first captured video** +> landed on the emulated vGPU. r1764 (`131d44e0`) proved the pbuffer path: the +> probe returns `PROBE rc=0 err=0x0 pixel=ff0000ff` and the off-screen frame +> producer published 40/40 animated 640x480 frames rendered on the physical +> GPU (pbuffer -> sysmem -> kvmfr ivshmem -> host `frame_reader.py`). r1769 +> validated the V6 ring-ledger scrub release (`f6184ac3`): X green 4/4 cycles, +> zero panics/wedges, `gl_frames 500/500` non-black, 454 PPMs, and a 640x480 +> h264 10 fps 45.4 s video +> (`backups/evidence-20261002-victory/r1769/vgpu-gl-animation.mp4`). The +> scrubber release value is the guest's `lastSubmittedWorkId`; the ring ledger +> counts GPFIFO pushes and advances fin forward-only (never all-ones), so the +> fin=12 underflow class is closed. +> +> Commit `4acac093` (V9/V10) resolves the **direct-GL GR ring `0xbeef0100`** +> (beef-family always-probe, per-channel promote backoff, rank-collision +> fallback, parked-candidate eviction). Receipts: `RING-VAS` mapped, RAM scan +> `va=0x4020000 -> pa=0x1ee8000`, 132 `sema-push`, 101 `sema-sw` releases +> advancing `0x1 -> 0x27` (39 frames); glxgears 504-516 FPS with no +> regression; a ~120 s GZDoom run had zero DDX channel-idle timeouts. GZDoom +> now **passes the VBO wall whenever the shared nvClip `modeNum` is even**: +> on a fresh X it logs window -> `GL_VERSION 4.6.0` -> 640x480 -> `I_Init` -> +> `V_Init: allocate screen` with 0 SIGSEGV, and its direct-GL channels +> register with the GR lane live. The SIGSEGV at `0x20` was root-caused +> (coredump + LD_PRELOAD shim + host gdb) to `FFlatVertexBuffer::Copy` -> +> `memcpy(NULL, ..., 640)` because `glMapBufferRange`/`glBufferData` return +> NULL + `0x505` when the client's `__glNVStateInit` fails the modeswitch +> test with an odd `modeNum` (live read: wedged X = 3, fresh X = 2). The +1 +> is the guest kernel's nvKms deferred close (the host completes +> UPDATE -> FINISHED but no control arrives at the +1) - guest-side, not +> module-induced. +> +> **New top wall:** the direct-GL **CE ring `0xbeef0101` (gpfifo=0x4100000) +> never resolves** - `VAS-PROMOTE cand pdb=0x108eb3000 walk rc=-2` plus +> `NOT mapped by any registered VAS` every ~7 s - so GZDoom's CE work never +> executes and the guest wedges ~90 s after `V_Init`. Next: walk all parked +> candidates regardless of owner VAS and/or keep >=2 fresh same-VAS parks. +> **Window/screen pixels remain unproven:** glxgears' window is still black +> (the GLX probe/frames path is a per-window lottery), and X window creation +> wedges on 3/6 boots in an unkillable Xorg spin (`_nv052600rm+0x7b`); one +> cycle also saw 2x "Wait for channel idle timed out". +> +> Walls ranked: (1) direct-GL CE ring `0xbeef0101` resolution (blocks the +> GZDoom game loop); (2) window/screen pixels and the GLX per-window lottery; +> (3) X startup/stability and the VASpace/ScreenInit allocation lottery +> (`_nv052600rm+0x7b`, `0x51`, vmalloc); (4) the DDX 4 GB sysmem +> allocation/OOM (12 GB guest); (5) sustained non-black window frames. +> +> 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): HEAD `4acac093` == `vgpu/master`; working tree +> `M kernel/gsp_sema_service.c` (in-flight campaign work); evidence under +> `backups/evidence-20261002-victory/r1769/`, `r1774/`, `r1775/`; pstore +> empty; no reboot during the check. +> > **Snapshot: 2026-11-10 ~16:45 (SESSION 156 continued; HEAD `df6e71bb`, > tree has in-flight kernel/tool work; supersedes the 06:10 entry below).** > The **first real GPU readback** landed: a guest |
