Armadillo-440 の Debian で KDrive を使う

Armadillo-440 に DATA IMAGE の FG0700K5DSSWAGT1 をつないだとき、
カーネルフレームバッファは、ドライバに適切なパラメータを与えると綺麗に画像が表示されます。
(mxcfb_modedb.cを編集して再コンパイル)

このカーネルで、Debianに付属のXサーバを使うと、きちんと動作するのですが、
やっぱり普通のデスクトップ用のXサーバは重い!

ということで、atmarkdist に付属の KDrive を使ってみることにしました。

しかし、KDrive の Xfbdev は FG0700K5DSSWAGT1 の 800x480 という解像度に対応していないらしく、
うまく表示されません。

そこで、ソースを調べてみると、

atmark-dist-20101220/user/xorg-xserver/xorg-xserver-1.4.2/hw/kdrive/src/kmode.c にパラメータを指定する箇所を発見。

mxcfb_modedb.c に指定したものと同じように変更してみました。
デフォルトで 800x480 を利用したいので、

99行目からの、


{ 800, 600, 72, 50000, /* VESA */
56, 64, 240, KdSyncPositive, /* 48.077 */
37, 23, 66, KdSyncPositive, /* 72.188 */
} ,
コメントアウトして、

{ 800, 480, 60, 50000,
45, 39, 10, KdSyncNegative,
12, 64, 2, KdSyncNegative,
},
としてあげました。

すると、無事、正常な画面でXを起動することができました!
ちゃんと ts_calibrate でタッチパネルのキャリブレーションもあわせられ、快適です。