From 5d72e017ceb99b7d65ff0aafbed351d59497f8c2 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Fri, 30 Oct 2026 13:08:30 -0400 Subject: site: 2026-10-30 wiki refresh - new Project Goals, Performance and Interfaces and Stability pages; GSP explainer expanded (bare-metal behaviour + the two emulation modes); graphics pages (Graphics Execution, OpenGL, Vulkan, DirectX) with two new diagrams; status refresh across 15 pages; canonical docs updated (README status table, purpose-and-scope, performance contract); published to open-iov.org (67 pages, 0 problems) --- tools/site/pages/Documentation.wiki | 13 +++++++++++-- tools/site/pages/Main-Page.wiki | 18 +++++++++++++++--- tools/site/pages/MediaWiki-Sidebar.wiki | 8 ++++++++ tools/site/pages/Open-IOV-About.wiki | 4 ++-- tools/site/titles.json | 11 ++++++++++- 5 files changed, 46 insertions(+), 8 deletions(-) (limited to 'tools') diff --git a/tools/site/pages/Documentation.wiki b/tools/site/pages/Documentation.wiki index 79f2cec..f403842 100644 --- a/tools/site/pages/Documentation.wiki +++ b/tools/site/pages/Documentation.wiki @@ -3,10 +3,11 @@ This is the index of the Open-IOV wiki. If you are new, read '''[[Project Status]]''' first, then '''[[System Overview]]'''. The wiki is a curated public view of the project's maintained documentation; each page names its canonical document in the [https://git.vgpu.io/open-iov.git/ repository]. == Start here == +* [[Project Goals]] — what Open-IOV is for, and the status of each goal * [[Project Status]] — what works today, what is in progress, what is not started * [[Install and First Run]] — build, load, and a stock guest driver in about half an hour * [[System Overview]] — the architecture in one page -* [[FAQ]] — common questions, including "why is nvidia-smi working but CUDA not?" +* [[FAQ]] — common questions, including the current state of CUDA and 3D == Architecture == * [[System Overview]] — principle, layer map, data flows @@ -19,10 +20,18 @@ This is the index of the Open-IOV wiki. If you are new, read '''[[Project Status * [[GMMU Multi-Tenant Protection]] — isolation design for multiple VMs and tenants * [[Physical GPU Backend and Guest Wiring]] — how guest work reaches real hardware * [[Guest Driver Lifecycle: A Field Guide]] — boot to CUDA, with real control IDs and log signatures +* [[Performance]] — the cost model, tracing, gaps and improvement programme +* [[Interfaces and Stability]] — which surfaces are contracts, which may change == CUDA == * [[CUDA Userspace Driver]] — the libcuda.so deep dive -* [[The Execution Frontier]] — the GR compute-launch chain and its current wall +* [[The Execution Frontier]] — the GR compute-launch chain and its leading edge + +== Graphics == +* [[Graphics Execution]] — how OpenGL/Vulkan draw commands reach the physical engines +* [[OpenGL]] — the stock guest GL stack on the emulated vGPU +* [[Vulkan]] — the guest Vulkan pipeline on the emulated vGPU +* [[DirectX]] — the Windows/DirectX target == Firmware interoperability == * [[GSP 570.144W Firmware Analysis]] — how the 28.5 MB image was decompiled and mapped diff --git a/tools/site/pages/Main-Page.wiki b/tools/site/pages/Main-Page.wiki index f91fc17..37a1eea 100644 --- a/tools/site/pages/Main-Page.wiki +++ b/tools/site/pages/Main-Page.wiki @@ -12,13 +12,14 @@ The only new component is one host kernel module (vgsp.ko), which i == Start here == +* '''[[Project Goals]]''' — what Open-IOV is for, and the status of each goal. * '''[[Project Status]]''' — the honest, dated state of the project. * '''[[Install and First Run]]''' — fresh host to a stock guest driver in about half an hour. * '''[[System Overview]]''' — how Open-IOV works, in one page. * '''[[Documentation]]''' — the full index of this wiki. * '''[[FAQ]]''' — the questions we get asked most. -== Project status (2026-10-20) == +== Project status (2026-10-30) == {| class="wikitable" ! Area !! State |- @@ -30,15 +31,24 @@ The only new component is one host kernel module (vgsp.ko), which i |- | CUDA userspace init and the driver-API smoke (ALL OK, 64-byte payload round-trips) || Working |- -| Guest CUDA kernel execution on real hardware || Working — vector-add, matrix-multiply and transformer kernels run green on fresh boots; hardening and breadth in progress +| Guest CUDA kernel execution on real hardware || Working — vector-add, matrix-multiply and transformer kernels run green on fresh boots; the battery's staged-transfer class and per-guest isolation are in progress |- -| OpenGL / Vulkan, Windows guests, multi-tenancy, migration, performance || Not yet — multiple mediated devices (different emulated VRAM sizes) and multiple guests already coexist; per-guest execution isolation is in progress +| 3D graphics: Xorg + OpenGL, Vulkan || In progress — the X server and GLX run on the emulated vGPU, the engine executes real GL method streams, and the guest Vulkan pipeline runs end to end; rendered (non-black) pixels are the current frontier — see [[Graphics Execution]], [[OpenGL]], [[Vulkan]] +|- +| Windows guests, multi-tenancy, migration, performance || Not yet — multiple mediated devices (different emulated VRAM sizes) and multiple guests already coexist; per-guest execution isolation is in progress |} The full story, with evidence and the current wall: [[Project Status]] and [[The Execution Frontier]]. +== Graphics == +* [[Graphics Execution]] — how guest 3D work reaches the physical engines +* [[OpenGL]] — the stock guest GL stack on the emulated vGPU +* [[Vulkan]] — the guest Vulkan pipeline on the emulated vGPU +* [[DirectX]] — the Windows/DirectX target + == Deep dives == * [[System Overview]] — the architecture before any subsystem +* [[Project Goals]] — mission, scope and goal-by-goal status * [[GSP and GSP-RM]] — the firmware interface we emulate * [[The vGSP Execution Plane (vEP)]] — how guest work becomes execution and completion * [[The Host Module (vgsp.ko)]] — the module internals @@ -48,6 +58,8 @@ The full story, with evidence and the current wall: [[Project Status]] and [[The * [[UVM in the Guest]] — unified memory as a correctness oracle * [[Physical GPU Backend and Guest Wiring]] — how work reaches real hardware * [[The Execution Frontier]] — the leading edge, evidence-led +* [[Performance]] — the cost model, tracing and improvement programme +* [[Interfaces and Stability]] — which surfaces are contracts, which may change * [[Guest Driver Lifecycle: A Field Guide]] — boot to CUDA with real IDs and log signatures == Firmware interoperability == diff --git a/tools/site/pages/MediaWiki-Sidebar.wiki b/tools/site/pages/MediaWiki-Sidebar.wiki index 4e6ab70..1653dbc 100644 --- a/tools/site/pages/MediaWiki-Sidebar.wiki +++ b/tools/site/pages/MediaWiki-Sidebar.wiki @@ -1,5 +1,6 @@ * navigation ** mainpage|mainpage-description +** Project Goals ** Project Status ** Documentation ** FAQ @@ -15,6 +16,13 @@ ** UVM in the Guest ** Physical GPU Backend and Guest Wiring ** The Execution Frontier +** Performance +** Interfaces and Stability +* Graphics +** Graphics Execution +** OpenGL +** Vulkan +** DirectX * Project ** Open-IOV:About|About Open-IOV ** Install and First Run diff --git a/tools/site/pages/Open-IOV-About.wiki b/tools/site/pages/Open-IOV-About.wiki index 0195c91..5fcad03 100644 --- a/tools/site/pages/Open-IOV-About.wiki +++ b/tools/site/pages/Open-IOV-About.wiki @@ -1,6 +1,6 @@ {{About message}} -'''Open-IOV''' is an open-source virtualization layer for NVIDIA GPUs. It runs '''stock, unmodified NVIDIA drivers inside virtual machines''' — Linux and Windows — with GPU compute (CUDA), and eventually 3D graphics and video, on hardware you already own: without a proprietary vGPU license, without patching the guest driver, the host driver, the hypervisor or the GPU firmware. +'''Open-IOV''' is an open-source virtualization layer for NVIDIA GPUs. It runs '''stock, unmodified NVIDIA drivers inside virtual machines''' — Linux and Windows — with GPU compute (CUDA) working today, 3D graphics in active development, and video on the roadmap, on hardware you already own: without a proprietary vGPU license, without patching the guest driver, the host driver, the hypervisor or the GPU firmware. == Mission == Make NVIDIA GPUs fully virtualizable, by anyone, for any hypervisor, without modifying NVIDIA software, firmware or hardware. @@ -10,7 +10,7 @@ The only component the project adds is a host kernel module (vgsp.ko