Blame view

Documentation/fb/sisfb.rst 6.47 KB
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
1
  ==============
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2
3
4
5
6
7
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
  What is sisfb?
  ==============
  
  sisfb is a framebuffer device driver for SiS (Silicon Integrated Systems)
  graphics chips. Supported are:
  
  - SiS 300 series: SiS 300/305, 540, 630(S), 730(S)
  - SiS 315 series: SiS 315/H/PRO, 55x, (M)65x, 740, (M)661(F/M)X, (M)741(GX)
  - SiS 330 series: SiS 330 ("Xabre"), (M)760
  
  
  Why do I need a framebuffer driver?
  ===================================
  
  sisfb is eg. useful if you want a high-resolution text console. Besides that,
  sisfb is required to run DirectFB (which comes with an additional, dedicated
  driver for the 315 series).
  
  On the 300 series, sisfb on kernels older than 2.6.3 furthermore plays an
  important role in connection with DRM/DRI: Sisfb manages the memory heap
  used by DRM/DRI for 3D texture and other data. This memory management is
  required for using DRI/DRM.
  
  Kernels >= around 2.6.3 do not need sisfb any longer for DRI/DRM memory
  management. The SiS DRM driver has been updated and features a memory manager
  of its own (which will be used if sisfb is not compiled). So unless you want
  a graphical console, you don't need sisfb on kernels >=2.6.3.
  
  Sidenote: Since this seems to be a commonly made mistake: sisfb and vesafb
  cannot be active at the same time! Do only select one of them in your kernel
  configuration.
  
  
  How are parameters passed to sisfb?
  ===================================
  
  Well, it depends: If compiled statically into the kernel, use lilo's append
  statement to add the parameters to the kernel command line. Please see lilo's
  (or GRUB's) documentation for more information. If sisfb is a kernel module,
  parameters are given with the modprobe (or insmod) command.
  
  Example for sisfb as part of the static kernel: Add the following line to your
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
44
  lilo.conf::
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
45
46
  
       append="video=sisfb:mode:1024x768x16,mem:12288,rate:75"
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
47
  Example for sisfb as a module: Start sisfb by typing::
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
48
49
50
51
52
53
54
55
56
57
58
  
       modprobe sisfb mode=1024x768x16 rate=75 mem=12288
  
  A common mistake is that folks use a wrong parameter format when using the
  driver compiled into the kernel. Please note: If compiled into the kernel,
  the parameter format is video=sisfb:mode:none or video=sisfb:mode:1024x768x16
  (or whatever mode you want to use, alternatively using any other format
  described above or the vesa keyword instead of mode). If compiled as a module,
  the parameter format reads mode=none or mode=1024x768x16 (or whatever mode you
  want to use). Using a "=" for a ":" (and vice versa) is a huge difference!
  Additionally: If you give more than one argument to the in-kernel sisfb, the
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
59
  arguments are separated with ",". For example::
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  
     video=sisfb:mode:1024x768x16,rate:75,mem:12288
  
  
  How do I use it?
  ================
  
  Preface statement: This file only covers very little of the driver's
  capabilities and features. Please refer to the author's and maintainer's
  website at http://www.winischhofer.net/linuxsisvga.shtml for more
  information. Additionally, "modinfo sisfb" gives an overview over all
  supported options including some explanation.
  
  The desired display mode can be specified using the keyword "mode" with
a2ffd2751   Matt LaPlante   Fix typos in Docu...
74
  a parameter in one of the following formats:
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
75

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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
    - XxYxDepth or
    - XxY-Depth or
    - XxY-Depth@Rate or
    - XxY
    - or simply use the VESA mode number in hexadecimal or decimal.
  
  For example: 1024x768x16, 1024x768-16@75, 1280x1024-16. If no depth is
  specified, it defaults to 8. If no rate is given, it defaults to 60Hz. Depth 32
  means 24bit color depth (but 32 bit framebuffer depth, which is not relevant
  to the user).
  
  Additionally, sisfb understands the keyword "vesa" followed by a VESA mode
  number in decimal or hexadecimal. For example: vesa=791 or vesa=0x117. Please
  use either "mode" or "vesa" but not both.
  
  Linux 2.4 only: If no mode is given, sisfb defaults to "no mode" (mode=none) if
  compiled as a module; if sisfb is statically compiled into the kernel, it
  defaults to 800x600x8 unless CRT2 type is LCD, in which case the LCD's native
  resolution is used. If you want to switch to a different mode, use the fbset
  shell command.
  
  Linux 2.6 only: If no mode is given, sisfb defaults to 800x600x8 unless CRT2
  type is LCD, in which case it defaults to the LCD's native resolution. If
  you want to switch to another mode, use the stty shell command.
  
  You should compile in both vgacon (to boot if you remove you SiS card from
  your system) and sisfb (for graphics mode). Under Linux 2.6, also "Framebuffer
  console support" (fbcon) is needed for a graphical console.
  
  You should *not* compile-in vesafb. And please do not use the "vga=" keyword
  in lilo's or grub's configuration file; mode selection is done using the
  "mode" or "vesa" keywords as a parameter. See above and below.
  
  
  X11
  ===
  
  If using XFree86 or X.org, it is recommended that you don't use the "fbdev"
  driver but the dedicated "sis" X driver. The "sis" X driver and sisfb are
  developed by the same person (Thomas Winischhofer) and cooperate well with
  each other.
  
  
  SVGALib
  =======
  
  SVGALib, if directly accessing the hardware, never restores the screen
  correctly, especially on laptops or if the output devices are LCD or TV.
  Therefore, use the chipset "FBDEV" in SVGALib configuration. This will make
  SVGALib use the framebuffer device for mode switches and restoration.
  
  
  Configuration
  =============
  
  (Some) accepted options:
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
132
133
134
135
136
  =========  ==================================================================
  off        Disable sisfb. This option is only understood if sisfb is
  	   in-kernel, not a module.
  mem:X      size of memory for the console, rest will be used for DRI/DRM. X
  	   is in kilobytes. On 300 series, the default is 4096, 8192 or
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
137
  	   16384 (each in kilobyte) depending on how much video ram the card
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
138
  	   has. On 315/330 series, the default is the maximum available ram
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
139
  	   (since DRI/DRM is not supported for these chipsets).
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
140
141
142
143
144
  noaccel    do not use 2D acceleration engine. (Default: use acceleration)
  noypan     disable y-panning and scroll by redrawing the entire screen.
  	   This is much slower than y-panning. (Default: use y-panning)
  vesa:X     selects startup videomode. X is number from 0 to 0x1FF and
  	   represents the VESA mode number (can be given in decimal or
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
145
  	   hexadecimal form, the latter prefixed with "0x").
ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
146
147
148
  mode:X     selects startup videomode. Please see above for the format of
  	   "X".
  =========  ==================================================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
149
150
151
152
153
  
  Boolean options such as "noaccel" or "noypan" are to be given without a
  parameter if sisfb is in-kernel (for example "video=sisfb:noypan). If
  sisfb is a module, these are to be set to 1 (for example "modprobe sisfb
  noypan=1").
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
154

ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
155
  Thomas Winischhofer <thomas@winischhofer.net>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
156

ab42b8189   Mauro Carvalho Chehab   docs: fb: convert...
157
  May 27, 2004