Ir para conteúdo

Drivers do Windows A FUNDO - Parte 1


Mensagem Recomendada

  • Administrador

O artigo abaixo foi atualizado em 2019 com informações adicionais a atualizadas deste vídeo publicado em 2017:

Essa é a primeira parte do artigo Drivers do Windows A FUNDO, um tema que está dividido em duas partes.

Nessa primeira parte eu abordo em detalhes atualização de drivers e porquê programas de atualização de drivers que ficam residentes na memória são completamente desnecessários, além dos problemas graves que podem acontecer quando usuários afobados teimam em instalar um novo driver assim que ele está disponível. Esse artigo complementa o artigo “A praga dos otimizadores de PC”.

A segunda parte desse artigo aborda temas adicionais:

ok-baboo-pro.png  Drivers WHQL, que são os drivers certificados pela Microsoft
ok-baboo-pro.png  A pasta DriveStore
ok-baboo-pro.png  Eliminação de drivers antigos para recuperar espaço em disco Backup de drivers
ok-baboo-pro.png  Por que a data dos drivers é de 2006? ... entre outros assuntos.

Drivers do Windows

Primeiramente, o que é um driver? A grosso modo, um driver é um software que permite que o sistema operacional se comunique com um periférico ou um aplicativo, embora na prática existem diversos tipos de driver.

Em termos de uso, existem dois tipos de drivers:

User-mode, que é um driver com acesso limitado que permite que uma aplicação acesse funções de drivers mais restritas no kernel, como por exemplo drivers de impressora.

Kernel-mode, que é um driver mais poderoso que acessa funções importantes do sistema operacional, da memória, aplicativos e segurança, como por exemplo drivers utilizados por antivírus ou quando algum programa precisa ser executado como Administrador.

Além disso, a imagem abaixo resume os tipos de drivers, mostrando que o Function Driver (que é o principal driver criado pela fabricante), está no meio dessa cadeia de drivers, sendo que ele depende de outros drivers:

Drivers do Windows

Bus Driver é um driver importantíssimo necessário para controladoras detectarem os periféricos soldados na placa-mãe ou instalados em algum slot.

Function Driver é o principal driver de um periférico, sendo na prática o DRIVER que todos falam para baixar do site do fabricante

Filter Drivers, que permite adicionar funcionalidades ao Function Driver, que é o driver principal.

E como isso tudo funciona?

Quando você instala o Windows, ele instala os drivers básicos para o próprio sistema operacional funcionar, e depois que o sistema operacional é carregado pela primeira vez, ele detecta e instala os drivers da imensa maioria dos periféricos e componentes do PC.

O Windows consegue fazer isso mesmo sem estar conectado à internet, pois ele suporta nativamente dezenas de milhares de periféricos que são automaticamente instalados. Isso é possível pois durante a instalação do sistema operacional, o Windows cria a pasta \System32\DriverStore que tem cerca de 2 GB, armazenando ali os drivers utilizados pelo Windows.

Os drivers que constam na pasta DriverStore são focados puramente em integridade e compatibilidade, que são os quesitos necessários para o periférico funcionar perfeitamente.

Exemplo simples: se nessa primeira fase de detecção de hardware o Windows detecta uma placa de rede sem fio gigabit instalada no computador, ele procura dentro da pasta DriverStore um driver que seja compatível com o chipset utilizado nessa placa, independentemente do fabricante da placa.

Ele faz isso pois um único driver pode funcionar em diversas placas diferentes, se o chip que controla o funcionamento dessas placas for o mesmo - e se esse driver for encontrado e instalado, o periférico (que nesse caso é a placa de rede sem fio gigabit) funciona mesmo sem funcionalidades extras:

Drivers do Windows | Function driver

E como esse driver foi exaustivamente testado e é certificado pela Microsoft como driver WHQL (detalhado na segunda parte desse artigo), ele é íntegro e estável, ou seja, ele não vai causar nenhum problema no Windows.

Feito isso, com a placa de rede sem fio gigabit funcionando no nosso exemplo com um driver compatível, o Windows então acessa via internet o banco de dados de drivers da Microsoft e eventualmente baixa e instala um driver mais atualizado ou específico para essa placa de rede.

