MoCoLinux 0.2.0 — the graphics card, and Windows 7
Linux runs inside Windows with no hypervisor, sharing the processor with it. 0.1.0 made that work; 0.2.0 gives it the graphics card.
OpenGL runs on real hardware
The guest's virtio-gpu driver now reaches an unmodified virglrenderer bound to a real WGL context on the Windows side. Applications send OpenGL, the card executes it.
moco-gl firefox
moco-gl glxgears
glxgears: 132 fps on a GeForce GT 730. Firefox renders rather than falling back. Every desktop shortcut already goes through moco-gl; the seed installs VirtualGL and mesa-utils to make it work.
Nine bugs in the device layer stood between 0.1.0 and this. The last one was the interesting one: virglrenderer asks for its first context with shared == false, and honouring that put it in its own WGL share group — so every object it created was invisible to every guest context that came after. glBindBuffer bound nothing, glMapBufferRange failed, and the window painted black while the GPU dutifully rendered into a namespace nobody could see.
What limits it now is delivery, not the card. Readback runs at 160 fps; frames reach the screen over the guest's network connection at 48. That is the next thing to fix.
Windows 7
Windows 7 x64 joins XP x64 and Server 2003 x64. The installer arranges test-signing during the restart it already performs, and tells you it did — the driver will not load otherwise, and you get a Test Mode watermark afterwards.
ssh
The guest runs sshd. Give the network daemon a redirection — colinux-slirp-net-daemon -R -r tcp:2222:22 — and connect to port 2222 on the Windows machine.
Installing
Extract the zip, run mocolinux-setup.exe, restart when it asks. It finishes by itself: boots Linux and has it build a complete Manjaro system on a fresh disk image, over your network. Fifteen minutes and about 2.5 GB.
Read READ-ME-FIRST.txt before deciding something is broken — in particular, restart Windows between sessions. Guest RAM has to come from Windows in unbroken 32 MB runs, and one run's worth of churn leaves physical memory too fragmented to supply them.
This is a kernel driver that swaps CPU context with Windows, at version 0.2.0. A bugcheck is possible. Do not put anything you care about on it.
SHA-256 of the zip:
d21769c16d2e0a2e9e88e223d7d2347157d06a519b637231f43e88d43e1b472a
GPL v2.