Project UDI Logo


Project UDI
Uniform Driver Interface

Building a Uniform Driver Interface

Welcome to the official home of Project UDI and the Uniform Driver Interface (UDI).


UDI was designed by a group of engineers and software architects from a number of different companies, as an OS-neutral Device Driver Programming Interface (DDPI, but we'll just use the more familiar term, "API"). Rather than a "design by committee" approach that would produce a "kitchen sink" of pieces of existing APIs, UDI was designed as a completely new interface from the ground up, by a team of experts, each with their own unique perspectives.


UDI is also a high-performance, highly adaptable driver API that can be used in an extremely wide range of hardware and software architectures, from microkernels and embedded real-time systems with dedicated I/O processors, to highly-parallel time-sharing systems with drivers in both kernel mode and user mode. In addition, the UDI architecture insulates drivers from platform specifics such as byte-ordering, DMA implications, multi-processing, interrupt implementations and I/O bus topologies.


This website contains the official specifications, introductory documents and presentations, links to sample implementations, and other information about Project UDI. The specifications are complete and ready to implement. The process for extending the specifications to include additional device classes, ABIs, and bus bindings has been specified as well.


Project UDI Policies and Procedures



UDI Encapsulation Diagram