xref: /OK3568_Linux_fs/kernel/Documentation/fb/s3fb.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun===========================================
2*4882a593Smuzhiyuns3fb - fbdev driver for S3 Trio/Virge chips
3*4882a593Smuzhiyun===========================================
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunSupported Hardware
7*4882a593Smuzhiyun==================
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun	S3 Trio32
10*4882a593Smuzhiyun	S3 Trio64 (and variants V+, UV+, V2/DX, V2/GX)
11*4882a593Smuzhiyun	S3 Virge  (and variants VX, DX, GX and GX2+)
12*4882a593Smuzhiyun	S3 Plato/PX		(completely untested)
13*4882a593Smuzhiyun	S3 Aurora64V+		(completely untested)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	- only PCI bus supported
16*4882a593Smuzhiyun	- only BIOS initialized VGA devices supported
17*4882a593Smuzhiyun	- probably not working on big endian
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunI tested s3fb on Trio64 (plain, V+ and V2/DX) and Virge (plain, VX, DX),
20*4882a593Smuzhiyunall on i386.
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunSupported Features
24*4882a593Smuzhiyun==================
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	*  4 bpp pseudocolor modes (with 18bit palette, two variants)
27*4882a593Smuzhiyun	*  8 bpp pseudocolor mode (with 18bit palette)
28*4882a593Smuzhiyun	* 16 bpp truecolor modes (RGB 555 and RGB 565)
29*4882a593Smuzhiyun	* 24 bpp truecolor mode (RGB 888) on (only on Virge VX)
30*4882a593Smuzhiyun	* 32 bpp truecolor mode (RGB 888) on (not on Virge VX)
31*4882a593Smuzhiyun	* text mode (activated by bpp = 0)
32*4882a593Smuzhiyun	* interlaced mode variant (not available in text mode)
33*4882a593Smuzhiyun	* doublescan mode variant (not available in text mode)
34*4882a593Smuzhiyun	* panning in both directions
35*4882a593Smuzhiyun	* suspend/resume support
36*4882a593Smuzhiyun	* DPMS support
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunText mode is supported even in higher resolutions, but there is limitation to
39*4882a593Smuzhiyunlower pixclocks (maximum usually between 50-60 MHz, depending on specific
40*4882a593Smuzhiyunhardware, i get best results from plain S3 Trio32 card - about 75 MHz). This
41*4882a593Smuzhiyunlimitation is not enforced by driver. Text mode supports 8bit wide fonts only
42*4882a593Smuzhiyun(hardware limitation) and 16bit tall fonts (driver limitation). Text mode
43*4882a593Smuzhiyunsupport is broken on S3 Trio64 V2/DX.
44*4882a593Smuzhiyun
45*4882a593SmuzhiyunThere are two 4 bpp modes. First mode (selected if nonstd == 0) is mode with
46*4882a593Smuzhiyunpacked pixels, high nibble first. Second mode (selected if nonstd == 1) is mode
47*4882a593Smuzhiyunwith interleaved planes (1 byte interleave), MSB first. Both modes support
48*4882a593Smuzhiyun8bit wide fonts only (driver limitation).
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunSuspend/resume works on systems that initialize video card during resume and
51*4882a593Smuzhiyunif device is active (for example used by fbcon).
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun
54*4882a593SmuzhiyunMissing Features
55*4882a593Smuzhiyun================
56*4882a593Smuzhiyun(alias TODO list)
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	* secondary (not initialized by BIOS) device support
59*4882a593Smuzhiyun	* big endian support
60*4882a593Smuzhiyun	* Zorro bus support
61*4882a593Smuzhiyun	* MMIO support
62*4882a593Smuzhiyun	* 24 bpp mode support on more cards
63*4882a593Smuzhiyun	* support for fontwidths != 8 in 4 bpp modes
64*4882a593Smuzhiyun	* support for fontheight != 16 in text mode
65*4882a593Smuzhiyun	* composite and external sync (is anyone able to test this?)
66*4882a593Smuzhiyun	* hardware cursor
67*4882a593Smuzhiyun	* video overlay support
68*4882a593Smuzhiyun	* vsync synchronization
69*4882a593Smuzhiyun	* feature connector support
70*4882a593Smuzhiyun	* acceleration support (8514-like 2D, Virge 3D, busmaster transfers)
71*4882a593Smuzhiyun	* better values for some magic registers (performance issues)
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunKnown bugs
75*4882a593Smuzhiyun==========
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	* cursor disable in text mode doesn't work
78*4882a593Smuzhiyun	* text mode broken on S3 Trio64 V2/DX
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun--
82*4882a593SmuzhiyunOndrej Zajicek <santiago@crfreenet.org>
83