Isso também é bastante comum com placas de som, em que o Windows detecta e instala um driver que permite o funcionamento básico da placa de som, para depois baixar o driver completo que permite controles adicionais, efeitos 3D e outras funcionalidades extras.

E quando o Windows faz isso para todos os componentes e periféricos instalados, o usuário tem um Windows estável, rápido e eficiente, sem bugs nem travamentos, e trabalha feliz da vida no seu computador. Isso é o que acontece na imensa maioria das vezes, mas obviamente existem exceções, pois nem sempre o Windows encontra o driver correto, e nesse caso o usuário precisa instalar os drivers – e aí é que começam os problemas.

Um dos maiores principais problemas são drivers para notebook, pois algumas vezes o fabricante decide utilizar um periférico ou componente com uma configuração específica, impossibilitando que um driver padrão funcione ali: nesse caso somente o driver do fabricante funciona perfeitamente. Infelizmente isso é relativamente comum em placas de vídeo em notebooks.

Quando isso acontece, a solução mais indicada é em primeiro lugar o usuário baixar e instalar o driver diretamente do site do fabricante do periférico, ou, em segundo lugar, instalar o driver que vem em um CD ou mini-CD que eventualmente vem junto com o periférico.

A terceira opção que muitos fazem é utilizar um programa de atualização de drivers, que faz o que o Windows não conseguiu fazer: detectar o periférico e instalar o driver correto para ele. Esses programas de atualização de drivers são muito úteis em dois cenários específicos:

O primeiro cenário é justamente quando o Windows não consegue detectar e instalar corretamente o periférico, aonde o programa de atualização de driver acessa seu próprio banco de dados de drivers (que é muito maior e mais completo do que o da Microsoft), e baixa dali um driver compatível.

O segundo cenário é muito utilizado por profissionais de TI em ambientes aonde não há conexão com a internet, aonde uma solução tipo DriverPack Offline Full (cuidado ao instalá-lo para evitar PUPs, pois o que interessa mesmo é apenas a pasta drivers dentro dele) que permite baixar gratuitamente um aplicativo e vários GB de drivers em que você pode copiar para um pendrive ou HD externo e instalar os drivers que o Windows não reconheceu sem a necessidade de se conectar à internet.

E agora que esses programas de atualização de drivers mostraram claramente a sua utilidade, o problema do usuário foi resolvido pois todos seus periféricos estão funcionando e esses programas devem ser desinstalados - mas é aí que começam os problemas.

Programas de atualização de drivers

Nos últimos anos as empresas que criaram esses programas de atualização de drivers aproveitam a crença que de muitos que acreditam que se o driver é mais recente, então ele é melhor e vai deixar o computador mais rápido - algo errado!

Para piorar, muitos tratam seu computador como um objeto de adoração que precisa ser cuidado, mimado, observado, protegido e atualizado a todo instante, esperando ansiosamente pelo momento mágico em que aparecerá o Santo Graal dos drivers que vai milagrosamente dobrar o desempenho do seu computador nos jogos - e eles não pensam duas vezes antes de instalar qualquer programa que prometa aumentar a performance do hardware existente, por mais inútil que ele seja.

Drivers do Windows | Driver milagroso: jogos 2x mais rápidos!

Essas empresas que vendem programas de atualização de drivers aprenderam a aplicar o mesmo golpe dos "otimizadores de PC" que eu abordei em outro artigo, ao enganar os usuários fazendo-os acreditar que eles precisam desse tipo de aplicativo, convencendo até mesmo a pagarem por isso.

Para piorar, jornalistas, gamers e youtubers que não entendem a fundo sobre Windows (e muito menos sobre o funcionamento interno dos drivers), incentivam os internautas a fazerem a mesma besteira que eles fizeram: manter na memória algum “atualizador de driver”, inclusive mostrando como utilizar versões piratas deles. Pior que isso, impossível.

Baboo comentaEmbora seja triste, eu confesso que eu me divirto quando eu leio que alguém atualizou um driver qualquer e posta infantilmente que depois disso o computador "ficou um pouco mais rápido", "ficou mais leve" ou "teve um ganho". Na prática essas conclusões abstratas e imaginárias caem por terra diante de uma rápida análise da lista de correções do driver (o changelog) que mostra que o driver instalado não teve NENHUMA mudança, correção ou melhoria relacionada a desempenho ou performance.

