AMD and Intel now support Microsoft’s UWD technology, so what are these and why should you want them?

Microsoft has been working towards a lofty goal – compartmentalise Windows into separate pieces so that you can put together an operating system like LEGO. Microsoft’s ideals have worked their way into every part of Windows development, right down to their approach to drivers for future platforms – you’ve heard of the Universal App Platform (UWP), Microsoft’s approach to a write-once-run-anywhere platform that works across different device types, with different inputs, and with different screen sizes. The Universal Windows Driver (UWD) is a similar idea, but it directly affects gamers because it’s the future of driver packaging for AMD, Intel, and NVIDIA.

So what is UWD?

UWD is a common platform for drivers to be installed on compatible hardware, with other optional driver components and features being made available through the Windows Store. There are three parts to a UWD release: the base driver, the optional component packages such as the HSA, and an optional support app for reaching out to the developers. Base drivers have been included in Windows in the past, and they were called “stub” drivers because they only enabled very basic functionality. Stub drivers are, however, generic and largely pointless. They can’t do anything worthwhile and they lack the required interfaces that the full driver software has.

The base drivers in a UWD release are different because they are fully functional, and written so that they are compatible with a wide range of hardware that is similar. In the same way that AMD’s Radeon Settings software currently supports GPUs from modern Polaris cards all the way to the Radeon HD 7970, the base driver enables hardware compatibility and basic features for a wide range of hardware in a standardised manner. There are also base drivers that are componentised by the OEM; the base driver will enable basic functionality, and additional customisations made by the OEM may affect the driver’s functionality when it is accessed by the driver’s control panel.

The optional components are what comes next, what Microsoft calls the “Hardware Support App” (HSA, rather confusingly). This is in the form of the driver interface, what you already know as the Intel Graphics Control panel, Radeon Settings, or GeForce Settings on Windows PCs. In AMD’s and Intel’s case, this is a hardware support app, designed to take advantage of the features exposed by the base driver and offer the users the ability to change settings and customise things to their liking, like the display resolution.

The separation provided here allows for two things previously impossible. First, the base driver can be updated with new features, bug fixes, or optimisations under the hood that the HSA has no idea exist, which has obvious benefits for those concerned with stability and security. The base driver can be delivered automatically through Windows Update, and it won’t mess up your existing installation or your custom settings. Secondly, it allows for the HSA to be updated on its own schedule. This seems counter-intuitive until you take into account that writing drivers for a new platform takes months, even a year before they’re ready for alpha and beta testing. The teams working on the base driver can do so without needing to worry about the UI implementation. The base driver can ship with full functionality, and it’s up to the HSA team to expose those features through updates to the support app, which can be done on its own schedule.

There are other benefits as well. If you have drivers that need signing by Microsoft, that can be done without needing to hold a release back while it’s being tested if you need to ship optimisations for new games – just package those as part of the HSA. If you have a raft of products that are all similar, you can no develop for your whole stack at once, and use the HSA to expose specific features for that platform as needed. After all, all Universal Windows Drivers are technically WHQL releases as well – the base drivers can be tested by Microsoft in their labs and by the Windows Insiders, and certified by Microsoft themselves to work in their test cases. It’ll be up to AMD, Intel, and NVIDIA to provide the additional functionality that’s needed.

The future?

It’s not difficult to see what the road ahead looks like for Microsoft and its vendor partners. UWD will help the industry move towards better stability on the desktop, and companies can follow Microsoft’s example in leeching from the best ideas from the agile development process and use them to their benefit. Several companies were already using UWD before Intel made their announcement of a UWD release on 28 November 2018. Eventually, we’ll see NVIDIA join the fray with GeForce Experience.

Where things are heading is towards a greater reliance on the Store for things like driver options and basic applications. In the past when setting up a new machine I just headed to to download the drivers manually. In the future I might not have to – I could just grab the HSA app from the Store once the base driver is loaded from Windows Update. That’s the kind of convenience that the Windows Store should have provided from the beginning, and it’s good to see Microsoft work to make it better instead of abandoning it.

This is also how AMD is expected to support all their devices in the coming year. The company announced yesterday that they would be merging the drivers for both mobile and desktop systems into a single release, and this is likely what they were planning to do in the future to support the Raven Ridge platform. Merging drivers is usually a mammoth task, but not if you approached the design of the driver to make it modular.

Getting started

The base drivers for Radeon hardware aren’t available yet, so the Radeon Settings Lite app won’t work right now. In addition, the available features in the Lite version of the app compared to the full desktop install aren’t identical, so it may take some time before all features are ported over.

If you’re on a supported Intel system (Skylake and newer), there’s a bit of a process to go through to get the new drivers. First, you’ll have to uninstall the drivers in Apps and Features, but do not reboot. Then click here to grab the latest shipping version of the DCH driver. When the driver is installed, reboot your system. Once you’re back at the desktop, follow this link to go to the Windows Store and install the Intel Graphics Control panel. There may be teething issues with the DCH drivers, and the Windows Store might not recognise that you have them, in which case a clean install might solve the problem. You’d only want to go through the pain of setting this up if you wanted to test out the new drivers and see how the update process works.