cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sisfb.rst (6625B)


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