2009-10-06 9 views

Répondre

8

regard sur FBIOPUT_VSCREENINFO, ioctl et mmap

(je le code, mais pas à ce pc, désolé)

modifier: cela devrait vous aider à démarrer

//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

Voulez-vous écrire un pilote de périphérique? Si oui consultez ce guide HowTo

+0

Lisez aussi le fichier Documentation/fb/framebuffer.txt (et les docs contigus pour des pilotes spécifiques) dans le linux kernel tree. –

6

Fondamentalement, vous ouvrez/dev/fb0, faites des ioctls dessus, puis mmapez-le. Ensuite, vous écrivez juste à la zone mmap'd dans votre processus.

Questions connexes