Muitas vezes a versão mais nova de um driver contém somente a correção de uma palavra que estava escrita errada em algum idioma, alguma alteração relacionada ao gerenciamento de energia, alguma atualização na telemetria do próprio driver, ou até mesmo a remoção de algum componente antigo que não será mais utilizado.

Lamentavelmente essas opiniões de ganho de performance sem nenhum critério técnico ajudam a eternizar a crença completamente incorreta que todo driver deve ser imediatamente atualizado.

E como toda regra tem exceção, existem algumas poucas situações aonde o ganho de desempenho é real em alguns cenários. A principal delas é obviamente a atualização do driver da placa de vídeo, que pode alterar drasticamente a performance de jogos e aplicativos gráficos.

Drivers de vídeo - exemplos de 2019

Drivers de vídeo

Isso acontece pois os componentes gráficos envolvidos em aplicações (não somente jogos) que utilizam maciçamente a placa de vídeo evoluem muito mais rápido do que os demais componentes do computador, seja através das novidades do DirectX ou OpenGL, dos algoritmos de compressão de imagem e vídeo, do uso mais inteligente dos cores do processador, do aproveitamento maior da GPU, resultando em imagens e vídeos cada vez mais realistas sendo criados cada vez mais rápido.

Essa constante evolução permite que um novo driver de vídeo resulte em melhor desempenho em determinados jogos ou aplicativos, permitindo inclusive a criação de drivers específicos para algumas situações.

Na NVIDIA, um bom exemplo disso é o driver GeForce 378.78 que permite que o jogo Rise of the Tomb Rider funcionando sob DirectX12 tenha um desempenho 33% maior em relação aos drivers anteriores, e o NVIDIA AutoCAD Performance Driver (um driver de vídeo específico para usuários de versões antigas do AutoCAD que utilizam suas placas de vídeo QUADRO) que permite executar algumas tarefas até 10x mais rápido em comparação com o driver comum.

A AMD também criou o driver Crimson ReLive for BlockChain Compute que permite minerar moedas virtuais muito mais rápido do que utilizando o driver comum da AMD.

Embora isso mostre que um driver possa melhorar MUITO o desempenho de um jogo ou aplicação, isso é um evento muito mais raro do que você imagina pois no mundo real a realidade é outra.

Exemplos de 2019

Eu vou usar como exemplo as informações do changelog dos últimos 4 drivers disponibilizados pela NVIDIA:

Drivers do Windows | GeForce drivers 2019

Dia 13 de fevereiro de 2019 a NVIDIA lançou o driver mais recente: o GeForce 418.91 que corrigiu problemas relacionados ao Control Panel da NVIDIA e um erro de log quando a opção Digital Vibrance era modificada, além de melhoria na performance do jogo Witcher 3 quando o usuário utiliza duas ou mais placas de vídeo com G-SYNC habilitada.

No dia 04 de fevereiro de 2019 ela disponibilizou o driver GeForce 418.81 que corrigiu um problema do GeForce Experience com app UWP do Twitter, além de solucionar problema de flickering em alguns jogos com G-SYNC habilitado e problemas com monitores G-SYNC.

No dia 15 de janeiro de 2019 a NVIDIA lançou o driver GeForce 417.71 que corrigiu um bug quando uma GPU era conectada a três monitores, solucionou um problema de suspensão com monitores Display Port, além de corrigir problemas no notebook MSI GT83, tela preta no monitor BenQ XL2730 quando ele funcionava a 144Hz e corrigiu um bug que podia causar travamentos no jogo Shadow of the Tomb Raider em modo DirectX 12

E no dia 12 de dezembro de 2018 a NVIDIA lançou o driver GeForce 417.35 que corrigiu um erro no Painel de Controle, além de corrigir um bug nos jogos Battlefield V, Hitman 2 Silent Assassin e alguns jogos 3D em notebooks.

Agora que você sabe o que mudou de um driver para o outro:

