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