| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | 
							- <HTML>
 - 
 - <TITLE>Mesa glFBDev Driver</TITLE>
 - 
 - <link rel="stylesheet" type="text/css" href="mesa.css"></head>
 - 
 - <BODY>
 - 
 - <center><H1>Mesa glFBDev Driver</H1></center>
 - 
 - 
 - <H1>1. Introduction</H1>
 - 
 - <p>
 - The GLFBDev driver interface allows one to do OpenGL rendering into a
 - framebuffer managed with the Linux's fbdev interface.
 - </p>
 - 
 - <p>
 - Basically, the programmer uses the fbdev functions to initialize the
 - graphics hardware and setup the framebuffer.
 - Then, using a calls to Mesa's glFBDev API functions, one can render
 - into the framebuffer with the OpenGL API functions.
 - </p>
 - 
 - <p>
 - Note, only software rendering is supported; there is no hardware
 - acceleration.
 - </p>
 - 
 - 
 - <p>
 - The GL/glfbdev.h header file defines the glFBDev interface.
 - </p>
 - 
 - <p>
 - The progs/fbdev/glfbdevtest.c demonstrates how to use the glFBDev interface.
 - </p>
 - 
 - 
 - <p>
 - For more information about fbdev, see the
 - <a href="http://www.tldp.org/HOWTO/Framebuffer-HOWTO.html" target="_parent">
 - Framebuffer Howto</a>
 - </p>
 - <p>
 - You will need at minimum, a framebuffer device, check /dev/fb0
 - </p>
 - 
 - <h1>2. Compilation</h1>
 - 
 - <p>
 - To compile Mesa with support for the glFBDev interface:
 - <pre>
 -       make realclean
 -       make linux-fbdev
 - </pre>
 - 
 - <p>
 - When compilation is finished look in progs/glfbdev/ for the glfbdevtest demo.
 - </p>
 - <h1>3. Permissions</h1>
 - 
 - <p>
 - Typically /dev/fb/0 is grouped to the video group.  It may be useful to add
 - your user to the video group so the demos will not have to be run as root.
 - To use fbdevglut with the prefered tty input, you should add the user to the
 - tty group as well
 - <p>
 - 
 - <h1>4. Using fbdevglut</h1>
 - Almost all of the programs in the progs directory use glut, and they compile with fbdevglut.
 - 
 - <p>
 - To compile the redbook sample programs:
 - <pre>
 -        cd progs/redbook
 -        make
 - </pre>
 - </p>
 - <p>glut features not supported:
 - <li>Overlays
 - <li>Subwindows
 - <li>Input devices other than Keyboard/Mouse
 - <li>No support for GLUT_MULTISAMPLE, GLUT_STEREO, or GLUT_LUMINANCE
 - <li>Cursor and Menu Support will flicker in GLUT_SINGLE mode
 - 
 - <p>Keyboard input is read by opening /dev/tty and reading keycodes in medium raw mode.
 - <p>Mouse input is read from env var MOUSE, or /dev/gpmdata and should be in ms3 format.
 - To forward data in this format to /dev/gpmdata, run gpm with the -Rms3 option.
 - <p> glutInit allows glut programs to pass parameters to the glut library, currently the
 - following options are supported for fbdevglut:
 - <p><li>-geometry widthxheight  --  This will force the resolution to be widthxheight instead of autodetecting.
 - The modes are read from /etc/fb.modes
 - <p><li>-bpp -- This will force the bitdepth to the one specified
 - <p><li>-vt -- This allows you to specify the virtual terminal to attach keyboard input to.  It is useful to specify when running inside screen.
 - <p><li>-mousespeed -- A floating point multiplication factor to increase mouse speed
 - <p><li>-nomouse -- Disable mouse support
 - <p><li>-nokeyboard -- Disable keyboard support (this will probably break mouse support as well)
 - <p><li>-stdin -- Use stdin for input instead of attaching to kbd in medium-raw mode.
 - This will make it impossible to detect keypresses like Shift+Tab, you will also need to specify -gpmmouse for mouse support.  This option can be used with a debugger, and it is possible to single step a program with gdb and set the FRAMEBUFFER environment variable to a different framebuffer for display.  The program will not be able to handle vt switching on it's own, so it will always display.
 - <p><li>-gpmmouse -- This will attempt to connect to the /dev/gpmctl socket using liblow
 - for mouse data.  Gpm does not provide this data when in graphics mode, so vt switching
 - will briefly display text.  This mode typically has no initial mouse delay.
 - <p><li>-- Ignore any additional arguments
 - <p>Notes:
 - <p>
 - 1. The mouse pointer flickers in single buffering mode, as it must be rendered in software.  Hopefully in the future there will be a way to access hardware cursors in fbdev devices.
 - </p>
 - </body>
 - </html>
 
 
  |