Linuxカーネルはどのように新しいハードウェアサポートを追加しますか?

Linuxカーネルはどのように新しいハードウェアサポートを追加しますか?

A 会社が新しいグラフィックアダプタをリリースするとします。将来のLinuxカーネルでサポートされているこの新しいグラフィックアダプタを入手するプロセスを誰が管理しますか?進捗状況はどうですか?カーネルがWindowsの新しいハードウェアのサポートをどのように処理するのか疑問に思います。独自のドライバを開発する場合、Linuxはどのように特定のハードウェアのサポートを受けますか?

ベストアンサー1

ドライバのサポートは、すべてのオープンソースソフトウェアがどのように機能するかと同じように機能します。誰かが自分でかゆみを傷つけることにしました。

Windowsのようにハードウェアを提供する会社がドライバを提供することもあります。 Intelはネットワークチップに対してこれを行い、3wareはRAIDコントローラに対してこれを行います。これらの会社は、ドライバーの提供が最善の利益であると決定しました。彼らの「欲望」は、Linuxユーザーに製品を販売することであり、これはドライバがあることを確認することを意味します。

最良のケースは、企業がLinuxディストリビューションに同梱されている適切なソースコードリポジトリにドライバを配置することに懸命に取り組むことです。ほとんどのドライバでは、これはLinuxカーネルを意味します。グラフィックドライバの場合、これは次のことを意味します。X.org。しかもコンピュータ支援システムプリンタドライバの場合、ナットUPSドライバーの場合、精神これの明白な利点は、ドライバが承認された後に作成されたLinuxディストリビューションがハードウェアをすぐにサポートすることです。主な欠点は、企業がオープンソースプロジェクトとドライバを取得するためにさらに作業を行う必要があり、同じ基本的な理由で、2つの別々のチームがすべてを調整するのが難しいことです。

ドライバのソースコードを直接提供する会社もあります。通常、そのWebサイトからドライバのソースコードをダウンロードしてシステムにビルドし、手動でインストールする必要があります。これらの会社は通常、十分な従業員を持っていない小規模または専門メーカーであるため、適切なオープンソースプロジェクトと協力して、そのプロジェクトのソースコードベースにドライバを配置することはできません。

ソースコードの代わりに純粋なバイナリドライバを提供する会社はほとんどありません。一例は、NVIDIAなどの企業の高度な3Dドライバです。その理由は、企業が独占的だと思う情報を公開したくないからであることが多い。これらのドライバは、以前のように多くのLinuxディストリビューションと互換性がないことがよくあります。これは、ハードウェアを提供する企業が、API と ABI の変更を追跡するためにドライバを再構築することに気を使わないためです。ソースコードで提供されているドライバは、エンドユーザーまたはLinuxディストリビューションプロバイダがこれらの変更を追跡するように調整できるため、最初の2つのケースでは、ドライバはバイナリドライバよりも多くのシステムに適している可能性があります。

会社がLinuxドライバを提供していない場合、コミュニティの誰かが決定します。これは、UPSやプリンタなどの特定の広範なハードウェアカテゴリで一般的です。 a) ハードウェアを所有し、b) 時間があり、c) 技術を保有し、d) ドライバーを開発するのに喜んで時間を費やすことができるユーザーはほとんどいません。これは一般的に広く使用されているハードウェアでは問題ではありません。これは、何百万人ものLinuxユーザーに対応し、選択された素数にのみ存在するためです。一般的でないハードウェアによって問題が発生する可能性があります。

おすすめ記事