xref: /OK3568_Linux_fs/kernel/Documentation/fb/tridentfb.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun=========
2*4882a593SmuzhiyunTridentfb
3*4882a593Smuzhiyun=========
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunTridentfb is a framebuffer driver for some Trident chip based cards.
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunThe following list of chips is thought to be supported although not all are
8*4882a593Smuzhiyuntested:
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunthose from the TGUI series 9440/96XX and with Cyber in their names
11*4882a593Smuzhiyunthose from the Image series and with Cyber in their names
12*4882a593Smuzhiyunthose with Blade in their names (Blade3D,CyberBlade...)
13*4882a593Smuzhiyunthe newer CyberBladeXP family
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunAll families are accelerated. Only PCI/AGP based cards are supported,
16*4882a593Smuzhiyunnone of the older Tridents.
17*4882a593SmuzhiyunThe driver supports 8, 16 and 32 bits per pixel depths.
18*4882a593SmuzhiyunThe TGUI family requires a line length to be power of 2 if acceleration
19*4882a593Smuzhiyunis enabled. This means that range of possible resolutions and bpp is
20*4882a593Smuzhiyunlimited comparing to the range if acceleration is disabled (see list
21*4882a593Smuzhiyunof parameters below).
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunKnown bugs:
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun1. The driver randomly locks up on 3DImage975 chip with acceleration
26*4882a593Smuzhiyun   enabled. The same happens in X11 (Xorg).
27*4882a593Smuzhiyun2. The ramdac speeds require some more fine tuning. It is possible to
28*4882a593Smuzhiyun   switch resolution which the chip does not support at some depths for
29*4882a593Smuzhiyun   older chips.
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunHow to use it?
32*4882a593Smuzhiyun==============
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunWhen booting you can pass the video parameter::
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	video=tridentfb
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunThe parameters for tridentfb are concatenated with a ':' as in this example::
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun	video=tridentfb:800x600-16@75,noaccel
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunThe second level parameters that tridentfb understands are:
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun========  =====================================================================
45*4882a593Smuzhiyunnoaccel   turns off acceleration (when it doesn't work for your card)
46*4882a593Smuzhiyun
47*4882a593Smuzhiyunfp	  use flat panel related stuff
48*4882a593Smuzhiyuncrt 	  assume monitor is present instead of fp
49*4882a593Smuzhiyun
50*4882a593Smuzhiyuncenter 	  for flat panels and resolutions smaller than native size center the
51*4882a593Smuzhiyun	  image, otherwise use
52*4882a593Smuzhiyunstretch
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunmemsize   integer value in KB, use if your card's memory size is misdetected.
55*4882a593Smuzhiyun	  look at the driver output to see what it says when initializing.
56*4882a593Smuzhiyun
57*4882a593Smuzhiyunmemdiff   integer value in KB, should be nonzero if your card reports
58*4882a593Smuzhiyun	  more memory than it actually has. For instance mine is 192K less than
59*4882a593Smuzhiyun	  detection says in all three BIOS selectable situations 2M, 4M, 8M.
60*4882a593Smuzhiyun	  Only use if your video memory is taken from main memory hence of
61*4882a593Smuzhiyun	  configurable size. Otherwise use memsize.
62*4882a593Smuzhiyun	  If in some modes which barely fit the memory you see garbage
63*4882a593Smuzhiyun	  at the bottom this might help by not letting change to that mode
64*4882a593Smuzhiyun	  anymore.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunnativex   the width in pixels of the flat panel.If you know it (usually 1024
67*4882a593Smuzhiyun	  800 or 1280) and it is not what the driver seems to detect use it.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunbpp	  bits per pixel (8,16 or 32)
70*4882a593Smuzhiyunmode	  a mode name like 800x600-8@75 as described in
71*4882a593Smuzhiyun	  Documentation/fb/modedb.rst
72*4882a593Smuzhiyun========  =====================================================================
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunUsing insane values for the above parameters will probably result in driver
75*4882a593Smuzhiyunmisbehaviour so take care(for instance memsize=12345678 or memdiff=23784 or
76*4882a593Smuzhiyunnativex=93)
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunContact: jani@astechnix.ro
79