VGA出力はフレームバッファドライバが用意されており、コンソール画面として使用することができます。
初期状態ではVGAサイズ(解像度:640x480)の16ビットカラー設定となっていますが、SVGAサイズ(800x600)及びXGAサイズ(1024x768)や8/24ビットカラーにも対応しています。
ここでは、この設定の変更方法について説明します。
| |
---|
現在のソフトウェアでは、デバイスが提供する設定の全てに対応していません。また、Armadillo-9のVGA出力は、VESAなどの規格化されているタイミングを完全に満しているわけではあません。そのため、許容範囲の狭いモニタでは同期ずれが起こる場合があります。
|
デフォルト設定の変更には、カーネルのリコンパイルが必要となります。まず、コンフィギュレーションします。
[PC ~/atmark-dist]$
make menuconfig
メニューが表示されるので、
Kernel/Library/Defaults Selection --->
--- Kernel is linux-2.6.x
(None) Libc Version
[ ] Default all settings
[*] Customize Kernel Settings
[ ] Customize Vendor/User Settings
[ ] Update Default Vendor Settings
とします。続いてKernel Configurationのメニューが表示されるので、
Device Drivers --->
Graphics support --->
<*> Support for frame buffer devices --->
<*> EP93xx frame buffer support --->
EP93xx frame buffer display (CRT display)
EP93xx frame buffer resolution (VGA(60Hz))
EP93xx frame buffer depth (16bpp true color)
上記の項目を変更した後、コンフィギュレーションを終了させます。
続いて、ビルドします。
[PC ~/atmark-dist]$
make all
ビルドしてできたカーネルイメージ (linux.bin.gz) をArmadillo-9へ書き込み、VGAのデフォルトの設定は完了です。
デフォルトの解像度・色深度以外でVGAを動作させるときは、Linuxブートオプションに設定を追加するだけで変更ができます。
7章Linuxブートオプションを参考にhermitを起動させます。ブートオプションに“video=ep93xxfb:mode,depth”を追加します。“mode”に表11.1「解像度一覧」のモード名を、“depth”に表11.2「色深度一覧」のモード名を挿入してください。
表11.1 解像度一覧
モード名 | 解像度 | 水平周波数(kHz) | 垂直周波数(Hz) | ドットクロック(MHz) |
---|
CRT-640x480 | 640x480 | 24.998 | 31.248 | 59.519 |
CRT-640x480@75 | 640x480 | 31.998 | 38.093 | 76.186 |
CRT-800x600 | 800x600 | 38.401 | 37.501 | 60.002 |
CRT-800x600@75 | 800x600 | 49.998 | 47.346 | 75.754 |
CRT-1024x768 | 1024x768 | 66.662 | 49.600 | 61.538 |
CRT-1024x768@75 | 1024x768 | 80.000 | 60.976 | 76.220 |
表11.2 色深度一覧
モード名 | 色深度 |
---|
8bpp | 8ビットカラー |
16bpp | 16ビットカラー |
24bpp | 24ビットカラー |
32bpp | 32ビットカラー |
以下は800x600 60Hz, 8ビットカラーの設定例です。
hermit>
setenv video=ep93xxfb:CRT-800x600,8bpp