2009-10-06 32 views

答えて

8

見FBIOPUT_VSCREENINFO、IOCTLとmmapでチェックアウトした場合

(私は、コードを持ってではなく、申し訳ありません。このPCで)

編集:これはあなたを始めるはずです

//open file descriptor and get info 
inf fdScreen = open("devicename", O_RDWR); 
fb_var_screeninfo varInfo; 
ioctl(fdScreen, FBIOGET_VSCREENINFO, &varInfo); 

    //set resolution/dpi/color depth/.. in varInfo, then write it back 
ioctl(fdScreen, FBIOPUT_VSCREENINFO, &varInfo); 

    //get writable screen memory; unsigned short here for 16bit color 
unsigned short* display = mmap(0, nScreenSize, 
           PROT_READ | PROT_WRITE, MAP_SHARED, fdScreen, 0); 
4

デバイスドライバを作成しますか?したがって、このハウツーガイド

+0

Documentation/fb/framebuffer.txtファイル(および特定のドライバの隣にあるドキュメント)も参照してください。 linuxカーネルツリー。 –

6

基本的に/ dev/fb0を開き、そこにioctlsを実行してmmapします。次に、プロセスのmmap'd領域に書き込むだけです。

関連する問題