pergunta.png Qual deles você acha que vai deixar o seu Windows mais rápido?
pergunta.png Qual desses drivers aumentou o desempenho no seu jogo ou em qualquer atividade gráfica?
pergunta.png Qual deles fez com que seu computador "ficou mais leve"?
pergunta.png Qual desses drivers aumentou a produtividade de alguém que trabalha com PC o dia todo?

Resposta: NENHUM deles, pois NADA neles foi alterado em relação a ganho de performance.

Se um gamer estiver usando um driver de vídeo de três meses atrás e instalar qualquer uma dessas quatro versões novas do driver, o Windows dele NÃO VAI ficar mais rápido, o jogo dele NÃO VAI ficar mais rápido, e ele ainda corre o risco de instalar um driver que tenha algum bug novo que não existia no driver antigo dele.

O mesmo acontece com usuários que utilizam notebooks antigos cujos drivers são de 2011 ou 2012, e ficam preocupados por não existirem drivers mais recentes. Vamos pensar de uma maneira prática: se o periférico está funcionando perfeitamente, não gera nenhum erro ou problema, então realisticamente não há motivo para se desesperar em atualizá-lo.

Se você quer um computador mais rápido, simplesmente compre um SSD ou melhore o hardware ao invés de achar que algum driver vai resolver a lentidão dele.

Problemas com drivers novos são bastante comuns: a Intel disponibilizou o driver 19.1.0 para WiFi que causava tela azul, um driver de áudio da Realtek causava tela azul em computadores da HP, alguns drivers de controladoras USB 3.0 são reconhecidamente instáveis (eles funcionam em alguns computadores, mas não em outros), e também temos o conhecido caso da GeForce 196.75.

O caso da GeForce 196.75

Driver GeForce 196.75 queimou algumas placas de vídeo

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.

Resultado: 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 (sugerindo os internautas retornarem à versão 196.21), mas ele já havia causado sérios problemas para todos aqueles que (apressadamente)  instalaram ele.

Esses são apenas alguns exemplos de drivers problemáticos que foram disponibilizados e que causaram sérios problemas. E embora isso não seja comum, eles apenas ressaltam 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.

Agora você também entende o motivo de alguns drivers disponibilizados pelos fabricantes (incluindo NVIDIA) só aparecerem no Windows Update alguns dias ou semanas após eles terem sido lançados oficialmente no site do fabricante ;)

É importante que você compreenda que fabricantes de periféricos disponibilizam um novo driver somente quando há necessidade REAL disso, principalmente para corrigir algum problema que afete a estabilidade ou segurança, e eventualmente alguma nova funcionalidade.

Da mesma forma que acontece com a memória RAM em que não é a economia a todo custo dela que vai deixar o seu Windows mais rápido, mas sim o uso INTELIGENTE dela, no caso dos drivers acontece a mesma coisa: você não deve obrigatoriamente instalar o driver mais RECENTE, mas sim o MELHOR driver para o seu uso.

Se um driver realmente beneficia um determinado programa ou jogo que você utiliza, como nos exemplos do Rise of the Tomb Rider sob DirectX12, na mineração de moedas virtuais com a placa da AMD ou no jogo Witcher 3 quando o usuário utiliza duas ou mais placas de vídeo com G-SYNC habilitada, aí sim eu concordo que vale a pena você instalá-lo e testá-lo.

Outro bom exemplo que justifica a atualização de drivers: em março de 2019 a NVIDIA informou que disponibilizará em breve drivers atualizados para as placas de vídeo GeForce GTX que vão suportar ray tracing (tecnologia que permite a criação de imagens e ambientes com reflexão, refração e sombras extremamente realistas) sem necessidade de qualquer atualização ou mudança no jogo:

img_5c9ace233aa71.jpg

O resultado disso é espetacular e sem dúvida alguma será benéfico para todos os jogadores que tiverem placas compatíveis com essa tecnologia:

Se o novo driver não resultar em ganho de performance real ou novas funcionalidades (como a ray tracing), então simplesmente não existe vantagem em atualizar o driver. Se você não acredita nisso, basta acessar fóruns focados em hardware e ler inúmeros os casos reais de usuários que precisaram desinstalar o driver que ele acabou de instalar pois ele dava tela azul, o jogo travava ou alguma coisa que funcionava direito antes agora tem algum problema.

