diff options
Diffstat (limited to 'docs/glfbdev-driver.html')
-rw-r--r-- | docs/glfbdev-driver.html | 73 |
1 files changed, 47 insertions, 26 deletions
diff --git a/docs/glfbdev-driver.html b/docs/glfbdev-driver.html index b49950eb9e1..f191b390fbe 100644 --- a/docs/glfbdev-driver.html +++ b/docs/glfbdev-driver.html @@ -37,54 +37,75 @@ The GL/glfbdev.h header file defines the glFBDev interface. 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> - XXX todo + make realclean + make linux-fbdev </pre> <p> When compilation is finished look in progs/glfbdev/ for the glfbdevtest demo. </p> - -</p> -xxx todo -</p> - - -<h1>3. Compiling and linking glFBDev programs</h1> +<h1>3. Permissions</h1> <p> -xxx todo -</p> - - - -<h1>4. Running glFBDev programs</h1> - +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> -First, you need to have a working fbdev environment. -See the -<a href="http://www.tldp.org/HOWTO/Framebuffer-HOWTO.html" target="_parent"> -Framebuffer Howto</a> for information. -</p> +<h1>4. Using fbdevglut</h1> +Almost all of the programs in the progs directory use glut, and they compile with fbdevglut. +Currently glBlendFunc is not working with glFBDev. <p> -Programs must be run with root permission. +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> |