Blame view

Documentation/fb/sstfb.txt 6.7 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
  
  Introduction
  
  	  This is a frame buffer device driver for 3dfx' Voodoo Graphics 
be2a608bd   John Anthony Kazos Jr   documentation: co...
5
  	(aka voodoo 1, aka sst1) and Voodoo² (aka Voodoo 2, aka CVG) based 
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
6
  	video boards. It's highly experimental code, but is guaranteed to work
be2a608bd   John Anthony Kazos Jr   documentation: co...
7
  	on my computer, with my "Maxi Gamer 3D" and "Maxi Gamer 3d²" boards,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  	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 useable
  	(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
fff9289b2   Matt LaPlante   Fix typos in Docu...
51
  	  you should see some strange output from the board: 
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
52
  	  a big blue square, a green and a red small squares and a vertical
fff9289b2   Matt LaPlante   Fix typos in Docu...
53
  	  white rectangle. why? the function's name is self-explanatory:
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
54
55
  	  "sstfb_test()"...
  	  (if you don't have a second monitor, you'll have to plug your monitor
fff9289b2   Matt LaPlante   Fix typos in Docu...
56
  	  directly to the 2D videocard to see what you're typing)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  	# 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
992caacf1   Matt LaPlante   Fix typos in Docu...
74
75
  	You can pass some options to the sstfb module, and via the kernel 
  	command line when the driver is compiled in:
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
76
77
78
  	for module : insmod sstfb.o option1=value1 option2=value2 ...
  	in kernel :  video=sstfb:option1,option2:value2,option3 ...
  	
a2ffd2751   Matt LaPlante   Fix typos in Docu...
79
  	sstfb supports the following options :
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
  
  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
fff9289b2   Matt LaPlante   Fix typos in Docu...
97
  				reads and writes are discarded.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
98
99
100
  				Default: enable clipping.
  
  gfxclk=x	gfxclk:x	Force graphic clock frequency (in MHz).
fff9289b2   Matt LaPlante   Fix typos in Docu...
101
  				Be careful with this option, it may be
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
  				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]
53cb47268   Matt LaPlante   Fix typos in Docu...
139
  	- When using XFree86 FBdev (X over fbdev) you may see strange color
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
140
  	patterns at the border of your windows (the pixels lose the lowest
53cb47268   Matt LaPlante   Fix typos in Docu...
141
  	byte -> basically the blue component and some of the green). I'm unable
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
142
  	to reproduce this with XFree86-3.3, but one of the testers has this
53cb47268   Matt LaPlante   Fix typos in Docu...
143
  	problem with XFree86-4. Apparently recent Xfree86-4.x solve this
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
144
145
146
  	problem.
  	- I didn't really test changing the palette, so you may find some weird
  	things when playing with that.
53cb47268   Matt LaPlante   Fix typos in Docu...
147
148
149
150
151
152
153
154
155
  	- 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 ...
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
156
157
158
159
160
161
162
  
  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 .
3f6dee9b2   Matt LaPlante   Fix some typos in...
163
  	- try to implement accel on voodoo2, this board can actually do a 
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
164
165
166
167
168
169
170
171
172
173
  	  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