Risposte:
Per la maggior parte, non è necessario installare driver aggiuntivi. Sono inclusi quasi tutti i driver disponibili.
Ubuntu viene fornito con molti driver pronti all'uso. Potrebbe essere necessario installare i driver solo se parte dell'hardware non funziona correttamente o non viene rilevato. È possibile scaricare alcuni driver per schede grafiche e adattatori wireless.
Il modo più semplice per scoprire se sono necessari driver è scegliere Prova Ubuntu dalla schermata di installazione prima per vedere se hai bisogno di driver e per vedere se Ubuntu funziona con il tuo hardware.
Ubuntu è un sistema operativo open source e in un sistema operativo open source è possibile fornire agli utenti una protezione aggiuntiva contro i problemi causati dall'installazione del driver errato e un ulteriore aiuto per il ripristino del sistema dopo l'installazione del driver grafico proprietario errato. Mi riferisco qui ai driver grafici open source integrati come nouveau e ai pacchetti amdgpu e driver grafici proprietari come i driver NVIDIA dal sito Web ufficiale NVIDIA e il driver AMDGPU-Pro 1 dal sito Web ufficiale AMD.
I driver open source integrati in Ubuntu forniscono all'utente un ulteriore livello di protezione contro la necessità di reinstallare il sistema operativo a causa di un problema causato dall'installazione di un driver proprietario. Il motivo per cui alcuni driver non devono essere installati in Ubuntu è che alcuni driver open source sono già integrati nell'installazione predefinita di Ubuntu. L'installazione di un driver proprietario a volte può rendere il sistema non avviabile, se non fosse per i driver open source ancora installati che consentono al sistema di riavviarsi dopo la disinstallazione del driver proprietario che ha causato il problema.
I sistemi Linux (e alcuni altri sistemi open source unix) trattano i driver in modo molto diverso da come fanno i sistemi operativi Windows.
Nei sistemi Windows (in particolare pre-Windows 10), il kernel del sistema operativo fornisce un'interfaccia software binaria stabile rispetto alla quale è possibile scrivere un driver e tale interfaccia è (con eccezioni) garantita invariata nel ciclo di supporto di una determinata versione di Windows. Ciò favorisce la scrittura e la fornitura di driver da parte di terzi, che di solito funzionano per almeno una versione di Windows in quel ciclo di supporto. L'aspetto negativo è che questa interfaccia di driver è difficile da migliorare o correggere all'interno di quel ciclo di vita e favorisce la distribuzione binaria di driver che (a parte tutta la politica!) Spesso limita il supporto multipiattaforma coerente.
I kernel Linux hanno un'interfaccia driver mutevole che è specificata rigorosamente solo a livello di codice sorgente e distorta per l'improvvisazione e la coerenza multipiattaforma. Ciò significa che, a meno che non venga utilizzato un driver "traduttore" aggiuntivo che offre un'interfaccia binaria specifica e stabile, un binario del driver è specifico per una build del kernel esatta. Si potrebbe "confondere" un binario del driver per renderlo compatibile con una dozzina di esatte versioni del kernel su una piattaforma, ma lo sforzo di mantenerlo (come offerta binaria) sarebbe antieconomico. Questo pregiudizio è anche politicamente ricercato nella comunità del kernel linux, dal momento che fingono che un driver binario a sorgente chiuso potrebbe fare molto peggio del firmware dannoso su una periferica compatibile con busmasteringconsidera il codice sorgente chiuso sia troppo poco attendibile che troppo sgradevole per averlo in esecuzione con i privilegi del kernel. Pertanto, i driver di dispositivo open source per tutto l'hardware principale sono forniti all'interno del pacchetto kernel stesso, con la seconda opzione che esiste un metodo relativamente facile da usare per distribuire un driver esterno come tarball di origine, da compilare contro il kernel installato.
Alcuni altri driver linux (ad esempio driver grafici X11 classici, driver scanner, driver stampante) non sono gestiti come parti del kernel, ma come parti di alcuni software dello spazio utente che forniscono la funzionalità come servizio a livello di sistema (XOrg, Sane, Ghostscript. ..) - anche questi tendono ad essere specifici e per lo più distribuiti con una data versione del software userpace pertinente.