diff options
Diffstat (limited to 'Documentation/fb/sisfb.txt')
-rw-r--r-- | Documentation/fb/sisfb.txt | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/Documentation/fb/sisfb.txt b/Documentation/fb/sisfb.txt new file mode 100644 index 000000000000..3b50c517a08d --- /dev/null +++ b/Documentation/fb/sisfb.txt | |||
@@ -0,0 +1,158 @@ | |||
1 | |||
2 | What is sisfb? | ||
3 | ============== | ||
4 | |||
5 | sisfb is a framebuffer device driver for SiS (Silicon Integrated Systems) | ||
6 | graphics chips. Supported are: | ||
7 | |||
8 | - SiS 300 series: SiS 300/305, 540, 630(S), 730(S) | ||
9 | - SiS 315 series: SiS 315/H/PRO, 55x, (M)65x, 740, (M)661(F/M)X, (M)741(GX) | ||
10 | - SiS 330 series: SiS 330 ("Xabre"), (M)760 | ||
11 | |||
12 | |||
13 | Why do I need a framebuffer driver? | ||
14 | =================================== | ||
15 | |||
16 | sisfb is eg. useful if you want a high-resolution text console. Besides that, | ||
17 | sisfb is required to run DirectFB (which comes with an additional, dedicated | ||
18 | driver for the 315 series). | ||
19 | |||
20 | On the 300 series, sisfb on kernels older than 2.6.3 furthermore plays an | ||
21 | important role in connection with DRM/DRI: Sisfb manages the memory heap | ||
22 | used by DRM/DRI for 3D texture and other data. This memory management is | ||
23 | required for using DRI/DRM. | ||
24 | |||
25 | Kernels >= around 2.6.3 do not need sisfb any longer for DRI/DRM memory | ||
26 | management. The SiS DRM driver has been updated and features a memory manager | ||
27 | of its own (which will be used if sisfb is not compiled). So unless you want | ||
28 | a graphical console, you don't need sisfb on kernels >=2.6.3. | ||
29 | |||
30 | Sidenote: Since this seems to be a commonly made mistake: sisfb and vesafb | ||
31 | cannot be active at the same time! Do only select one of them in your kernel | ||
32 | configuration. | ||
33 | |||
34 | |||
35 | How are parameters passed to sisfb? | ||
36 | =================================== | ||
37 | |||
38 | Well, it depends: If compiled statically into the kernel, use lilo's append | ||
39 | statement to add the parameters to the kernel command line. Please see lilo's | ||
40 | (or GRUB's) documentation for more information. If sisfb is a kernel module, | ||
41 | parameters are given with the modprobe (or insmod) command. | ||
42 | |||
43 | Example for sisfb as part of the static kernel: Add the following line to your | ||
44 | lilo.conf: | ||
45 | |||
46 | append="video=sisfb:mode:1024x768x16,mem:12288,rate:75" | ||
47 | |||
48 | Example for sisfb as a module: Start sisfb by typing | ||
49 | |||
50 | modprobe sisfb mode=1024x768x16 rate=75 mem=12288 | ||
51 | |||
52 | A common mistake is that folks use a wrong parameter format when using the | ||
53 | driver compiled into the kernel. Please note: If compiled into the kernel, | ||
54 | the parameter format is video=sisfb:mode:none or video=sisfb:mode:1024x768x16 | ||
55 | (or whatever mode you want to use, alternatively using any other format | ||
56 | described above or the vesa keyword instead of mode). If compiled as a module, | ||
57 | the parameter format reads mode=none or mode=1024x768x16 (or whatever mode you | ||
58 | want to use). Using a "=" for a ":" (and vice versa) is a huge difference! | ||
59 | Additionally: If you give more than one argument to the in-kernel sisfb, the | ||
60 | arguments are separated with ",". For example: | ||
61 | |||
62 | video=sisfb:mode:1024x768x16,rate:75,mem:12288 | ||
63 | |||
64 | |||
65 | How do I use it? | ||
66 | ================ | ||
67 | |||
68 | Preface statement: This file only covers very little of the driver's | ||
69 | capabilities and features. Please refer to the author's and maintainer's | ||
70 | website at http://www.winischhofer.net/linuxsisvga.shtml for more | ||
71 | information. Additionally, "modinfo sisfb" gives an overview over all | ||
72 | supported options including some explanation. | ||
73 | |||
74 | The desired display mode can be specified using the keyword "mode" with | ||
75 | a parameter in one of the follwing formats: | ||
76 | - XxYxDepth or | ||
77 | - XxY-Depth or | ||
78 | - XxY-Depth@Rate or | ||
79 | - XxY | ||
80 | - or simply use the VESA mode number in hexadecimal or decimal. | ||
81 | |||
82 | For example: 1024x768x16, 1024x768-16@75, 1280x1024-16. If no depth is | ||
83 | specified, it defaults to 8. If no rate is given, it defaults to 60Hz. Depth 32 | ||
84 | means 24bit color depth (but 32 bit framebuffer depth, which is not relevant | ||
85 | to the user). | ||
86 | |||
87 | Additionally, sisfb understands the keyword "vesa" followed by a VESA mode | ||
88 | number in decimal or hexadecimal. For example: vesa=791 or vesa=0x117. Please | ||
89 | use either "mode" or "vesa" but not both. | ||
90 | |||
91 | Linux 2.4 only: If no mode is given, sisfb defaults to "no mode" (mode=none) if | ||
92 | compiled as a module; if sisfb is statically compiled into the kernel, it | ||
93 | defaults to 800x600x8 unless CRT2 type is LCD, in which case the LCD's native | ||
94 | resolution is used. If you want to switch to a different mode, use the fbset | ||
95 | shell command. | ||
96 | |||
97 | Linux 2.6 only: If no mode is given, sisfb defaults to 800x600x8 unless CRT2 | ||
98 | type is LCD, in which case it defaults to the LCD's native resolution. If | ||
99 | you want to switch to another mode, use the stty shell command. | ||
100 | |||
101 | You should compile in both vgacon (to boot if you remove you SiS card from | ||
102 | your system) and sisfb (for graphics mode). Under Linux 2.6, also "Framebuffer | ||
103 | console support" (fbcon) is needed for a graphical console. | ||
104 | |||
105 | You should *not* compile-in vesafb. And please do not use the "vga=" keyword | ||
106 | in lilo's or grub's configuration file; mode selection is done using the | ||
107 | "mode" or "vesa" keywords as a parameter. See above and below. | ||
108 | |||
109 | |||
110 | X11 | ||
111 | === | ||
112 | |||
113 | If using XFree86 or X.org, it is recommended that you don't use the "fbdev" | ||
114 | driver but the dedicated "sis" X driver. The "sis" X driver and sisfb are | ||
115 | developed by the same person (Thomas Winischhofer) and cooperate well with | ||
116 | each other. | ||
117 | |||
118 | |||
119 | SVGALib | ||
120 | ======= | ||
121 | |||
122 | SVGALib, if directly accessing the hardware, never restores the screen | ||
123 | correctly, especially on laptops or if the output devices are LCD or TV. | ||
124 | Therefore, use the chipset "FBDEV" in SVGALib configuration. This will make | ||
125 | SVGALib use the framebuffer device for mode switches and restoration. | ||
126 | |||
127 | |||
128 | Configuration | ||
129 | ============= | ||
130 | |||
131 | (Some) accepted options: | ||
132 | |||
133 | off - Disable sisfb. This option is only understood if sisfb is | ||
134 | in-kernel, not a module. | ||
135 | mem:X - size of memory for the console, rest will be used for DRI/DRM. X | ||
136 | is in kilobytes. On 300 series, the default is 4096, 8192 or | ||
137 | 16384 (each in kilobyte) depending on how much video ram the card | ||
138 | has. On 315/330 series, the default is the maximum available ram | ||
139 | (since DRI/DRM is not supported for these chipsets). | ||
140 | noaccel - do not use 2D acceleration engine. (Default: use acceleration) | ||
141 | noypan - disable y-panning and scroll by redrawing the entire screen. | ||
142 | This is much slower than y-panning. (Default: use y-panning) | ||
143 | vesa:X - selects startup videomode. X is number from 0 to 0x1FF and | ||
144 | represents the VESA mode number (can be given in decimal or | ||
145 | hexadecimal form, the latter prefixed with "0x"). | ||
146 | mode:X - selects startup videomode. Please see above for the format of | ||
147 | "X". | ||
148 | |||
149 | Boolean options such as "noaccel" or "noypan" are to be given without a | ||
150 | parameter if sisfb is in-kernel (for example "video=sisfb:noypan). If | ||
151 | sisfb is a module, these are to be set to 1 (for example "modprobe sisfb | ||
152 | noypan=1"). | ||
153 | |||
154 | -- | ||
155 | Thomas Winischhofer <thomas@winischhofer.net> | ||
156 | May 27, 2004 | ||
157 | |||
158 | |||