カーネル パラメータは、kernel.org で文書化されています。
acpi_osi
を理解するには ACPI は、オペレーティング システムが起動する前に BIOS が RAM にロードする、いわゆるテーブルで構成されています。それらの一部には、メインボード上の重要なデバイスに関する情報が固定形式で含まれているだけですが、DSDT テーブルのように AML コードが含まれているものもあります。このコードはオペレーティング システムによって実行され、メインボード上の多くのデバイスを記述したツリー構造と、OS によって実行される呼び出し可能な関数を OS に提供します。省電力が有効になります。 AML コードは、_OSI
を呼び出して、OS にどの OS であるかを尋ねることができます。 関数。これは、ベンダーが回避策を作成するためによく使用します。一部の Windows バージョンのバグについて。
多くのハードウェア ベンダーは、(その時点での) 最新バージョンの Windows でのみ製品をテストするため、回避策のない「通常の」コード パスはバグが多いことがよくあります。このため、Linux は通常、Windows かどうかを尋ねられたときに「はい」と答えます。 Linux も、「Linux」かどうか尋ねられたときに「はい」と答えていましたが、これにより、BIOS ベンダーはバグ レポートを開いたりパッチを提供したりする代わりに、(当時の) 最新の Linux カーネル バージョンのバグや機能の欠落を回避するようになりました。これらのバグが修正されたとき、回避策により不要なパフォーマンスの低下や、それ以降のすべての Linux バージョンでその他の問題が発生しました。
acpi_osi=Linux
ACPI コードによって "Linux" であるかどうかを尋ねられたときに、Linux は再び yes と答え、ACPI コードが Linux の回避策を有効にしたり、Windows の回避策を無効にしたりできるようにします。
acpi_backlight=vendor
バックライト用の ACPI ドライバーがチェックされる順序を変更します。通常、Linux は一般的な video
を使用します。 ACPI DSDT が標準互換性を要求するバックライト デバイスを提供し、そのようなデバイスが見つからない場合にのみ他のベンダー固有のドライバーをチェックする場合。 acpi_backlight=vendor
ベンダー固有のドライバーが最初に試されるように、この順序を逆にします。
「acpi_osi」の最初の Google の結果は acpi_osi=linux
を説明しています :
[...] Windows が検出されない場合、BIOS は通常機能を無効にします [...]デフォルトでは、Linux が実行されているかどうかを尋ねられたときに、カーネルは false と応答します。 acpi_osi=Linux
カーネルに true を返すよう指示します (drivers/acpi/osl.c
を参照)。 ) BIOS に真実を伝える必要があるようです。
「acpi_osi」の 2 番目の Google の結果は acpi_backlight=vendor
を説明しています :
acpi_backlight=vendor
ベンダー固有のドライバーを優先します (例:thinkpad_acpi
、 sony_acpi
など) ACPI video.ko
の代わりに ドライバー。