Windows OS

WINDOWS UNIVERSAL DRIVERS: A GREAT IDEA WHOSE TIME HAS (ALMOST) COME

WINDOWS UNIVERSAL DRIVERS: A GREAT IDEA WHOSE TIME HAS (ALMOST) COME

Although Windows 10 is a modern operating system, There are bits and pieces of the Windows architecture that could only be described as legacy. Windows device drivers, for example, have adhered to the same basic structure for many years.

At its most basic, a legacy Windows device driver consists of an INF file and a SYS file. The SYS file is the main component of the device driver. It is actually a Dynamic Link Library (DLL) file that has been given a .SYS file extension. The INF file is a text file that tells Windows how to set up the device. You can see what these files look like in the figure below. When you install a device driver, the INF file gets copied to the %SYSTEMROOT%\INF folder. There is usually a separate sub folder for each device driver. The .SYS file is copied to %SYSTEMROOT%\System32\Drivers folder.

It is worth noting that there may be other files associated with a legacy device driver, such as a driver catalog (.CAT) file. If a driver catalog file is used, then its job is to store a hash for each of the files within the device driver. Windows can use this hash information to verify that the driver files have not been tampered with. Modern driver files may also have localization files (.MUI files) that set the driver’s language. Those files are stored in the %SYSTEMROOT%\System32\Drivers\EN-US folder, or the folder that corresponds to your language of choice. Keep in mind that this is by no means a comprehensive list. Drivers can incorporate additional file types.

Late last year, Microsoft finally began to transition away from these legacy device drivers into something called the Universal Driver Architecture. The concept of a Universal Driver Architecture is loosely based on Microsoft’s approach to applications. Windows 10 runs legacy Windows applications, but it also runs a newer type of application. These applications have been rebranded many times over the years, and have been called by names such as Metro apps, Modern apps, and Universal apps.

Universal applications are designed to allow a developer to create a single application, and compile it to run on a variety of platforms. Similarly, universal drivers allow developers to create a single driver package that works across a variety of systems.

Universal applications and universal drivers also have another similarity to one another. As I’m sure you know, one of the things that differentiates universal applications from legacy applications is that universal applications are typically acquired and installed through the Windows Store, whereas legacy applications can conceivably come from just about anywhere. The same basic principle is also going to apply to universal drivers. According to Microsoft, “universal drivers are distributed through Windows Update, and hardware support apps are distributed through the Store”.

There are several different components that make up universal device drivers. Somewhat surprisingly, Microsoft has not abandoned the use of .INF files. Directives within an .INF file are still used for installing device drivers.

The drivers themselves consist of a base driver, an optional component package, and an optional hardware support app. The base driver is the heart and soul of the device. The base driver can exist in Kernel Mode Driver Format (KMDF), User Mode Driver Format, or it can be based on the Windows Driver Model.

The component package is optional, and allows for driver customizations to be made, or for additional settings to be implemented. Typically it is the hardware manufacturer that creates the base driver. The base driver includes all of the code that is necessary to make the hardware work. In contrast, a component package might be provided by an OEM or by a systems integrator as a way of adding additional functionality or branding to the device driver. It is also possible that an OEM or a systems integrator might use a component package as a way of forcing a driver to use a particular configuration that does not interfere with other hardware within the system.

A universal device driver can also include an optional hardware support app. Not every piece of hardware has or needs a hardware support app. Hardware support apps are used in situations in which the device manufacturer wants to give the end user a high degree of control over the hardware’s configuration.

These types of hardware support applications are especially popular among video card manufacturers. In the next figure for example, you can see an example of the Nvidia Control Panel. Nvidia bundles its control panel with graphics drivers in an effort to give users a way of adjusting various display related settings.

Right now universal hardware drivers are still relatively new. Many hardware vendors are still issuing legacy drivers for their products. Windows 10 will continue to support these legacy drivers for the foreseeable future. Just as most of the world still uses legacy Windows applications, it is going to take a long time for universal drivers to catch on.

Universal drivers: Plan carefully before migrating

The best advice that I can give you regarding the adoption of universal drivers is to take your time, carefully plan your migration to the new driver type, and most importantly be sure to thoroughly test any drivers that you are considering deploying. According to several sources, deploying a universal driver is a semi-permanent process. If you install a universal driver and find that the driver does not work correctly, there is no supported method for reverting the system back to using a legacy driver. You would likely have to restore a backup, or roll back a snapshot.

Because of this, I would recommend waiting for the Universal Driver Architecture to mature before making an effort to replace your device drivers. I haven’t heard of anyone having major problems with universal drivers, but given the difficulty of a system rollback, a bit of caution is certainly warranted.

So, that’s all in this blog. I will meet you soon with some other stuff. Have a nice day !!!

Recommended content

RODC Installation Guide- Step by step guide to install read only domain controller

RODC Filtered Attribute Set

Installing and configuring a RODC in Windows Server-2012

How to find the GUID of Domain Controller

Group Policy Understanding Group Policy Preferences

Group Policy Verification Tool GPOTool Exe

Group Policy Health Check on Specific Domain Controller

What is Netlogon Folder in Active Directory

How to Create Custom Attributes in Active Directory

How Can I Check the Tombstone Lifetime of My Active Directory Forest

How to Determine a Computers AD Site From the Command Line

How to Check the Active Directory Database Integrity

How to Check the Active Directory Database Integrity

Disabling and Enabling the Outbound Replication

DFS Replication Service Stopped Replication

What is Strict Replication Consistency

The replication operation failed because of a schema mismatch between the servers involved

Troubleshooting ad replication error 8418 the replication operation failed because of a schema mismatch between the servers

How to export replication information in txt file

Repadmin Replsummary

Enabling the outbound replication

Guys please don’t forget to like and share the post. You can also share the feedback on below windows techno email id.

If you have any questions feel free to contact us on admin@windowstechno.com also follow us on facebook@windowstechno to get updates about new blog posts.

How useful was this post?

Click on a star to rate it!

As you found this post useful...

Follow us on social media!

Was this article helpful?
YesNo

Vipan Kumar

He is an Active Directory Engineer. He has been working in IT industry for more than 10 years. He is dedicated and enthusiastic information technology expert who always ready to resolve any technical problem. If you guys need any further help on subject matters, feel free to contact us on admin@windowstechno.com Please subscribe our Facebook page as well website for latest article. https://www.facebook.com/windowstechno

Leave a Reply

Back to top button