Respostas:
Na maioria das vezes, você não precisa instalar drivers adicionais. Quase todos os drivers disponíveis estão incluídos.
O Ubuntu vem com muitos drivers prontos para uso. Pode ser necessário instalar drivers apenas se algum do seu hardware não estiver funcionando corretamente ou não estiver sendo detectado. Alguns drivers para placas gráficas e adaptadores sem fio podem ser baixados.
A maneira mais fácil de descobrir se são necessários drivers é escolher primeiro experimentar o Ubuntu na tela de instalação para verificar se você precisa de drivers e verificar se o Ubuntu está funcionando com seu hardware.
O Ubuntu é um sistema operacional de código aberto e, em um sistema operacional de código aberto, é possível fornecer aos usuários proteção adicional contra problemas causados pela instalação do driver errado e ajuda adicional na recuperação do sistema após a instalação do driver gráfico proprietário errado. Estou me referindo aqui aos drivers gráficos de código aberto embutidos, como o nouveau e os pacotes amdgpu, e os drivers gráficos proprietários, como os drivers da NVIDIA no site oficial da NVIDIA e o driver AMDGPU-Pro 1 no site oficial da AMD.
Os drivers de código aberto integrados no Ubuntu fornecem ao usuário uma camada adicional de proteção contra a necessidade de reinstalar o sistema operacional devido a um problema causado pela instalação de um driver proprietário. A razão pela qual alguns drivers não precisam ser instalados no Ubuntu é que alguns drivers de código aberto já estão embutidos na instalação padrão do Ubuntu. Às vezes, a instalação de um driver proprietário pode tornar seu sistema não inicializável, não fosse pelos drivers de código aberto ainda instalados que permitem que o sistema inicialize novamente após a desinstalação do driver proprietário que estava causando o problema.
Os sistemas Linux (e alguns outros sistemas unix de código aberto) tratam os drivers de maneira muito diferente do que os sistemas operacionais Windows.
Nos sistemas Windows (especialmente antes do Windows 10), o kernel do sistema operacional fornece uma interface estável de software binário na qual um driver pode ser gravado, e essa interface (com exceções) é garantida como imutável no ciclo de suporte de uma determinada versão do Windows. Isso favorece que os drivers sejam gravados e fornecidos por terceiros; eles geralmente funcionam com pelo menos uma versão do Windows nesse ciclo de suporte. As desvantagens são que essa interface de driver é difícil de melhorar ou consertar nesse ciclo de vida e favorece a distribuição binária de drivers que (exceto toda a política!) Geralmente limita o suporte consistente de várias plataformas.
Os kernels do Linux têm uma interface de driver variável, que é especificada apenas rigorosamente no nível do código-fonte e direcionada para a improvabilidade e a consistência de várias plataformas. Isso significa que, a menos que um driver "tradutor" adicional que ofereça uma interface binária estável e específica seja usado, um binário de driver é específico para uma compilação exata do kernel. Pode-se "falsificar" um binário de driver para talvez ser compatível com algumas dúzias de versões exatas do kernel em uma plataforma, mas o esforço para mantê-lo (como uma oferta binária) seria antieconômico. Esse viés também é politicamente desejado na comunidade de kernel do linux, pois eles fingem que um driver binário de código fechado poderia fazer muito pior do que firmware mal-intencionado em um periférico compatível com busmasteringconsidere o código-fonte fechado como não confiável e desagradável demais para ser executado com privilégios de kernel. Portanto, os drivers de dispositivo de código aberto para todo o hardware principal são fornecidos no próprio pacote do kernel, com a segunda opção de haver um método relativamente fácil de distribuir um driver externo como um tarball de origem, para ser compilado no kernel instalado.
Alguns outros drivers Linux (por exemplo, drivers gráficos X11 clássicos, drivers de scanner, drivers de impressora) não são tratados como partes do kernel, mas como partes de alguns softwares de espaço do usuário que fornecem a funcionalidade como um serviço amplo do sistema (XOrg, Sane, Ghostscript). ..) - estes também tendem a ser específicos e principalmente distribuídos com uma determinada versão do software relevante do espaço do usuário.