É justamente por isso que esses programas de atualização de drivers não devem ser utilizados no dia-a-dia, pois na prática a utilidade deles está limitada aos dois exemplos que eu citei anteriormente.

mentira.pngPara piorar, esses atualizadores de drivers anunciam que eles "melhoram a experiência de jogo", que "atualizar drivers sempre consome muito tempo e afeta suas atividades diárias no computador", que eles "aumentam a produtividade", entre outras mentiras que só servem para tentar vender a solução de um problema que simplesmente não existe!

 

Atualização de drivers pelo Windows

Windows atualizando os drivers

Não tenha a menor dúvida que a própria Microsoft é a maior interessada em deixar o Windows "voando baixo" - e ela consegue isso sem a necessidade de uso de drivers especiais ou programas milagrosos. Se algum novo driver é REALMENTE importante, ou seja, o driver atual tem algum problema ou limitação que afete o usuário e que precisa ser substituído, esse driver vem através do Windows Update.

atualizacao-de-drivers-no-windows.png

Para a Microsoft, a atualização de driver fora desse escopo não é algo crítico, e se o usuário quiser atualizar um driver de algum periférico no Windows, ele pode fazer isso manualmente diretamente via Gerenciador de Dispositivos - tanto que existem drivers aprovados pela Microsoft que são mais recentes para o seu computador, mas que ele não traz nenhum benefício de estabilidade, funcionalidade ou performance, e por isso ele não é automaticamente instalado.

Um exemplo simples é você entrar no Gerenciador de Dispositivos, abrir Dispositivos de Sistema, e ver ali se há algum item Ponte PCI para PCI. Se houver, clique com o botão da direita nele e clique em Atualizar Driver.

Clique na opção Pesquisar automaticamente e o Windows baixará o driver atualizado para ele. Note que ao fazer a atualização dele, ele será substituído por um novo item, apenas com detalhes adicionais sobre o próprio driver.

Esse driver em especial é o pci.sys, um driver importantíssimo que é responsável pela detecção e funcionamento dos principais componentes internos do PC, integrados na placa-mãe ou não, e mesmo sendo um driver crucial, a atualização que você acabou de fazer não significa que o seu PC ficou mais rápido, mais estável ou "mais leve".

Agora imagina se algum "atualizador de driver" baixar e instalar uma nova versão desse arquivo que tenha algum novo bug, causando tela azul que impede que o Windows seja carregado! Esse é um risco real que pode acontecer - e o fato do novo driver baixado por esses programas ser certificado pela Microsoft não impede esse problema, como eu detalharei na segunda parte desse artigo.

Drivers em servidores

Por fim, existe um conhecido cenário aonde a atualização de drivers é crucial: em servidores.

Como você já deve saber, servidores compõem o cenário mais complexo e intenso no uso de CPU, memória e disco - e justamente nesse ambiente, aonde o ganho de performance é extremamente valioso e importante, “atualização de driver” é um dos termos mais temidos e angustiantes.

A atualização de drivers em servidores é algo perigoso pois o uso intenso do hardware expõe a estabilidade e integridade do driver ao limite, e qualquer probleminha nele pode gerar sérios prejuízos, principalmente em drivers cruciais como controladoras de armazenamento e placas de rede, e esse prejuízo é multiplicado se esses servidores hospedam milhares de máquinas virtuais.

Administrador de redes sugerindo a compra de um "atualizador de drivers" :)Muitos administradores de rede implementam regras no Windows Server que impedem a atualização automática de drivers justamente para evitar qualquer problema com algum bug desconhecido existente na versão nova do driver:

bloqueio-de-atualizacao-de-driver-via-windows-update.png

Se algum profissional de TI ou administrador de rede quiser destruir a sua carreira com uma única frase, basta ele falar para o diretor de TI que a empresa precisa comprar um “atualizador de drivers” para “melhorar a performance” dos seus servidores e também “aumentar a produtividade” dos funcionários da empresa. A demissão dele será imediata :)

  • Legal, essa informação é útil 1

[]s
 
Aurélio “Baboo”
assinatura-baboo-forum-2022.png

Link para o comentário
Compartilhar em outros sites


Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Quer postar a sua dúvida? Cadastre-se pois é rápido e fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...