Windows 2000 · Windows XP · in development
VelocityNT
A new display-driver project for Windows 2000 SP4 x86, starting with the S3 Trio64 PCI that Velocity9x started on. Windows XP x86 is the next planned platform; earlier Windows NT releases are a future compatibility effort.
Project goals
What it is aiming for
- A family-based driver, as in Velocity9x: one backend per chip family.
- GDI, DirectDraw, Direct3D, OpenGL and Glide support across multiple GPU families, over time.
- Measure before advertising. Each feature is implemented and measured before it is offered.
- Free software under the GPL, keeping compatibility for future ports of Velocity9x code.
Architecture
An NT display driver, from first principles
Windows 2000 and XP use a different driver model from Windows 98, so VelocityNT is a new driver rather than a port. It is split along the NT model's own lines:
- miniport
- The kernel VIDEO miniport, integrated with videoprt.sys: discovery, modes, memory.
- display
- The kernel GDI display driver, with DirectDraw and later Direct3D integration.
- chipsets
- Hardware-family backends; S3 Trio64 first.
- common
- Portable validation and policy, checked on the host.
- render, opengl, glide
- Planned: a shared render core, a user-mode OpenGL ICD and Glide.
Development status
Milestones
Each milestone has an acceptance gate. "Verified in emulator" means the gate passed in a virtual machine, not on physical hardware, and is not a support claim.
- M0
Build and stub load
Verified in emulatorThe driver builds and its stub loads on Windows 2000.
- M1
First desktop and lifecycle
Verified in emulatorA first desktop, mode pairs, return from the full-screen console, restore, clean-up and reinstall.
- M2
Driver-owned GDI
Verified in emulatorFour modes, palette, cursor, mode transitions and console round trips, checked against reference images.
- M3
Acceleration and DirectDraw
Verified in emulatorGDI fills and copies on the Trio64’s engine with software fallback, and a DirectDraw surface allocator with locks, loss and restore.
- M4
Windows XP SP3
Verified in emulatorThe GDI, console and DirectDraw matrices pass on both Windows 2000 SP4 and Windows XP SP3.
- M5
Physical hardware
In progressBring-up on a physical test machine: PCI discovery, framebuffer, owned GDI, video memory and more modes. Under way; not yet released.
- Next
3D interfaces
PlannedDirect3D, OpenGL and Glide begin on a later, 3D-capable GPU family. The Trio64 has no 3D engine.
Future compatibility
What will be listed, and when
Windows 2000 SP4 x86
First target. Experimental, S3 Trio64 only.
Windows XP x86
Next platform. Emulator gates pass for the Trio64; not released.
Earlier Windows NT
A future compatibility effort. Not started.
VelocityNT results will appear in the hardware database as separate records from Velocity9x's, once they are measured on physical hardware.