The concept of universal Windows drivers allows developers to offer drivers that will work on different platforms, such as embedded systems, tablets, desktop computers, in a single driver package. This driver package contains an INF file and binaries. These drivers work on Universal Windows Platform (UWP) based versions of Windows 10:
- Windows 10 desktop editions (Home, Pro and Enterprise)
- Windows 10 S-Mode
- Windows 10 Mobile
- Windows 10 IoT Core
- Windows Server 2016
Driver files can use KMDF, UMDF 2 or Windows Driver Model (WDM) infrastructure. Universal driver package; consists of a base driver, optional content packs, and optional hardware support application. The base driver contains all kernel functions and shared code. Apart from this, optional content packages may include additional features and adjustments. Typically, a hardware manufacturer writes the base driver and provides the system aggregator (OEM) snap-in packages.
This driver can be installed on all OEM systems after the hardware manufacturer has certified the base driver. Because the base driver can be used on any system that carries a piece of hardware, Microsoft can test these drivers extensively with Windows Insider rather than just making them available to specific devices. The OEM only controls the optional adjustments it offers to its device. Universal drivers are available through Windows Update, while hardware support software is distributed through the Microsoft Store.
Designing a Universal Windows Driver
Four design principles are considered when creating the universal driver package:
- The driver can only be loaded using the descriptive INF file and any additional auxiliary installers, DLL files, etc. not included.
- Edition-specific, OEM-specific, and optional adjustments are separate from the basic driver package, and the basic driver package provides only basic device functionality, regardless of the regulations.
- Hardware support applications with the user interface to be delivered with the universal driver must be preinstalled on the OEM device or packaged as a hardware support application. This application can be a universal Windows platform application or a desktop application. Hardware support app and updates are available through the Microsoft Store.
- Binary files on the universal drive can only call libraries that are included in the universal Windows platform-based versions of Windows 10. INF files can also only use the universal INF syntax.
Using Universal Windows Drivers
This new drive concept has also been used by manufacturers. Intel announced at the beginning of last year that it has started rolling out next-generation drivers for Windows 10 Version 1809. Intel’s Windows driver updates will also be available only according to this new concept, starting in November 2018. When the new generation Windows driver is updated, it will be possible to revert to the old generation driver, but since this is a complex process, it may destabilize the system. This unstable situation occurs especially for graphics drivers.
With this new driver approach, for example, the Intel Graphics Control Panel applet will not be bundled with the driver. Instead, it will be downloaded and installed automatically when your computer is connected to the internet. It is recommended that only the installation methods provided by Intel or your computer manufacturer be used when switching from old drivers to new drivers. Other installation methods using the INF file may cause system stability and serious problems.
While the universal driver concept seems useful to manufacturers, AMD has not yet joined Microsoft’s program.