Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / Documentation / fb / sstfb.txt
diff --git a/kernel/Documentation/fb/sstfb.txt b/kernel/Documentation/fb/sstfb.txt
new file mode 100644 (file)
index 0000000..13db107
--- /dev/null
@@ -0,0 +1,174 @@
+
+Introduction
+
+         This is a frame buffer device driver for 3dfx' Voodoo Graphics 
+       (aka voodoo 1, aka sst1) and Voodoo² (aka Voodoo 2, aka CVG) based 
+       video boards. It's highly experimental code, but is guaranteed to work
+       on my computer, with my "Maxi Gamer 3D" and "Maxi Gamer 3d²" boards,
+       and with me "between chair and keyboard". Some people tested other
+       combinations and it seems that it works.
+         The main page is located at <http://sstfb.sourceforge.net>, and if
+       you want the latest version, check out the CVS, as the driver is a work
+       in progress, I feel uncomfortable with releasing tarballs of something
+       not completely working...Don't worry, it's still more than usable
+       (I eat my own dog food)
+
+         Please read the Bug section, and report any success or failure to me
+       (Ghozlane Toumi <gtoumi@laposte.net>).
+         BTW, If you have only one monitor , and you don't feel like playing
+       with the vga passthrou cable, I can only suggest borrowing a screen
+       somewhere... 
+
+
+Installation 
+
+         This driver (should) work on ix86, with "late" 2.2.x kernel (tested
+       with x = 19) and "recent" 2.4.x kernel, as a module or compiled in.
+         It has been included in mainstream kernel since the infamous 2.4.10.
+         You can apply the patches found in sstfb/kernel/*-2.{2|4}.x.patch,
+       and copy sstfb.c to linux/drivers/video/, or apply a single patch, 
+       sstfb/patch-2.{2|4}.x-sstfb-yymmdd to your linux source tree.
+
+         Then configure your kernel as usual: choose "m" or "y" to 3Dfx Voodoo
+       Graphics in section "console". Compile, install, have fun... and please
+       drop me a report :)
+
+
+Module Usage
+       
+       Warnings.
+       # You should read completely this section before issuing any command.
+       # If you have only one monitor to play with, once you insmod the
+         module, the 3dfx takes control of the output, so you'll have to
+         plug the monitor to the "normal" video board in order to issue
+         the commands, or you can blindly use sst_dbg_vgapass
+          in the tools directory (See Tools). The latest solution is pass the
+         parameter vgapass=1 when insmodding the driver. (See Kernel/Modules
+         Options)
+
+       Module insertion:
+       # insmod sstfb.o
+         you should see some strange output from the board: 
+         a big blue square, a green and a red small squares and a vertical
+         white rectangle. why? the function's name is self-explanatory:
+         "sstfb_test()"...
+         (if you don't have a second monitor, you'll have to plug your monitor
+         directly to the 2D videocard to see what you're typing)
+       # con2fb /dev/fbx /dev/ttyx
+         bind a tty to the new frame buffer. if you already have a frame
+         buffer driver, the voodoo fb will likely be /dev/fb1. if not, 
+         the device will be /dev/fb0. You can check this by doing a 
+         cat /proc/fb. You can find a copy of con2fb in tools/ directory.
+         if you don't have another fb device, this step is superfluous,
+         as the console subsystem automagicaly binds ttys to the fb.
+       # switch to the virtual console you just mapped. "tadaaa" ...
+
+       Module removal:
+       # con2fb /dev/fbx /dev/ttyx
+         bind the tty to the old frame buffer so the module can be removed.
+         (how does it work with vgacon ? short answer : it doesn't work)
+       # rmmod sstfb
+
+
+Kernel/Modules Options
+
+       You can pass some options to the sstfb module, and via the kernel 
+       command line when the driver is compiled in:
+       for module : insmod sstfb.o option1=value1 option2=value2 ...
+       in kernel :  video=sstfb:option1,option2:value2,option3 ...
+       
+       sstfb supports the following options :
+
+Module         Kernel          Description
+
+vgapass=0      vganopass       Enable or disable VGA passthrou cable.
+vgapass=1      vgapass         When enabled, the monitor will get the signal
+                               from the VGA board and not from the voodoo.
+                               Default: nopass
+
+mem=x          mem:x           Force frame buffer memory in MiB
+                               allowed values: 0, 1, 2, 4.
+                               Default: 0 (= autodetect)
+
+inverse=1      inverse         Supposed to enable inverse console.
+                               doesn't work yet...
+
+clipping=1     clipping        Enable or disable clipping.
+clipping=0     noclipping      With clipping enabled, all offscreen
+                               reads and writes are discarded.
+                               Default: enable clipping.
+
+gfxclk=x       gfxclk:x        Force graphic clock frequency (in MHz).
+                               Be careful with this option, it may be
+                               DANGEROUS.
+                               Default: auto 
+                                       50Mhz for Voodoo 1,
+                                       75MHz for Voodoo 2. 
+
+slowpci=1      fastpci         Enable or disable fast PCI read/writes.
+slowpci=1      slowpci         Default : fastpci
+
+dev=x          dev:x           Attach the driver to device number x.
+                               0 is the first compatible board (in 
+                               lspci order)
+
+Tools
+
+       These tools are mostly for debugging purposes, but you can 
+       find some of these interesting :
+        - con2fb , maps a tty to a fbramebuffer .
+               con2fb /dev/fb1 /dev/tty5
+        - sst_dbg_vgapass , changes vga passthrou. You have to recompile the
+       driver with SST_DEBUG and SST_DEBUG_IOCTL set to 1
+               sst_dbg_vgapass /dev/fb1 1 (enables vga cable)
+               sst_dbg_vgapass /dev/fb1 0 (disables vga cable)
+        - glide_reset , resets the voodoo using glide
+               use this after rmmoding sstfb, if the module refuses to
+               reinsert .
+
+Bugs
+
+       - DO NOT use glide while the sstfb module is in, you'll most likely
+       hang your computer.
+       - If you see some artefacts (pixels not cleaning and stuff like that), 
+       try turning off clipping (clipping=0), and/or using slowpci
+       - the driver don't detect the 4Mb frame buffer voodoos, it seems that
+       the 2 last Mbs wrap around. looking into that .
+       - The driver is 16 bpp only, 24/32 won't work.
+       - The driver is not your_favorite_toy-safe. this includes SMP...
+          [Actually from inspection it seems to be safe - Alan]
+       - When using XFree86 FBdev (X over fbdev) you may see strange color
+       patterns at the border of your windows (the pixels lose the lowest
+       byte -> basically the blue component and some of the green). I'm unable
+       to reproduce this with XFree86-3.3, but one of the testers has this
+       problem with XFree86-4. Apparently recent Xfree86-4.x solve this
+       problem.
+       - I didn't really test changing the palette, so you may find some weird
+       things when playing with that.
+       - Sometimes the driver will not recognise the DAC, and the
+        initialisation will fail. This is specifically true for
+       voodoo 2 boards, but it should be solved in recent versions. Please
+       contact me.
+       - The 24/32 is not likely to work anytime soon, knowing that the
+       hardware does ... unusual things in 24/32 bpp.
+       - When used with another video board, current limitations of the linux
+       console subsystem can cause some troubles, specifically, you should
+       disable software scrollback, as it can oops badly ...
+
+Todo
+
+       - Get rid of the previous paragraph.
+       - Buy more coffee.
+       - test/port to other arch.
+       - try to add panning using tweeks with front and back buffer .
+       - try to implement accel on voodoo2, this board can actually do a 
+         lot in 2D even if it was sold as a 3D only board ...
+
+ghoz.
+
+-- 
+Ghozlane Toumi <gtoumi@laposte.net>
+
+
+$Date: 2002/05/09 20:11:45 $
+http://sstfb.sourceforge.net/README