A maioria dos drivers de hardware está embutida no kernel do linux. É sempre melhor quando eles são. Mas, em alguns casos, você pode ou precisa instalá-los separadamente:
1. O fornecedor de hardware não divulga o protocolo para interagir com o hardware e libera drivers proprietários de código fechado. Neste caso, não há como instalá-los separadamente.
Mas freqüentemente há também drivers alternativos de código aberto criados por engenharia reversa. Esses drivers são integrados ao kernel, mas podem não ser tão bons quanto proprietários.
Exemplo: drivers de vídeo AMD e Nvidia, impressoras Epson e drivers de scanner, etc.
2. O driver de código aberto existe, mas ainda não está integrado ao kernel da linha principal. Ou está integrado a versões instáveis ou não suportado pelas versões do kernel do Ubuntu.
Neste caso, os drivers podem ser obtidos de PPAs ou como código-fonte do github ou de outros lugares.
Exemplo: driver do touchpad Focaltech, driver bluetooth Realtek, etc.
3. Às vezes, existem drivers de código-fonte aberto no kernel da linha principal, mas não funcionam tão bem quanto alguns drivers de código-fonte aberto desenvolvidos pelo fornecedor de hardware ou pela comunidade.
Neste caso, é uma opção para instalar drivers alternativos.
Exemplo: drivers sem fio Realtek.
Se algum de seu hardware não for suportado, é sempre bom denunciá-lo ao launchpad. Alguém cuidará disso e adicionará suporte ao kernel do Linux. Também a cooperação com testes é útil.
Gostaria de adicionar uma nota importante sobre a instalação de drivers autônomos.
Na maioria dos casos, os drivers de hardware são criados e instalados como módulos do kernel.
Se você construir um módulo do kernel a partir do código-fonte, depois que o kernel for atualizado, o módulo não funcionará. Ele é construído para uma versão específica do kernel. Você terá que reinstalá-lo após cada atualização do kernel.
É por isso que é sempre preferível instalar drivers de PPAs com pacotes DKMS ou instalá-los usando DKMS manualmente.
Neste caso, após cada atualização do kernel, o módulo será automaticamente reconstruído e instalado para um novo kernel.
Um exemplo ruim é a instalação de drivers da Nvidia a partir de arquivos .run baixados do site da Nvidia. Neste caso, o driver não está registrado corretamente no DKMS e, após a primeira atualização do kernel, você terá uma tela preta.
Mas você sempre pode colocar todos os drivers da Nvidia como DKMS dos PPAs.