X Window System(以下,X)はLinuxの標準ウインドウ・システムである。GUIで操作する場合には,Xの使い勝手がそのままLinuxの操作性を左右する。そこで,Xの設定の見直しや拡張機能を利用して,高速化を実現しよう。特に,カーネル・モジュールと連携して3D画像の描画を高速化するDRI (Direct Rendering Infrastructure)の利用は,効果が高い。

設定の見直しや再構築で,Xをブラッシュアップ

 X Window SystemはUNIX系OSの標準ウインドウ・システムである。LinuxではXFree86プロジェクトが開発するフリーのXサーバー(XFree86)を利用することが多い。XFree86はXF86Configという設定ファイルにより,その動作を制御できる。ここでは無駄を省き,なおかつ高速化機能を有効にするためのXF86Config設定を紹介する。

ロードするモジュールを減らす

 ディストリビューションに含まれるXFree86には,モジュールの動的ロード機能がある。グラフィックス・ドライバをはじめとする各種機能をモジュール化してXFree86のプログラム本体から分離し,必要に応じて個々のモジュールを有効にできる。従来のXFree86では,OSやグラフィックス・チップごとに別のXサーバーを用意する必要があった。モジュール化により,さまざまな環境でXFree86のプログラム本体を共通に利用できるようになった。

 そのためXFree86 4.0では,有効にするモジュールの設定がXサーバーの起動速度または動作速度を大きく左右する。特に,無駄なモジュールをロードすると,システム資源を浪費したり,Xサーバーの起動が遅くなるので,一度モジュールの設定を見直してみよう。

 モジュールの有効/無効はXFree86の設定ファイル「XF86Config」*1で設定する。XF86ConfigにはModuleというセクションがあり,例えば図1のように設定されている。

Section "Module"

   Load "dbe"
   Load "record"
   Load "pex5"
   Load "xie"

   SubSection "extmod"
     Option "omit xfree86-dga"
   EndSubSection

   Load "type1"
   Load "xtt"
#  Load "freetype"

# This loads the GLX module
   Load "glx"
   Load "dri"

EndSection
図1●XF86Configでのモジュール設定例
XFree86 4.0以降ではさまざまな機能をモジュールとして提供している。モジュールはXF86ConfigファイルのModulesセクションの設定に応じて読み込まれる。

 XFree86 4.0で利用できる主なモジュールを表1に示す。この中の「dbe」,「pex5」,「record」,「speedo」,「type1」,「xie」といったモジュールは,時代遅れの機能,あるいは今後に備えた機能であり,現時点ではいらないことが多いので,主メモリーが少ない場合やXの起動の遅さが気になるようならロードしないようにする。ちなみにこれらのモジュールをロードしないようにするだけで,Xが利用するメモリー領域を2Mバイトほど節約できる。

表1●XFree86 4.x系列のサーバーで利用できる主なモジュール
必要のないモジュールをロードするのは,主メモリーを無駄に消費し,なおかつXサーバーの起動を遅くする原因になる。
[画像のクリックで拡大表示]
表1●XFree86 4.x系列のサーバーで利用できる主なモジュール