
モード設定は、VESA BIOS 拡張機能またはUEFI グラフィックス拡張機能(最近のコンピューターの場合)を使用して、コンピューターのディスプレイ コントローラーの表示モード (画面解像度、色深度、リフレッシュ レート) をアクティブにするソフトウェア操作です。
表示モードはカーネルによって設定されます。ユーザー空間モード設定(UMS) では、表示モードはユーザー空間プロセスによって設定されます。
カーネル モード設定はより柔軟になり、ユーザー空間ディスプレイ サーバーを使用している場合でも、カーネルで致命的なシステム エラーが発生した場合にエラーを表示できるようになりました。
ユーザー空間モード設定では、ハードウェアへの直接アクセスにスーパーユーザー権限が必要になるため、カーネルベースのモード設定では、ユーザー空間グラフィックス サーバーに対してこのような要件が不要になります。
実装
マイクロソフトウィンドウズ
NT ベースのMicrosoft Windowsバージョンでは、カーネル モード設定が使用されます。カーネル モード設定によって可能になるカーネル エラー表示は、正式には「バグ チェック」と呼ばれますが、一般的にはブルー スクリーン オブ デスとして知られています。
リナックス
Linuxカーネルは、 2008年12月にリリースされたバージョン2.6.28でIntel GEMを受け入れることにより、カーネルベースのモード設定の前提条件を取得しました。 [1]これは、GEM APIをサポートするTungstens Graphics TTM(Translation Table Maps)メモリマネージャに置き換えられます[更新が必要] 。 [2] TTMは、RadeonおよびS3 Graphicsグラフィックチップセット用の無料およびオープンソースドライバ用に開発されました(無料およびオープンソースのグラフィックデバイスドライバを参照)。[3] Intel GMAグラフィックチップセットのサポートは、2009年3月23日にリリースされたバージョン2.6.29で受け入れられました。[4] R600より前のATI Radeonグラフィックカードのサポートは、2009年9月9日にリリースされたバージョン2.6.31で受け入れられました。[5] R600とR700のサポートはDRM内で開発中であり、バージョン2.6.32に統合されました。[6] Evergreen (R800) のサポートはバージョン 2.6.34 で統合されました。Nvidia は自社のグラフィック チップに必要なドキュメントをすべて公開しなかったため、リバース エンジニアリングを使用してNvidia カード用のオープンソース ドライバーを構築するnouveauプロジェクトの下で開発が進められました。Nouveau は 2009 年 12 月 10 日にリリースされたカーネル バージョン 2.6.33 で承認されました。カーネル ベースのモード設定は nouveau ドライバーでサポートされているだけでなく、必須です。[7] Wayland コンポジター( Westonなど) とkmscon はioctl経由のカーネル モード設定に依存します。
フリーBSD
FreeBSDはバージョン9.1以降、カーネルベースのモード設定と、Intel GPU(IronLake、SandyBridge、IvyBridge)の後継世代のGEMの両方をサポートしています。[8]
ネットBSD
NetBSDは、カーネルベースのモード設定とIntelおよびRadeonデバイス向けの高速グラフィックスをサポートしています。この実装は、Linux 3.15 DRM/KMSコードを移植することでバージョン7.0で導入されました。[9]
オープンBSD
OpenBSDには、Intel および Radeon GPU 用のカーネルベースのモード設定サポートがあります。OpenBSD バージョン 5.4 以降では、Intel GPU のサポートが利用可能になりました。バージョン 5.5 のリリースでは、実装が拡張され、Radeon チップセットのサポートも追加されました。
代替案
Linux Plumbers Conference 2013 では、次の代替案が発表されました。
- GEMとKMSを分割することが提案された。[10]
- GoogleのAndroidチームによるAtomic Display Framework。[11] [12]
- 共通ディスプレイフレームワーク[13]
参照
参考文献
- ^ 「Linux 2 6 28」。Linuxカーネル初心者。2013年2月14日閲覧。
- ^ Larabel, Michael (2008-08-26). 「Radeon 用の GEM 化された TTM マネージャー」. Phoronix . 2013-02-14に閲覧。
- ^ Larabel, Michael (2009-06-10). 「TTM Memory Manager がリリースに向けて準備完了」. Phoronix . 2013-02-14閲覧。
- ^ 「Linux 2 6 29」。Linuxカーネル初心者。2013年2月14日閲覧。
- ^ 「Linux 2 6 31」。Linux Kernel Newbies。2009年9月9日。 2013年2月14日閲覧。
- ^ Larabel, Michael (2009-09-30). 「AMD R600/700 2D パフォーマンス: オープン ドライバーとクローズド ドライバー」. Phoronix . 2013-02-14に閲覧。
- ^ "nouveau/ KernelModeSetting". freedesktop.org. 2013年8月24日. 2014年8月11日閲覧。
- ^ 「FreeBSD 9.1-RELEASE リリースノート」。FreeBSD Foundation。2012年 12 月 30 日。
- ^ 「NetBSD 7.0 を発表」。NetBSD プロジェクト。2015 年 9 月 25 日。2016年4 月 25 日閲覧。
- ^ 「DRM/KMS デバイス ノードの分割 / Linux Plumbers Conference: カーネル、ライブラリ、ユーティリティの開発」www.linuxplumbersconf.org。2013 年 10 月 30 日時点のオリジナルよりアーカイブ。
- ^ 「Atomic Display Framework / Linux Plumbers Conference: カーネル、ライブラリ、ユーティリティの開発」。
- ^ 「KMS HWComposer の問題、Atomic Display Framework およびその他の KMS 拡張機能 [sic] / Linux Plumbers Conference: カーネル、ライブラリ、ユーティリティの開発」。2015 年 8 月 31 日時点のオリジナルよりアーカイブ。2013年 8 月 29 日閲覧。
- ^ 「Common Display Framework / Linux Plumbers Conference: カーネル、ライブラリ、ユーティリティの開発」www.linuxplumbersconf.org。2016 年 3 月 12 日時点のオリジナルよりアーカイブ。
外部リンク
- X.org wiki のモード設定
- X.org wiki の Intel グラフィックス ドライバー
- X.org wiki の ATI Radeon ドライバー
- Fedora プロジェクト wiki のカーネル モード設定
