Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^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