What are WHQL Drivers? | TechPowerUp
Date: 2004-05-24 07:08:00
WHQL is an acronym for Windows Hardware Quality Labs.
The Labs provide various test suites for hardware and software including suites which allow device drivers to be tested and ‘signed’. A ‘signed’ driver is deemed stable and ready for use on a specific operating system such as Windows XP and Microsoft allows the vendor to claim that it is «Designed for Microsoft Windows XP». Products that meet the compatibility requirements are also allowed to display Windows logos on product packaging, advertising and other marketing materials, indicating that the product has met the standards of Microsoft and that the product has been designed to work with the Windows operating systems.
Q: How does driver signing work?
A: When a driver is «signed» an encrypted digital signature (key) is attached to the entire installation file set (driver executables, INF files, README etc.) proving that the specific version release has successfully passed the latest WHQL tests. A unique «catalogue» file is then generated which becomes an integral part of the driver installation and this is «recognized» by the operating system. You can read more about WHQL testing, driver signing and digital signatures at http://www.microsoft.com/hwdev/driver/drvsign.asp.
Q: Is driver signing enabled on all of Microsoft’s operating systems?
A: No. Driver signing is implemented in Windows 98, 98 SE, Millennium, Windows 2000, Windows XP and later but it is only enabled (switched on) by default in Windows XP, Windows 2000 and Windows Millennium and later operating systems.
Q: Can I install unsigned drivers?
A: Yes. A warning message will appear that the driver your are installing is not signed. Depending on the administrative settings you can now continue or cancel.
For further information see:
Portions (c) Microsoft Corporation.
Discuss this article in our forums
Nov 16th, 2022 22:43 CET
Sign in / Register
- NVIDIA GeForce 526.98 WHQL
- AMD Radeon 22.11.1 Beta
What’s your latest tech purchase? (13850)
The new SSD is not displayed in windows (5)
What are you playing? (16516)
Where to edit fake GTX1050Ti BIOS to fix memory size? (44)
Looking for a compatible 3060ti GPU bios please (2)
General Cryptocoin Discussion (412)
Upgrade Your Speakers (46)
Please help me choose a B650 board (26)
12900k runs hot (61)
Can low power output in a house damage a computer? (17)
- RTX 4090 & 53 Games: Ryzen 7 5800X vs Ryzen 7 5800X3D Review
- RTX 4090 & 53 Games: Ryzen 7 5800X vs Core i9-12900K Review
- RTX 4090 & 53 Games: Core i9-13900K vs Ryzen 7 5800X3D Review
- Intel Core i5-13600K Review — Best Gaming CPU
- NVIDIA RTX 4090: 450 W vs 600 W 12VHPWR — Is there any notable performance difference?
- Intel Core i9-13900K Review — Power-Hungry Beast
- NVIDIA GeForce 522. 25 Driver Analysis — Gains for all Generations
- Intel Core i7-13700K Review — Great at Gaming and Applications
- RTX 4090 & 53 Games: Core i9-13900K E-Cores Enabled vs Disabled Review
- MSI MEG Ai1000P 1000 W Review — ATX 3.0 & PCIe 5.0 Ready
AMD Announces the $999 Radeon RX 7900 XTX and $899 RX 7900 XT, 5nm RDNA3, DisplayPort 2.1, FSR 3.0 FluidMotion
AMD Cuts Down Ryzen 7000 «Zen 4» Production As Demand Drops Like a Rock
PSA: Don’t Just Arm-wrestle with 16-pin 12VHPWR for Cable-Management, It Will Burn Up
AMD Radeon RX 7900 XTX Performance Claims Extrapolated, Performs Within Striking Distance of RTX 4090
AMD Confirms Radeon RX 7900 Series Clocks, Direct Competition with RTX 4080
AMD Radeon RDNA3 Graphics Launch Event Live-blog: RX 7000 Series, Next-Generation Performance
AMD Radeon RX 6900 XT Price Cut Further, Now Starts at $669
NVIDIA GeForce RTX 4070 isn’t a Rebadged RTX 4080 12GB, To Be Cut Down
WHQL Release Signature — Windows drivers
- 2 minutes to read
Driver packages that pass Windows Hardware Lab Kit (HLK) testing can be digitally-signed by WHQL. If your driver package is digitally-signed by WHQL, it can be distributed through the Windows Update program or other Microsoft-supported distribution mechanisms.
Obtaining a WHQL release signature is part of the Windows Hardware Lab Kit (HLK). A WHQL release signature consists of a digitally-signed catalog file. The digital signature does not change the driver binary files or the INF file that you submit for testing.
Obtaining a WHQL release signature consists of the following:
Testing the driver package with the Windows HCK to verify that the driver package is compatible with Microsoft Windows. Once the HCK is installed, the Driver Test Manager (DTM) is run to test and verify the driver package. For more information, see the Windows Hardware Lab Kit (HLK).
Submitting DTM test logs to the Windows Quality Online Services to obtain a WHQL release signature for the driver package. For more information, see the Windows Hardware Lab Kit (HLK).
For more information about WHQL, see the Windows Hardware Quality Labs website.
Note WHQL does not embed signatures in driver files. You can embed a signature in a driver file using a third-party commercial release certificate. Embed the signature in the driver file before submitting the driver package to WHQL.
Submit and view feedback for
View all page feedback
WHQL test signing program — Windows drivers
- Reading takes 2 minutes
The Windows Hardware Quality Labs (WHQL) test signing program supports signing drivers that will subsequently be submitted for WHQL release signing. Independent Hardware Vendors (IHVs) participating in this program may submit driver packages for signature verification.
Install the driver from the WHQL test-signed driver package using the following steps:
To properly install the test-signed driver, secure boot must be disabled on the computer. Cm . See Disable Secure Boot.
The testsigning boot configuration option must be set on the test machine. See «Setting the testsigning boot configuration option».
Upon reboot, the system will display a watermark in the lower right corner of the screen indicating the testing mode, Windows SKU number, and Windows build information.
Install a hardware developer center (HDC) signed driver.
For information on how to obtain a WHQL Test Signature, email [email protected] and include «Test Signature» in the subject line.
Disable secure boot
If BitLocker is enabled on the boot drive, it must be suspended before Secure Boot is disabled in UEFI. For more information, see the BitLocker Protection Pause section for third-party software updates.
To install a WHQL test certificate, secure boot must be disabled. For more information, see Disable Secure Boot.
Setting the boot configuration parameter testsigning
Microsoft Root Testing Authority is accepted if signing verification is enabled by setting the testsigning boot configuration option on the computer on which the test-signed driver package is to be installed. This setting is enabled by following these steps.
Open an elevated Command Prompt window. To open an elevated command prompt window, create a desktop shortcut to cmd.exe, select and hold (or right-click) the cmd.exe shortcut, and select command «Run as administrator «.
In an elevated command prompt window, run the following commands to configure for test signed drivers and reboot the system:
bcdedit /set testsigning on shutdown /r /t 00
What does whql mean.
Signed and unsigned drivers
Almost every person, when working on a computer, one way or another, faces the need to install, reinstall or remove a driver. Moreover, some do not even know that they are doing this — as component manufacturers are trying to protect users from such terrible words and make sure that the installation takes place in a beautiful shell.
For example, on the disks that came with your PC or laptop, there must have been some kind of drivers: for a video card, for a motherboard or for a sound card, etc. What is this very driver?
is a program that allows the operating system to access the details of a computer. Each device in the computer, whether it is a large motherboard or a very small USB port, requires its own driver to work.
And there is one factor that everyone really dislikes — each OS needs its own driver, and each device also needs its own driver. That is, on this basis there is a little confusion. To make life easier for an ordinary user, manufacturers of devices and components are trying to release drivers for all popular operating systems after the release of a new device. And the creators of operating systems, in turn, are trying to make support for as many devices as possible in their system. Also, device manufacturers are trying to support some functions on standard drivers — for example, a video card will work for you without drivers, but in order for you to be able to take advantage of all the features, you need to install a native driver for the video card.
Why do I need to update drivers?
Drivers need to be updated — because in the latest drivers, developers often implement new functionality, fix errors in the driver, optimize old functions. Sometimes drivers do not need to be updated — this happens when new drivers introduce new problems into the operation of the device: this happens, but rarely.
What is a native driver?
Native drivers are those that have been released specifically for your device by the manufacturer of that device. It happens that you install, for example, a driver from a monitor to a View Sonic monitor and everything works fine for you. This is rather an exception to the rule and you need to install only native drivers.
What is a WHQL driver?
WHQL — Windows Hardware Quality Lab — this means that these drivers have been tested for compatibility with the operating system. However, remember that this does not mean that this driver will be better for Windows than any other.
What are the types of drivers?
I would conditionally divide drivers into three large groups: system device drivers, expansion card drivers, and peripheral device drivers.
System device drivers
— usually these are drivers of those devices in which it is better for the user not to get involved: a power supply controller, a processor.
Expansion card drivers
are drivers for sound cards, TV tuner, etc. These drivers are best updated.
are drivers for those devices that are connected to the computer through various connectors, in particular via USB.
With this package, you get the «power and strength» of the entire range of NVIDIA products: games, platforms, laptops, workstations, multimedia or mobile devices. All drivers are WHQL certified.
The UDA or NVIDIA Unified Driver Architecture guarantees users forward and backward compatibility with all generations of NVIDIA GPUs, which ultimately makes it much easier to replace the video subsystem (no need to reinstall drivers).
NVIDIA ForceWare Driver Key Features:
- provide amazing video and 3D performance for all applications;
- UDA — Unified Driver Architecture;
- revolutionary systems for graphics, video, audio, communication, information storage and security;
- supports products for more than 10 unique operating systems;
- Continuous support and updates for all NVIDIA products.
Installing the NVIDIA drivers is quite simple: save the package anywhere on your PC and remember its location. Then find the saved file and run. You agree with everything that the NVIDIA installation wizard offers you. And that’s it! Drivers installed!
In fact, NVIDIA Forceware WHQL is a recommended update for all GeForce users, all those gamers whose sleepless nights are spent playing such popular PC gaming titles as Diablo III, Battlefield 3, Blacklight: Retribution, Mass Effect 3, The Elder Scrolls V: Skyrim and others. This selection of drivers from NVIDIA does a great job of improving the features and performance of GeForce. Also note that the NVIDIA drivers are certified by the Microsoft WHQL laboratory.
Let’s talk about the digital signatures of drivers. To begin with, let’s try to figure out what it is.
The digital signature is a kind of driver passport. This passport contains information about the manufacturer of this driver; information about the hardware for which it is made; notes about the changes made. The driver signature must be verified by a certificate authority. All this gives confidence that this driver was released by the specified manufacturer and that all changes were made by him as well.
How are unsigned drivers different from signed drivers?
Unsigned drivers do not have any of these. And this means that you do not know who created this product, and indeed, does it work at all? And even if it works, can it be trusted? There is no full confidence that an unsigned driver is working and safe for a computer. Therefore, it is better to install only signed drivers.
How can I check for a driver signature?
You can check the presence of a signature using . After downloading it for the first time, check the box Verify WHQL digital signatures
. Also on the following tabs there are fields Signature
, which, depending on the presence of a signature, takes the value Yes
No Diagnostic tool
allows you to check only the presence of a signature, and even then not for all drivers. The most complete information about driver signatures can be obtained using tool File Signature Verification
. To run it, type in the Run menu
Then in the window that opens, click Start
. A little later, we will see a window with a list of unsigned drivers. After looking at everything carefully, close this window and go to the initial window, where we select Advanced,
followed by View log.
Here you will see the most complete information about all the drivers of your system, about their manufacturers, the presence or absence of a digital signature and other important information.
So be careful when installing a new driver. By installing a signed driver, you don’t have to worry. But before installing an unsigned driver, think again. Better yet, look again. I am sure that you will find an analogue, but already signed.
So now you have a problem if you are writing a library that will be used by both old school code written with wchar_t defined as an alias for unsigned short and new school code written with wchar_t as a separate internal type . What datatype do you need to use for string parameters?
This is a translation of The sad history of Unicode printf-style format specifiers in Visual C++ .
Windows implemented Unicode earlier than most other operating systems. As a result, Windows solutions to many problems are different than those made by those who waited for the dust to settle¹. The most notable example of this is the use of Windows UCS-2 as the Unicode encoding. It was then the encoding recommended by the Unicode Consortium because Unicode 1.0 only supported 65″536 characters². The Unicode Consortium changed its mind five years later, but by then it was too late for Windows, which had already released Win32s, Windows NT 3.1, Windows NT 3.5 , Windows NT 3.51 and Windows 95 — all of which used UCS-2³.
But today we’ll talk about printf-style format strings.
This is a translation of If FlushInstructionCache doesn’t do anything, why do you have to call it, revisited .