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