i810FrameBuffer - kernel 2.4.26 + i810(DC100) で Frame Buffer に挑戦したメモ。

Last modified: Fri Jul 2 13:10:47 JST 2004

目次

kernel 2.4.26 + i810(DC100) で Frame Buffer に挑戦したメモ。

ドライバのダウンロード

Intel(R) 810 and 815 Framebuffer Driver http://i810fb.sourceforge.net/

i810 フレームバッファの最新版は 0.0.35 の模様。

二つのファイルをダウンロード。

一つ目の kernel 2.4.23 用のパッチ(0.0.24)を当てたうえで二つ目のパッチを当てると最新版になります。

パッチ当て

 $ cd /usr/src/linux-2.4.26/
 # bzcat  linux-2.4.23-24-i810fb.diff.bz2 | patch -p1

使っているカーネルは 2.4.26 なんだけどパッチが 2.4.23 用なので fb.h にうまくパッチが当たらない。

 # vi include/linux/fb.h

以下の一行を Epson SED1356 の下に追加。

 #define FB_ACCEL_I810           43      /* Intel 810                    */

んでもって最新版にするためさらにパッチ当て。

linux-i810fb-0.0.35.tar.bz2 を展開してできたパッチを当てる。

 # patch -p1 < i810fb-0.0.23-0.0.35.diff

カーネル設定

make menuconfig で表示される Console->Video->Framebuffer->Intel 810/815 support 以下を全てチェック。

コンパイル

あとはカーネルをコンパイルするだけ。

/etc/modules.conf の設定

とりあえず 1280x1024 16bpp に設定してみる。(実際は一行です)

 options i810fb vram=4 xres=1280 yres=1024 bpp=16 hsync1=32 hsync2=91 
 vsync1=60 vsync2=85 accel=1 mtrr=1 hwcur=1 render=1 nosyncpan=1

これで 0.0.24 は大丈夫だったのだが 0.0.35 にバージョンアップしたら垂直同期が小さい値を取るようになってしまったので 84Hz になるように範囲を狭めたら成功した。( 実際は一行です)

 options i810fb vram=4 xres=1280 yres=1024 bpp=16 hsync1=32 hsync2=91 
 vsync1=84 vsync2=85 accel=1 mtrr=1 hwcur=1 render=1 nosyncpan=1 vyres=2048

上記の行を挿入して demod -a を実行。

パラメータについてはここら辺 http://i810fb.sourceforge.net/howto/x83.html#AEN187

コンソールのテキスト描画が早くなるそうなので yres オプションを追加しました。

http://i810fb.sourceforge.net/howto/x83.html#AEN308

i810fb の読み込み

コンソール上で以下のコマンド。

 # modprobe i810fb

おぉ、上手くいったみたい。

以下は dmesg の内容。

 Linux agpgart interface v0.99 (c) Jeff Hartmann
 agpgart: Maximum main memory to use for agp memory: 261M
 agpgart: Detected an Intel i810 DC100 Chipset.
 agpgart: detected 4MB dedicated video ram.
 agpgart: AGP aperture is 64M @ 0xe4000000
 PCI: Found IRQ 11 for device 00:01.0
 PCI: Sharing IRQ 11 with 01:08.0
 Console: switching to colour frame buffer device 160x64
 fb0: Intel(R) 810-DC100 Framebuffer Device v0.0.35, Tony Daplas
      Video RAM      : 4096K
      Mode           : 1280x1024-16bpp@84Hz
      Acceleration   : enabled
      MTRR           : enabled
      External VGA   : disabled
      Hardware cursor: enabled
      Video Timings  : VESA GTF (US)
      Rotation Code  : built
      Interface      : enabled
      Memory Tiling  : enabled

X Window System をフレームバッファで

x430vfb.tgz パッケージを installpkg でインストール。

XF86Config は以下の通り。

http://www5b.biglobe.ne.jp/~kzfmsp/XF86Config.i810fb

起動時に有効にしたい

lilo.conf とか grub.conf にオプションを書いて起動時にフレームバッファを有効にできるらしいがそこら辺がよく分からない・・。

なので今のところは /etc/rc.d/rc.modules に modprobe i810fb と書いて起動するようにしている。

以下はメモ。

 video=i810fb:vram:4,xres:1280,yres:1024,bpp:16,hsync1:32,hsync2:91,vsync1:84,vsync2:85,accel,mtrr,hwcur,render,nosyncpan