O que é um driver WHQL? WHQL é a sigla para Windows Hardware Quality Lab, um programa de testes da Microsoft onde fabricantes de hardware submetem seus drivers para uma bateria rigorosa de avaliações.
Os testes WHQL verificam diversos aspectos do driver:
- Funcionalidade: O driver cumpre corretamente as funções para as quais foi projetado?
- Estabilidade: O driver causa travamentos, congelamentos do sistema ou outros problemas de estabilidade?
- Compatibilidade: O driver funciona corretamente com diferentes versões do Windows e configurações de hardware?
- Segurança: O driver contém vulnerabilidades de segurança que podem ser exploradas por malware?
- Performance: O driver funciona de maneira eficiente, sem prejudicar o desempenho do sistema?
Quando o driver é aprovado nos testes, ele recebe uma assinatura digital da Microsoft. Todos os drivers distribuídos via Windows Update são WHQL.
Inclusive algumas placas-mãe têm a opção “Windows WHQL” que deve ser habilitada SOMENTE se o usuário for realizar o teste de WHQL:
Embora o uso de drivers WHQL seja fundamental, alguns fabricantes podem optar por não submeter seus drivers ao processo de testes WHQL. Isso acontece com drivers específicos para hardwares novos ou drivers customizados que tenham funcionalidades extras.
Desde o Windows 8, computadores e notebooks que têm com Windows pré-instalado (OEM) vêm configurados com o Boot Seguro em que o Windows carrega somente drivers com assinatura WHQL.
Ela fez isso principalmente para evitar problemas de estabilidade e desempenho no Windows.
Quando uma empresa cria um novo periférico, ela também precisa criar um driver para que ele possa ser identificado e utilizado no Windows.
Como a Microsoft não tem nenhum controle sobre a qualidade desse driver, há muitos anos empresas disponibilizam drivers instáveis e com bugs que causam todo tipo de problema no sistema operacional – inclusive a Tela Azul da Morte (BSOD).
A época do Windows 95 foi a Era Medieval dos drivers, pois o sucesso estrondoso desse sistema operacional fez com que empresas do mundo todo lançassem rapidamente todo tipo de periférico e acessório para esse sistema operacional.
Para acabar com a instabilidade de drivers bugados, a Microsoft criou um programa de testes de drivers em que o fabricante enviava seu periférico e o driver para o laboratório de testes em Redmond.
Ali o periférico era exaustivamente testado em diversos computadores durante vários dias, e se esse driver funcionasse perfeitamente sem causar nenhum problema no Windows, ele era certificado pela Microsoft. Esse driver começou a ser conhecido pelo nome WHQL.
Naquela época os fabricantes não faziam questão que seus drivers fossem WHQL, pois o procedimento do próprio teste era meio arcaico: além de alguns fabricantes de periféricos precisarem enviar até 25 unidades para Redmond para a realização do teste, o próprio teste poderia demorar até 60 dias, algo que desestimulava empresas asiáticas que criavam periféricos novos a cada dia.
Para saber se um driver é WHQL, abra o Gerenciador de Dispositivos e dê um duplo-clique no periférico. Ali clique na aba Driver e no botão Detalhes do Driver.
Se for um driver HWQL, aparecerá “Microsoft Windows Hardware Compatibility”:
Há muito tempo o teste de drivers para obtenção do WHQL é automatizado e deve ser realizado pelo próprio desenvolvedor de hardware. O teste é bastante rigoros, onde o fabricante baixa uma ferramenta da Microsoft e um certificado digital específico que devem ser instalados em todos os computadores que serão utilizados para testar o driver, e essa ferramenta realiza automaticamente todos os testes necessários.
E no final desses testes, a própria ferramenta envia para os servidores da Microsoft o resultado deles para validação do driver, aonde um driver só se torna WHQL se passar em todos os testes.
Todos os drivers nativos do Windows e aqueles que vêm via Windows Update são WHQL justamente para garantir que eles não vão causar nenhum problema.
Para você ter uma ideia da dificuldade de um driver de vídeo se tornar WHQL, o teste automatizado que o fabricante precisa realizar com esse tipo de driver inclui uma sequência de 1.525 testes específicos para garantir que esse driver é estável e pode ser utilizado em todas as edições do Windows e Windows Server.
O teste específico para drivers de placas de vídeo dura quase 30 horas, envolvendo diversos testes. Entre eles:
- Reprodução de vídeos com diferentes codecs como o H264, HEVC, H.265 (que suporta vídeos com resolução de até 8K) e VP9
- Compatibilidade com DirectX
- Testes detalhados em 2D e 3D com renderização e texturização de objetos
- Envio de sinal para displays externos
- Teste de stress que dura 4 horas para garantir a estabilidade do driver em uma situação extrema
Mesmo passando no teste do WHQL, isso não indica que o driver seja infalível.
Em 2010 a NVIDIA disponibilizou oficialmente o driver GeForce 196.75 que tinha um bug no sistema de controle refrigeração: ao invés de aumentar a velocidade de rotação da ventoinha quando a placa esquentava, esse bug fazia com que a ventoinha diminuísse a velocidade até parar por completo.
Esse problema não foi detectado pelo teste do WHQL, pois o problema não era relacionado ao driver de vídeo em si. O bug estava relacionado ao controle de velocidade da ventoinha, que é algo que o teste de WHQL não testa.
Infelizmente muitos usuários que tinham acabado de instalar esse driver tiveram as suas placas queimadas depois de jogarem por 20 minutos. A NVIDIA removeu o driver do seu site e sugeriu que os usuários utilizassem a versão anterior 196.21, mas o estrago já estava feito para todos aqueles que apressadamente instalaram a versão nova.
Embora isso não seja comum, isso apenas ressalta o risco que o usuário desesperado corre ao atualizar drivers assim que eles são disponibilizados, seja manualmente ou através dos atualizadores de drivers.