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


19

新しいグラフィックスアダプターをリリースするA社があるとします。この新しいグラフィックアダプターが将来Linuxカーネルでサポートされるようになるプロセスを誰が管理しますか?それはどのように進みますか?新しいハードウェアに対するカーネルサポートの処理方法に興味があります。Windowsの企業は独自にドライバーを開発していますが、Linuxは特定のハードウェアサポートをどのように取得していますか?

回答:


26

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

ドライバーは、Windowsと同様に、ハードウェアを提供する会社から提供される場合があります。Intelはネットワークチップに対してこれを行い、3wareはRAIDコントローラーに対してこれを行います。これらの企業は、ドライバーを提供することが最大の利益であると判断しました。ドライバーがいること。

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

次に、ドライバーのソースコードを直接提供することを選択した企業のみがあります。通常、Webサイトからドライバーのソースコードをダウンロードし、システムにビルドして、手動でインストールする必要があります。このような企業は通常、従業員が十分にいない小規模または専門メーカーであり、適切なオープンソースプロジェクトと連携してドライバーをプロジェクトのソースベースに取り込む努力をeffortしみません。

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

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


0

これを詳細に理解するために、最近Raspberry Pi 3が登場し、Bluetoothチップを追加しました。現在はBroadcom BLEチップであり、Raspberry Piカーネルはそれをサポートしてbluezいないため、Linuxのライブラリは機能しません。理想的には、そのBLEチップのファームウェアパッチが必要であり、ユーザーが利用できるようにするにはカーネルを再度コンパイルする必要があります。そうですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.