Thread (4 messages) 4 messages, 2 authors, 2006-03-16

Framebuffer questions

From: Ondrej Zajicek <hidden>
Date: 2006-03-15 21:10:30

Hello

I have several questions about fbdev. I already read FB-FAQ, most docs
in Documentation/fb/*, linux/fb.h and some messages in archive of this
mailing list.

- I understood that if i want to change videomode then i should set
  all items in struct fb_var_screeninfo, call ioctl FBIOPUT_VSCREENINFO,
  driver considers wanted parameters and if exactly this mode or mode
  with more bits_per_pixel or greater some bitfield.length is supported,
  then mode is changed, otherwise change is rejected. If change is
  successfull, then i should call ioctl FBIOGET_VSCREENINFO and
  FBIOGET_FSCREENINFO to get information about real framebuffer
  structure. Is this correct?

- Should i really set all fields? For example offset and msb_right
  parts of red, green, blue and transp. I usually don't care of this
  so i want to set some DONT_CARE value. Or are these items always
  ignored so i needn't set anything?
  
- If i have to supply complete mode timings for videomode change
  why there is modedb.c and mode lines stored inside drivers?

- I see there is FB_TYPE_TEXT mode (assume for standard text mode).
  what should i set in struct fb_var_screeninfo to get this mode?
  If i grep drivers/video for it, i get it occurs only in vga16fb.
  Is there some deep reason for this or just programmers of other
  fb drivers don't care about text mode?
  
- Is there some possibility to get list of possible framebuffer
  videomodes? Or just list of possible 'structural' framebuffer
  configurations (type,visual,bpp,r/g/b)? (i hope that usually this is
  ortogonal to resolution and timings setting - suppose have enough ram).
  I know about FB_ACTIVATE_TEST but use iterative binary search to
  find all video modes isn't sane idea :-)

- Is there description of fb sysfs interface anywhere? 

- Is there description of specific framebuffer formats for
  various FB_TYPE_* and FB_AUX_*  anywhere?

- I found that with vga16fb i can access just first plane.
  Is it possible to switch planes from userspace and without
  interaction with VGA registers?

- What exactly is supposed to do FB_SYNC_BROADCAST ?

- In include/fb.h there is:

#define FB_VISUAL_PSEUDOCOLOR           3       /* Pseudo color (like atari) */

  Is there some deep sense in remark '(like atari)' or is this well-known
  basic palette visual mode?

I hope i can get some answers or hints.

-- 
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santiago@mail.cz, jabber: santiago@njs.netlab.cz)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help