GNU/Linux >> Linux の 問題 >  >> Linux

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

ドライバーのサポートは、すべてのオープン ソースと同じように機能します。誰かが自分のかゆみをかき消すことにします。

Windows の場合と同様に、ハードウェアを提供する会社からドライバーが提供される場合があります。 Intel は自社のネットワーク チップでこれを行い、3ware は自社の RAID コントローラでこれを行っています。これらの企業は、ドライバを提供することが最善であると判断しました。彼らの「欲求」は、Linux ユーザーに製品を販売することであり、それは、ドライバーがいること。

最良の場合、同社は Linux ディストリビューションに同梱されている適切なソース ベースにドライバーを組み込むために懸命に取り組んでいます。ほとんどのドライバーにとって、これは Linux カーネルを意味します。グラフィックス ドライバーの場合は、X.org を意味します。プリンタ ドライバ用の CUPS、UPS ドライバ用の NUT、スキャナ ドライバ用の SANE などもあります。これを行うことの明らかな利点は、ドライバが受け入れられた後に作成された Linux ディストリビューションが、箱から出してすぐにハードウェアをサポートすることです。最大の欠点は、2 つの別々のグループが何かを調整するのが難しいのと同じ基本的な理由で、会社がオープンソース プロジェクトと調整してドライバを導入するのがより多くの作業になることです。

また、ドライバのソース コードを直接提供することを選択した企業もあります。通常、ドライバーのソース コードを Web サイトからダウンロードし、システムにビルドして、手動でインストールする必要があります。このような企業は、通常、適切なオープン ソース プロジェクトと調整して、そのプロジェクトのソース ベースにドライバを組み込むための労力を惜しまない、十分な従業員を持たない小規模または専門の製造業者です。

ソース コードではなく、バイナリのみのドライバーを提供している会社はほとんどありません。一例として、NVIDIA などの企業のより高度な 3D ドライバーがあります。通常、この理由は、会社が所有権を持っていると感じる情報を提供したくないためです。このようなドライバーは、多くの場合、以前のケースほど多くの Linux ディストリビューションでは機能しません。ハードウェアを提供する会社は、API や ABI の変更を追跡するためにドライバーを再構築する手間を省いているためです。エンド ユーザーまたは Linux ディストリビューション プロバイダーは、ソース コードとして提供されるドライバーを微調整して、そのような変更を追跡することができます。そのため、前の 2 つのケースでは、通常、バイナリー ドライバーよりも多くのシステムでドライバーを動作させることができます。

会社が Linux ドライバーを提供しない場合、コミュニティの誰かが提供することを決定します。 UPS やプリンターなど、これが一般的な大きなクラスのハードウェアがいくつかあります。 a)ハードウェアを持っているまれなユーザーが必要です。 b) 時間がある。 c) スキルを持っている。 d) ドライバーの開発に時間を費やす傾向がある。一般的なハードウェアの場合、これは通常問題にはなりません。なぜなら、何百万人もの Linux ユーザーが存在するため、これらの少数の人々が存在するからです。珍しいハードウェアで問題が発生します。


Linux
  1. Linux – Linuxカーネルシステムコールの実装を見つける方法は?

  2. Linux –カーネル:名前空間のサポート?

  3. Linux – Linuxカーネルはどのようにしてデバイスのメジャー番号とマイナー番号を認識しますか?

  1. Linux –どのモジュールがカーネルを汚染しているかを判断する方法は?

  2. Linux カーネルの可能性が高い/可能性が低いマクロはどのように機能し、その利点は何ですか?

  3. Linux でハードウェア クロックをプログラムで設定するにはどうすればよいですか?

  1. Linux:デバイスに使用されているデバイスドライバーを見つける方法は?

  2. Linux –カーネルツリーでヘッドフォン用のLinuxドライバーを見つけますか?

  3. Linux カーネルからメモリのブロックを予約するにはどうすればよいですか?