1 |
1275 |
phoenix |
|
2 |
|
|
Introduction
|
3 |
|
|
|
4 |
|
|
This is a frame buffer device driver for 3dfx' Voodoo Graphics
|
5 |
|
|
(aka voodoo 1, aka sst1) and VoodooČ (aka Voodoo 2, aka CVG) based
|
6 |
|
|
video boards. It's highly experimental code, but is guaranteed to work
|
7 |
|
|
on my computer, with my "Maxi Gamer 3D" and "Maxi Gamer 3dČ" boards,
|
8 |
|
|
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 , and if
|
11 |
|
|
you want the latest version, check out the CVS, as the driver is a work
|
12 |
|
|
in progress, I feel incomfortable with releasing tarballs of something
|
13 |
|
|
not completely working...Don't worry, it's still more than useable
|
14 |
|
|
(I eat my own dog food)
|
15 |
|
|
|
16 |
|
|
Please read the Bug section, and report any success or failure to me
|
17 |
|
|
(Ghozlane Toumi ).
|
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 |
|
|
|
23 |
|
|
Installation
|
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 |
|
|
|
37 |
|
|
Module 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
|
51 |
|
|
you should see some strange output frome the board:
|
52 |
|
|
a big blue square, a green and a red small squares and a vertical
|
53 |
|
|
white rectangle. why ? the function's name is self explanatory :
|
54 |
|
|
"sstfb_test()"...
|
55 |
|
|
(if you don't have a second monitor, you'll have to plug your monitor
|
56 |
|
|
directely to the 2D videocard to see what you're typing)
|
57 |
|
|
# 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 |
|
|
|
73 |
|
|
Kernel/Modules Options
|
74 |
|
|
|
75 |
|
|
You can pass some otions to sstfb module, and via the kernel command
|
76 |
|
|
line when the driver is compiled in :
|
77 |
|
|
for module : insmod sstfb.o option1=value1 option2=value2 ...
|
78 |
|
|
in kernel : video=sstfb:option1,option2:value2,option3 ...
|
79 |
|
|
|
80 |
|
|
sstfb supports the folowing options :
|
81 |
|
|
|
82 |
|
|
Module Kernel Description
|
83 |
|
|
|
84 |
|
|
vgapass=0 vganopass Enable or disable VGA passthrou cable.
|
85 |
|
|
vgapass=1 vgapass When enabled, the monitor will get the signal
|
86 |
|
|
from the VGA board and not from the voodoo.
|
87 |
|
|
Default: nopass
|
88 |
|
|
|
89 |
|
|
mem=x mem:x Force frame buffer memory in MiB
|
90 |
|
|
allowed values: 0, 1, 2, 4.
|
91 |
|
|
Default: 0 (= autodetect)
|
92 |
|
|
|
93 |
|
|
inverse=1 inverse Supposed to enable inverse console.
|
94 |
|
|
doesn't work yet...
|
95 |
|
|
|
96 |
|
|
clipping=1 clipping Enable or disable clipping.
|
97 |
|
|
clipping=0 noclipping With clipping enabled, all offscreen
|
98 |
|
|
reads and writes are disgarded.
|
99 |
|
|
Default: enable clipping.
|
100 |
|
|
|
101 |
|
|
gfxclk=x gfxclk:x Force graphic clock frequency (in MHz).
|
102 |
|
|
Be carefull with this option, it may be
|
103 |
|
|
DANGEROUS.
|
104 |
|
|
Default: auto
|
105 |
|
|
50Mhz for Voodoo 1,
|
106 |
|
|
75MHz for Voodoo 2.
|
107 |
|
|
|
108 |
|
|
slowpci=1 fastpci Enable or disable fast PCI read/writes.
|
109 |
|
|
slowpci=1 slowpci Default : fastpci
|
110 |
|
|
|
111 |
|
|
dev=x dev:x Attach the driver to device number x.
|
112 |
|
|
|
113 |
|
|
lspci order)
|
114 |
|
|
|
115 |
|
|
Tools
|
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 |
|
|
|
129 |
|
|
Bugs
|
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]
|
140 |
|
|
- when using XFree86 FBdev (X over fbdev) you may see strange color
|
141 |
|
|
patterns at the border of your windows (the pixels loose the lowest
|
142 |
|
|
byte -> basicaly the blue component nd some of the green) . I'm unable
|
143 |
|
|
to reproduce this with XFree86-3.3, but one of the testers has this
|
144 |
|
|
problem with XFree86-4. apparently recent Xfree86-4.x solve this
|
145 |
|
|
problem.
|
146 |
|
|
- I didn't really test changing the palette, so you may find some weird
|
147 |
|
|
things when playing with that.
|
148 |
|
|
- Sometimes the driver will not recognise the DAC , and the
|
149 |
|
|
initialisation will fail. this is specificaly 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 thigs in 24/32 bpp
|
154 |
|
|
- When used with anther video board, current limitations of linux
|
155 |
|
|
console subsystem can cause some troubles, specificaly, you should
|
156 |
|
|
disable software scrollback , as it can oops badly ...
|
157 |
|
|
|
158 |
|
|
Todo
|
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 .
|
164 |
|
|
- try to implement accel on voodoo2 , this board can actualy do a
|
165 |
|
|
lot in 2D even if it was sold as a 3D only board ...
|
166 |
|
|
|
167 |
|
|
ghoz.
|
168 |
|
|
|
169 |
|
|
--
|
170 |
|
|
Ghozlane Toumi
|
171 |
|
|
|
172 |
|
|
|
173 |
|
|
$Date: 2004-04-15 02:32:00 $
|
174 |
|
|
http://sstfb.sourceforge.net/README
|