- Windows Hardware Lab Kit
- Windows Hardware Compatibility Program
- Download Windows Hardware Compatibility playlist
- Download Windows HLK Filters
- Download Windows HLK Supplemental Test Content
- Supplemental Content for Media, Graphics, Mean Time Between Failures (MTBF), and Private Cloud Simulator Tests
- Media
- Graphics
- Mobile
- Download HLK Offline Documentation
- Windows Hardware Lab Kit (HLK) Tests for USB
- Prerequisites
- Hardware requirements for running USB tests in the HLK
- HLK test selection for USB
- Recommended Windows HLK tests
- What’s new in the Hardware Lab Kit
- What’s new in this release
- Breaking changes
- Server support
- Updated test content
- Known issues this release
- HLK install fails with a database-related error
- HLK does not update existing SQL database with latest security fix
- What’s new in previous releases
- Virtual Hardware Lab Kit (VHLK)
- Improved playlist support
- Support for ARM64 desktop
- Nano Server testing
- Improved diagnosability of failed HLK tests
- Exporting failed HLK jobs
- Support for Mobile testing
- SQL Server 2012 Express SP2
- Scenario Testing
- Playlists
- Windows Hardware Compatibility Program
- OS Support
- Merge .hckx Packages
- Virtual machine support
- Partial packaging
- Rate this Test
- Preview pane
- 64-bit SQL
Windows Hardware Lab Kit
The Windows Hardware Lab Kit (Windows HLK) is a test framework used to test hardware devices for Windows 10 and all versions of Windows Server starting with Windows Server 2016. To qualify for the Windows Hardware Compatibility Program, your product must pass certain tests using the Windows HLK.
This guide provides information about the tests that are included in the Windows Hardware Lab Kit, and instructions on how to build a test environment, automate driver and system testing, and create a submission package required to participate in the Windows Hardware Compatibility Program.
If you’re developing for Windows 10 or qualified versions of Windows Server, you must use the correct version of the HLK, as listed in the following table. Using the correct kit helps you ensure that the drivers and the system you develop are certified as compatible with Windows 10 or Windows Server.
Certify using the Virtual HLK (VHLK)! The VHLK is the entire Hardware Lab Kit pre-installed and pre-configured on a VHDX, ready to boot as a virtual machine. Use the VHLK to save setup time, quickly stand up a controller, and run Windows Hardware Certification from a virtual machine.
To certify. | Download. |
---|---|
Windows 10, version 20H2 Windows 10, version 2004 | Windows HLK, version 2004 or Windows Virtual HLK (VHLK), version 2004 |
Windows 10, version 1909 Windows 10, version 1903 | Windows HLK, version 1903 or Windows Virtual HLK (VHLK), version 1903 |
Windows 10, version 1809 or Windows Server 2019 | Windows HLK, version 1809 or Windows Virtual HLK (VHLK), version 1809 |
Windows 10, version 1803 | Windows HLK, version 1803 |
Windows 10, version 1709 | Windows HLK, version 1709 |
Windows 10, version 1703 Windows 10, version 1607 | Windows HLK, version 1703 |
Windows 10, version 1511 Windows 10, version 1507 Windows Server 2016 | Windows HLK, version 1607 |
Windows HLK only supports testing on Windows 10, Windows Server 2016, and Windows Server 2019 systems. For testing previous versions of Windows, use the Hardware Certification Kit for Windows 8.1.
Windows Hardware Compatibility Program
To qualify for the Windows Hardware Compatibility Program, your product must pass certain tests using the Windows HLK. For guidance on which kit to use for compatibility certification, see the Windows Hardware Compatibility Program and the Windows Hardware Certification Blog.
Certification for Windows Server 2016, Azure Stack, SDDC, and later versions of these programs and qualifications must meet the Windows Hardware Compatibility Requirements as stated in the respective version of the documentation; must use the corresponding version of the HLK with matching playlist and supplemental content to generate logs; and must follow policies as stated in the Windows Server Policy document. Questions about the Azure Stack, SDDC programs, or how to submit the results for solution validation should be directed to the appropriate Microsoft technical account manager or partner management contact.
Download Windows Hardware Compatibility playlist
Get the official Windows Hardware Compatibility playlist so you can run the Windows HLK tests that ensure your hardware meets the requirements for compatibility with Windows 10 and Windows Server.
Download Windows HLK Filters
When there is a problem in either a Windows HLK test or in the operating system itself that causes certification tests to fail incorrectly, we create an errata that allows partners to bypass the problematic test. Most errata use filters to automatically filter the failure from the submission results. Filters are applied within Windows HLK Studio.
Download Windows HLK Supplemental Test Content
Supplemental Content for Media, Graphics, Mean Time Between Failures (MTBF), and Private Cloud Simulator Tests
Supplemental test content downloads are required for some tests related to graphics, media, and mean time between failures (MTBF). Download these files to complete Windows HLK testing in these areas.
Required downloads for tests that use supplemental content:
Media
Graphics
Starting with Windows HLK, version 2004, the HLK_GRFX_FOD package is no longer needed for Graphics testing. It is still required for testing previous versions of Windows (Windows 10 , versions 1909 and earlier).
Mobile
Download HLK Offline Documentation
This documentation is also available in .chm format for offline use.
Windows Hardware Lab Kit (HLK) Tests for USB
The Windows Hardware Lab Kit (HLK) tests can be used for additional testing of Systems, USB host controllers, hubs, and devices. These tests cover basic device functionality, reliability, and compatibility with Windows.
Prerequisites
Before you start running the logo tests make sure you meet the following requirements:
To run these tests you will need at least two computers: a test server and a test client.
The test client must have the latest version of Windows.
The test client must have EHCI and xHCI controllers, either integrated or as add-in cards. The controllers must expose user-accessible root ports (no integrated hubs).
Download the Windows HLK to the test server from Windows Hardware Lab Kit Downloads.
For detailed information about how to install and use the Windows HLK, see Windows HLK Getting Started.
Hardware requirements for running USB tests in the HLK
To run the HLK tests, you need:
Your host controller (either integrated or as add-in cards), hubs, or device to certify.
Open Device Manager on the test client and make sure that the USB controllers that you want to use expose user-accessible root ports (no integrated hubs).
USB-IF-compliant external SuperSpeed hub to evaluate system compatibility. We have tested HLK tests with these hubs:
Complete set of requirements are given here:
HLK test selection for USB
The USB tests that apply to your system, host controller, hub, or device are automatically selected in HLK Studio.
After you follow steps 1-5 in Windows HLK Getting Started, make sure that:
- In step 5,the correct device is selected in the Selection tab of HLK Studio.
- In step 6, all the tests that apply to your device are displayed in the Tests tab in HLK studio. To run these tests, you must select the test in the left-hand check box and click Run Selected. The tests for USB testing are listed in the following section of this document.
For information about scheduling tests, see steps 2-6 in Windows HLK Getting Started.
Recommended Windows HLK tests
In addition to all of the USB tests that are automatically selected in HLK Studio, we recommend running the Fundamentals tests as well with a MUTT or SuperMUTT connected to system, controller or hub under test. For system submissions, these are the System Fundamentals (SysFund) Tests, for a controller, hub or device submission these are the Device Fundamentals (DevFund) Tests.
What’s new in the Hardware Lab Kit
What’s new in this release
Breaking changes
With each new release, anyone who builds tools that utilize the HLK object model should rebuild those tools to use the latest versions of the object model files. In addition, be sure to always use the same version of each object model file (i.e. do not mix object model files from different kit releases).
Server support
HLK version | Compatable server OS versions |
---|---|
1903 | Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 |
1809 | Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 |
1803 | Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 |
1709 | Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 |
1703 | Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 |
1607 | Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 |
Windows Server 2019 is not supported as a host OS for the 1809 or 1903 HLK Controller. However, it is supported as a client OS.
Updated test content
Test content updated for better coverage for 1809 testing, across various architectures.
Known issues this release
HLK install fails with a database-related error
This error can occur when uninstalling and then reinstalling HLK. When the new instance of HLK is installed, one of the following error messages appears when installing and rolls back
- There is already an object named DSLinkType in the database.
- The database database_name already exists.
- Failed to create SQL database.
When uninstalling HLK, database uninstall can fail if the database is locked by another process. The HLK uninstall reports success, but the database is left behind. To recover, follow these steps:
- From an elevated command prompt, run SQLCMD -E
- From the SQL Shell command line, enter the following:
- ALTER DATABASE WTTIdentity SET SINGLE_USER WITH ROLLBACK IMMEDIATE
- DROP DATABASE WTTIdentity
- GO
- ALTER DATABASE HLKJobs SET SINGLE_USER WITH ROLLBACK IMMEDIATE
- DROP DATABASE HLKJobs
- GO
- Verify that C:\Program Files\Microsoft SQL Server\MSSQL(sql version).MSSQLSERVER\MSSQL\DATA contains no files starting with WTTIdentity or HLKJobs
- Install the HLK
HLK does not update existing SQL database with latest security fix
If your existing SQL Server database is unpatched, installing the HLK will not update the database with the latest security fixes. В To patch SQL Server: Option 1: Uninstall SQL Server before installing the HLK. The HLK will install SQL Server and the most recent hotfix as of RTM. At this point, you may use Windows Update to keep your SQL Server instance updated. Option 2: Manually patch your existing SQL Server before HLK install.
What’s new in previous releases
Virtual Hardware Lab Kit (VHLK)
New for 1809! The Microsoft Virtual Hardware Lab Kit (VHLK) is the entire Hardware Lab Kit pre-installed and pre-configured on a VHDX, ready to boot. Use the VHLK to save setup time, quickly stand up a controller, and run Windows Hardware Certification from a virtual machine. For more details, check out the VHLK Getting Started Guide.
- Ready to boot and use
- Run the HLK Controller as a virtual machine
- Host the HLK Controller virtual machine on developer machines instead of dedicated Controller hardware
Improved playlist support
The process for loading and using playlists has been improved and simplified. For more information, see Step 6: Select and run tests in the Getting Started guide
Support for ARM64 desktop
HLK tests can now target ARM64 desktop machines.
Nano Server testing
HLK now includes tests for Nano Server.
Improved diagnosability of failed HLK tests
The Results tab now indicates when a test fails due to a system crash. The tab also shows information from the associated Bug Check along with a link to help documentation for further information.
See the following topics for more information:
Exporting failed HLK jobs
You can now export a failed job and re-run it on a machine that does not have the HLK Client installed. For more information, see Exporting a Failed HLK Job>.
Support for Mobile testing
Mobile devices running Test and Health images are now supported for testing with the HLK. For more information, see HLK Proxy Client Getting Started Guided.
SQL Server 2012 Express SP2
The HLK setup process now installs SQL Server 2012 Express SP2 if no other SQL installation is present on the controller at the time of installation.
Scenario Testing
Test levels have been replaced by Development Phases to better align with the hardware and system development cycle. Tests are organized by their applicability during Bring Up, Development and Integration, Reliability, and Tuning and Validation.
Playlists
Playlists describe a collection of tests and can be created from the HLK Studio and Object Model to define custom test passes.
Learn more about playlists in the Getting Started Guide.
Windows Hardware Compatibility Program
Hardware certification is no longer required. Instead, the Windows Hardware Compatibility Program is an optional program in which you can participate. For more information, see Windows Hardware Compatibility Program.
- Compatibility Playlist — Levels are no longer used to identify tests required for the Compatibility Program. To create a Compatibility Program test pass, download the official Hardware Compatibility Program Playlist and apply to your HLK project.
- Windows Hardware Certification blog -This blog provides up-to-date news about the Windows Compatibility Program. Including Compatibility Playlist update announcements.
OS Support
The Hardware Lab Kit supports Windows 10 testing only. Use the Hardware Certification Kit for testing downlevel operating systems.
Merge .hckx Packages
To support unified driver submissions, results from HCK and HLK projects can be merged together using HLK Studio. When merging, open the HLK project or package first, and then merge in the HCK package(s).
Virtual machine support
The HLK Controller now supports installation and execution in a virtual machine. When configuring your virtual machines, ensure the virtual machine meets the minimum requirements for the HLK Controller.
Partial packaging
You can now package a subset of test results within an HLK project, tailoring the packaging experience to key scenarios. This allows you to capture, share, and diagnose test failures without having to run tests individually in a new project.
To use this feature, select one or more tests from the Test tab, right-click the selection, and choose Create Partial Package of Highlighted Tests. Note that this package will be saved as a partial package (.hlkp). This extension will be deprecated in future HLK releases.
Rate this Test
You can now provide feedback on tests in the HLK. To rate tests, you must opt-in to CEIP. To rate a test, right-click on the desired test in the Results Pane, and select Rate This Test.
Preview pane
The Preview pane in File Explorer provides project and package information including Name, Creation Date, Targets, and Type.
To use the Preview pane in File Explorer, choose the View menu group, and then choose Preview pane. You can then choose any .hlkx file to view details of the package.
64-bit SQL
The HLK now supports 64-bit SQL editions exclusively. Previously, the HCK supported only 32-bit SQL editions exclusively.