2009-10-06 14 views

risposta

8

sguardo FBIOPUT_VSCREENINFO, ioctl e mmap

(ho il codice, ma non in questo pc, sorry)

edit: questo dovrebbe iniziare

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

Stai cercando di scrivere un driver di dispositivo? Se è così verificare questa guida HowTo

+0

Leggere anche il file Documentation/fb/framebuffer.txt (e i documenti adiacenti per driver specifici) nel albero del kernel linux. –

6

Fondamentalmente apri/dev/fb0, fai alcuni ioctls su di esso, poi mmap it. Quindi scrivi semplicemente nell'area mmap'd nel tuo processo.

Problemi correlati