[HOME][Linux Kernel 2.6 のフレームバッファ]

Linux Kernel 2.2と2.4 のフレームバッファ



Linux Kernel 2.2  使 DOS/V  kon 使
注意:カーネルのコンパイルやliloの設定に自信がない方は試さないほうがいいでしょう.
またパッケージ 管理が厳密なディストリビューションでは,以下のような勝手な設定はできないと思います. SlackwareやPlamoLinuxな人は問題ないでしょう.


フレームバッファを使ってみよう.


Documentation/fb/framebuffer.txt  Documentation/svga.txt 



# cat /proc/pci 
 
  Bus  1, device   0, function  0:
    VGA compatible controller: NVidia Unknown device (rev 4).
      Vendor id=10de. Device id=20.
      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  
      Latency=32.  Min Gnt=5.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xd4000000 [0xd4000000].
      Prefetchable 32 bit memory at 0xd6000000 [0xd6000008].



 linux-2.2.18  EXPERIMENTAL 

# make menuconfig
      +----------- Code maturity level options -----------------+
      [*] Prompt for development and/or incomplete code/drivers  

      +------------------- Console drivers ---------------------+
      [*] VGA text console                                        
      [*] Video mode selection support                            
      < > MDA text console (dual-headed) (EXPERIMENTAL)           
      [*] Support for frame buffer devices (EXPERIMENTAL)         
      < > Permedia2 support (experimental) (NEW)                  
      < > ATI Mach64 display support (NEW)                        
      [*] VESA VGA graphics console (NEW)                         
      [ ] VGA 16-color graphics console (NEW)                     
      < > Matrox acceleration (NEW)                               
      < > ATI Rage128 display support (NEW)                       
      < > Virtual Frame Buffer support (ONLY FOR TESTING!) (NEW)  
      [*] Advanced low level driver options (NEW)                 
      < > Monochrome support (NEW)                                
      < > 2 bpp packed pixels support (NEW)                       
      < > 4 bpp packed pixels support (NEW)                       
      <*> 8 bpp packed pixels support (NEW)                       
      <*> 16 bpp packed pixels support (NEW)                      
      <*> 24 bpp packed pixels support (NEW)                      
      <*> 32 bpp packed pixels support (NEW)                      
      < > Amiga bitplanes support (NEW)                           
      < > Amiga interleaved bitplanes support (NEW)               
      < > Atari interleaved bitplanes (2 planes) support (NEW)    
      < > Atari interleaved bitplanes (4 planes) support (NEW)    
      < > Atari interleaved bitplanes (8 planes) support (NEW)    
      < > Mac variable bpp packed pixels support (NEW)            
      [ ] VGA 16-color planar support (NEW)                       
      < > VGA characters/attributes support (NEW)                 
      [ ] Support only 8 pixels wide fonts (NEW)                  
      [ ] Select compiled-in fonts (NEW)                          

linux-2.4.0 
      +----------- Code maturity level options -----------------+
      [*] Prompt for development and/or incomplete code/drivers

      +------------------- Console drivers ---------------------+
      [*] VGA text console
      [*] Video mode selection support
      < > MDA text console (dual-headed) (EXPERIMENTAL)
      Frame-buffer support  --->


      +------------------- Frame-buffer support ----------------+
      [*] Support for frame buffer devices (EXPERIMENTAL)
      < >   nVidia Riva support (EXPERIMENTAL)
      < >   Cirrus Logic support (EXPERIMENTAL)
      < >   Permedia2 support (EXPERIMENTAL)
      < >   Cyber2000 support
      [*]   VESA VGA graphics console
      < >   VGA 16-color graphics console
      < >   Hercules mono graphics console (EXPERIMENTAL)
      < >   Matrox acceleration (EXPERIMENTAL)
      < >   ATI Mach64 display support (EXPERIMENTAL)
      < >   ATI Rage 128 display support (EXPERIMENTAL)
      < >   3Dfx Banshee/Voodoo3 display support (EXPERIMENTAL)
      < >   SIS 630/540 display support (EXPERIMENTAL)
      < >   Virtual Frame Buffer support (ONLY FOR TESTING!)
      [*]   Advanced low level driver options
      < >     Monochrome support
      < >     2 bpp packed pixels support
      < >     4 bpp packed pixels support
      <*>     8 bpp packed pixels support
      <*>     16 bpp packed pixels support
      <*>     24 bpp packed pixels support
      <*>     32 bpp packed pixels support
      < >     Amiga bitplanes support
      < >     Amiga interleaved bitplanes support
      < >     Atari interleaved bitplanes (2 planes) support
      < >     Atari interleaved bitplanes (4 planes) support
      < >     Atari interleaved bitplanes (8 planes) support
      < >     Mac variable bpp packed pixels support
      < >     VGA 16-color planar support
      < >     VGA characters/attributes support
      < >     HGA monochrome support (EXPERIMENTAL)
      [ ]   Support only 8 pixels wide fonts
      [ ]   Select compiled-in fonts



 # make dep; make clean
 # make
 # make bzdisk
 # make bzlilo
 # make modules
 # make modules_install
 # depmod -a

FD

 # make bzdisk
 # rdev -v /dev/fd0 -3


/dev/fb0 

# mknod -m 666 /dev/fb0 u 29 0

/etc/lilo.conf


FD
# Start LILO global section
boot = /dev/hda
delay = 300
vga = ask 

# lilo 
 


VESA . 
Colours 640x480 800x600 1024x768 1280x1024 1600x1200
8 bits 301 303 305 307 31C
15 bits 310 313 316 319 31D
16 bits 311 314 317 31A 31E
24 bits 312 315 318 31B 31F

lilo.confに vga=ask を指定したことによって以下の表示がブート時に出ます.
rdev -v /dev/fd0 -3 でビデオモードを選択可能に設定した FD で起動した場合も同じです.

Press <RETURN> to see video modes available, <SPACE> to continue or wait 30 secs


 
Video adapter: VESA VGA
Mode:    COLSxROWS
0 0F00   80x25
1 0F01   80x50
2 0F02   80x43
3 0F03   80x28
4 0F05   80x30
5 0F06   80x34
6 0F07   80x60
7 0309   132x25
8 030A   132x43
9 030B   132x50
a 030C   132x60

Enter mode number or `scan':_ 

 317 1024x768x16

 
vesafb: framebuffer at 0xd6000000, mapped to 0xc8800000, size 4096k
vesafb: mode is 1024x768x16, linelength=2048, pages=0
vesafb: protected mode interface info at c000:0241
vesafb: scrolling: redraw
vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device

video=vesa:ywrap  305 
 
vesafb: framebuffer at 0xfd000000, mapped to 0xc2802000, size 2048k
vesafb: mode is 1024x768x8, linelength=1024, pages=0
vesafb: protected mode interface info at c000:9a90
vesafb: pmi: set display start = c00c9ad2, set palette = c00c9af1
vesafb: pmi: ports = 3c0 3c4 3c5 3c7 3c8 3c9 3d4 3d5 3d6 3d7 3d8 3d9 3da
vesafb: scrolling: ywrap using protected mode interface, yres_virtual=2048
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device


DOS/V317

 /etc/lilo.conf 
 

使


/dev/fb0使 /dev/fb0

$ cat xxx.txt > /dev/fb0



$ cat /vmlinuz > /dev/fb0 

使  mmap() (2)X DOS/V

MS-WindowsWindows APIDirectXX11Xlib使 鹿

使

ご意見・ご感想は,mizutani.jun@nifty.ne.jp まで.