blob: 13db1075e4a5cccda573a997e24029c18e58ad4b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001
2Introduction
3
4 This is a frame buffer device driver for 3dfx' Voodoo Graphics
John Anthony Kazos Jrbe2a6082007-05-09 08:50:42 +02005 (aka voodoo 1, aka sst1) and Voodoo² (aka Voodoo 2, aka CVG) based
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 video boards. It's highly experimental code, but is guaranteed to work
John Anthony Kazos Jrbe2a6082007-05-09 08:50:42 +02007 on my computer, with my "Maxi Gamer 3D" and "Maxi Gamer 3d²" boards,
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 and with me "between chair and keyboard". Some people tested other
9 combinations and it seems that it works.
10 The main page is located at <http://sstfb.sourceforge.net>, and if
11 you want the latest version, check out the CVS, as the driver is a work
12 in progress, I feel uncomfortable with releasing tarballs of something
Carlos Garciac98be0c2014-04-04 22:31:00 -040013 not completely working...Don't worry, it's still more than usable
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 (I eat my own dog food)
15
16 Please read the Bug section, and report any success or failure to me
17 (Ghozlane Toumi <gtoumi@laposte.net>).
18 BTW, If you have only one monitor , and you don't feel like playing
19 with the vga passthrou cable, I can only suggest borrowing a screen
20 somewhere...
21
22
23Installation
24
25 This driver (should) work on ix86, with "late" 2.2.x kernel (tested
26 with x = 19) and "recent" 2.4.x kernel, as a module or compiled in.
27 It has been included in mainstream kernel since the infamous 2.4.10.
28 You can apply the patches found in sstfb/kernel/*-2.{2|4}.x.patch,
29 and copy sstfb.c to linux/drivers/video/, or apply a single patch,
30 sstfb/patch-2.{2|4}.x-sstfb-yymmdd to your linux source tree.
31
32 Then configure your kernel as usual: choose "m" or "y" to 3Dfx Voodoo
33 Graphics in section "console". Compile, install, have fun... and please
34 drop me a report :)
35
36
37Module Usage
38
39 Warnings.
40 # You should read completely this section before issuing any command.
41 # If you have only one monitor to play with, once you insmod the
42 module, the 3dfx takes control of the output, so you'll have to
43 plug the monitor to the "normal" video board in order to issue
44 the commands, or you can blindly use sst_dbg_vgapass
45 in the tools directory (See Tools). The latest solution is pass the
46 parameter vgapass=1 when insmodding the driver. (See Kernel/Modules
47 Options)
48
49 Module insertion:
50 # insmod sstfb.o
Matt LaPlantefff92892006-10-03 22:47:42 +020051 you should see some strange output from the board:
Linus Torvalds1da177e2005-04-16 15:20:36 -070052 a big blue square, a green and a red small squares and a vertical
Matt LaPlantefff92892006-10-03 22:47:42 +020053 white rectangle. why? the function's name is self-explanatory:
Linus Torvalds1da177e2005-04-16 15:20:36 -070054 "sstfb_test()"...
55 (if you don't have a second monitor, you'll have to plug your monitor
Matt LaPlantefff92892006-10-03 22:47:42 +020056 directly to the 2D videocard to see what you're typing)
Linus Torvalds1da177e2005-04-16 15:20:36 -070057 # con2fb /dev/fbx /dev/ttyx
58 bind a tty to the new frame buffer. if you already have a frame
59 buffer driver, the voodoo fb will likely be /dev/fb1. if not,
60 the device will be /dev/fb0. You can check this by doing a
61 cat /proc/fb. You can find a copy of con2fb in tools/ directory.
62 if you don't have another fb device, this step is superfluous,
63 as the console subsystem automagicaly binds ttys to the fb.
64 # switch to the virtual console you just mapped. "tadaaa" ...
65
66 Module removal:
67 # con2fb /dev/fbx /dev/ttyx
68 bind the tty to the old frame buffer so the module can be removed.
69 (how does it work with vgacon ? short answer : it doesn't work)
70 # rmmod sstfb
71
72
73Kernel/Modules Options
74
Matt LaPlante992caac2006-10-03 22:52:05 +020075 You can pass some options to the sstfb module, and via the kernel
76 command line when the driver is compiled in:
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 for module : insmod sstfb.o option1=value1 option2=value2 ...
78 in kernel : video=sstfb:option1,option2:value2,option3 ...
79
Matt LaPlantea2ffd272006-10-03 22:49:15 +020080 sstfb supports the following options :
Linus Torvalds1da177e2005-04-16 15:20:36 -070081
82Module Kernel Description
83
84vgapass=0 vganopass Enable or disable VGA passthrou cable.
85vgapass=1 vgapass When enabled, the monitor will get the signal
86 from the VGA board and not from the voodoo.
87 Default: nopass
88
89mem=x mem:x Force frame buffer memory in MiB
90 allowed values: 0, 1, 2, 4.
91 Default: 0 (= autodetect)
92
93inverse=1 inverse Supposed to enable inverse console.
94 doesn't work yet...
95
96clipping=1 clipping Enable or disable clipping.
97clipping=0 noclipping With clipping enabled, all offscreen
Matt LaPlantefff92892006-10-03 22:47:42 +020098 reads and writes are discarded.
Linus Torvalds1da177e2005-04-16 15:20:36 -070099 Default: enable clipping.
100
101gfxclk=x gfxclk:x Force graphic clock frequency (in MHz).
Matt LaPlantefff92892006-10-03 22:47:42 +0200102 Be careful with this option, it may be
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103 DANGEROUS.
104 Default: auto
105 50Mhz for Voodoo 1,
106 75MHz for Voodoo 2.
107
108slowpci=1 fastpci Enable or disable fast PCI read/writes.
109slowpci=1 slowpci Default : fastpci
110
111dev=x dev:x Attach the driver to device number x.
112 0 is the first compatible board (in
113 lspci order)
114
115Tools
116
117 These tools are mostly for debugging purposes, but you can
118 find some of these interesting :
119 - con2fb , maps a tty to a fbramebuffer .
120 con2fb /dev/fb1 /dev/tty5
121 - sst_dbg_vgapass , changes vga passthrou. You have to recompile the
122 driver with SST_DEBUG and SST_DEBUG_IOCTL set to 1
123 sst_dbg_vgapass /dev/fb1 1 (enables vga cable)
124 sst_dbg_vgapass /dev/fb1 0 (disables vga cable)
125 - glide_reset , resets the voodoo using glide
126 use this after rmmoding sstfb, if the module refuses to
127 reinsert .
128
129Bugs
130
131 - DO NOT use glide while the sstfb module is in, you'll most likely
132 hang your computer.
133 - If you see some artefacts (pixels not cleaning and stuff like that),
134 try turning off clipping (clipping=0), and/or using slowpci
135 - the driver don't detect the 4Mb frame buffer voodoos, it seems that
136 the 2 last Mbs wrap around. looking into that .
137 - The driver is 16 bpp only, 24/32 won't work.
138 - The driver is not your_favorite_toy-safe. this includes SMP...
139 [Actually from inspection it seems to be safe - Alan]
Matt LaPlante53cb4722006-10-03 22:55:17 +0200140 - When using XFree86 FBdev (X over fbdev) you may see strange color
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141 patterns at the border of your windows (the pixels lose the lowest
Matt LaPlante53cb4722006-10-03 22:55:17 +0200142 byte -> basically the blue component and some of the green). I'm unable
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143 to reproduce this with XFree86-3.3, but one of the testers has this
Matt LaPlante53cb4722006-10-03 22:55:17 +0200144 problem with XFree86-4. Apparently recent Xfree86-4.x solve this
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145 problem.
146 - I didn't really test changing the palette, so you may find some weird
147 things when playing with that.
Matt LaPlante53cb4722006-10-03 22:55:17 +0200148 - Sometimes the driver will not recognise the DAC, and the
149 initialisation will fail. This is specifically true for
150 voodoo 2 boards, but it should be solved in recent versions. Please
151 contact me.
152 - The 24/32 is not likely to work anytime soon, knowing that the
153 hardware does ... unusual things in 24/32 bpp.
154 - When used with another video board, current limitations of the linux
155 console subsystem can cause some troubles, specifically, you should
156 disable software scrollback, as it can oops badly ...
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157
158Todo
159
160 - Get rid of the previous paragraph.
161 - Buy more coffee.
162 - test/port to other arch.
163 - try to add panning using tweeks with front and back buffer .
Matt LaPlante3f6dee92006-10-03 22:45:33 +0200164 - try to implement accel on voodoo2, this board can actually do a
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 lot in 2D even if it was sold as a 3D only board ...
166
167ghoz.
168
169--
170Ghozlane Toumi <gtoumi@laposte.net>
171
172
173$Date: 2002/05/09 20:11:45 $
174http://sstfb.sourceforge.net/README