GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie wird dem Linux-Kernel Unterstützung für neue Hardware hinzugefügt?

Die Treiberunterstützung funktioniert genauso wie bei allen anderen Open-Source-Versionen:Jemand entscheidet sich, seinen eigenen Juckreiz zu kratzen.

Manchmal wird der Treiber von dem Unternehmen bereitgestellt, das die Hardware bereitstellt, genau wie bei Windows. Intel tut dies für ihre Netzwerkchips, 3ware tut dies für ihre RAID-Controller usw. Diese Unternehmen haben entschieden, dass es in ihrem besten Interesse ist, den Treiber bereitzustellen:Ihr "Jucken" besteht darin, Produkte an Linux-Benutzer zu verkaufen, und das bedeutet, sicherzustellen dass es einen Fahrer gibt.

Im besten Fall arbeitet das Unternehmen hart daran, seinen Treiber in die entsprechende Quellbasis zu bringen, die mit Linux-Distributionen geliefert wird. Für die meisten Treiber bedeutet das den Linux-Kernel. Für Grafiktreiber bedeutet es X.org. Es gibt auch CUPS für Druckertreiber, NUT für USV-Treiber, SANE für Scannertreiber usw. Der offensichtliche Vorteil dabei ist, dass Linux-Distributionen, die erstellt werden, nachdem der Treiber akzeptiert wurde, die Hardware sofort unterstützen. Der größte Nachteil ist, dass es für das Unternehmen mehr Arbeit bedeutet, sich mit dem Open-Source-Projekt zu koordinieren, um seinen Treiber einzubinden. Aus den gleichen grundlegenden Gründen ist es für zwei separate Gruppen schwierig, irgendetwas zu koordinieren.

Dann gibt es die Unternehmen, die sich dafür entscheiden, nur ihren Treiber-Quellcode direkt anzubieten. Normalerweise müssen Sie den Quellcode des Treibers von deren Website herunterladen, auf Ihrem System erstellen und von Hand installieren. Solche Unternehmen sind in der Regel kleinere oder spezialisierte Hersteller ohne genügend Mitarbeiter, um sich die Mühe zu ersparen, sich mit dem entsprechenden Open-Source-Projekt abzustimmen, um ihren Treiber in die Source-Basis dieses Projekts zu bringen.

Einige wenige Unternehmen bieten reine Binärtreiber anstelle des Quellcodes an. Ein Beispiel sind die fortschrittlicheren 3D-Treiber von Unternehmen wie NVIDIA. Der Grund dafür ist in der Regel, dass das Unternehmen keine Informationen preisgeben möchte, die es als Eigentum ansieht. Solche Treiber funktionieren oft nicht mit so vielen Linux-Distributionen wie in den vorherigen Fällen, da sich das Unternehmen, das die Hardware bereitstellt, nicht die Mühe macht, seinen Treiber neu zu erstellen, um API- und ABI-Änderungen zu verfolgen. Es ist für den Endbenutzer oder den Anbieter der Linux-Distribution möglich, einen als Quellcode bereitgestellten Treiber zu optimieren, um solche Änderungen nachzuverfolgen, sodass der Treiber in den beiden vorherigen Fällen normalerweise so eingerichtet werden kann, dass er mit mehr Systemen funktioniert als ein binärer Treiber. P>

Wenn das Unternehmen keine Linux-Treiber bereitstellt, entscheidet sich einfach jemand in der Community dafür. Es gibt einige große Hardwareklassen, bei denen dies üblich ist, wie bei USVs und Druckern. Es braucht einen seltenen Benutzer, der a) die Hardware hat; b) Zeit hat; c) hat die Fähigkeit; und d) die Neigung hat, Zeit für die Entwicklung des Fahrers aufzuwenden. Für gängige Hardware ist dies normalerweise kein Problem, da es bei Millionen von Linux-Benutzern diese wenigen Leute gibt. Sie bekommen Probleme mit ungewöhnlicher Hardware.


Linux
  1. Linux:So finden Sie den für ein Gerät verwendeten Gerätetreiber

  2. Linux – Wie finde ich die Implementierungen von Linux-Kernel-Systemaufrufen?

  3. Linux – Kernel:Namespaces-Unterstützung?

  4. Linux – Finden Sie den Linux-Treiber für Kopfhörer im Kernel-Baum?

  5. Wie stellen Sie die Hardwareuhr unter Linux programmgesteuert ein?

Wie der Linux-Kernel mit Interrupts umgeht

Wie man einen Linux-Kernel im 21. Jahrhundert kompiliert

So überprüfen Sie die Kernel-Version in Linux

So installieren Sie das neue Kali Linux-Snapshot-Tool Unkaputtbar

Linux Kernel 5.0 veröffentlicht, neue Funktionen und Verbesserungen!

Wie finde ich das Hardwaremodell unter Linux?