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) Intel 830M/845G/852GM/855GM/865G/915G/945G Framebuffer driver
^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) A. Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) This is a framebuffer driver for various Intel 8xx/9xx compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) graphics devices.  These would include:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	- Intel 830M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	- Intel 845G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 	- Intel 852GM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	- Intel 855GM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	- Intel 865G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	- Intel 915G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	- Intel 915GM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	- Intel 945G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	- Intel 945GM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	- Intel 945GME
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 	- Intel 965G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	- Intel 965GM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) B.  List of available options
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)    a. "video=intelfb"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	enables the intelfb driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	Recommendation: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)    b. "mode=<xres>x<yres>[-<bpp>][@<refresh>]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	select mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	Recommendation: user preference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	(default = 1024x768-32@70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)    c. "vram=<value>"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	select amount of system RAM in MB to allocate for the video memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	if not enough RAM was already allocated by the BIOS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	Recommendation: 1 - 4 MB.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	(default = 4 MB)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)    d. "voffset=<value>"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	select at what offset in MB of the logical memory to allocate the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	framebuffer memory.  The intent is to avoid the memory blocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	used by standard graphics applications (XFree86). Depending on your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	usage, adjust the value up or down, (0 for maximum usage, 63/127 MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	for the least amount).  Note, an arbitrary setting may conflict
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	with XFree86.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	Recommendation: do not set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	(default = 48 MB)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)    e. "accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	enable text acceleration.  This can be enabled/reenabled anytime
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	by using 'fbset -accel true/false'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	Recommendation: enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	(default = set)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)    f. "hwcursor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	enable cursor acceleration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	Recommendation: enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	(default = set)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69)    g. "mtrr"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	enable MTRR.  This allows data transfers to the framebuffer memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	to occur in bursts which can significantly increase performance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	Not very helpful with the intel chips because of 'shared memory'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	Recommendation: set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	(default = set)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)    h. "fixed"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	disable mode switching.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	Recommendation: do not set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	(default = not set)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)    The binary parameters can be unset with a "no" prefix, example "noaccel".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)    The default parameter (not named) is the mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) C. Kernel booting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) =================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) Separate each option/option-pair by commas (,) and the option from its value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) with an equals sign (=) as in the following::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	video=intelfb:option1,option2=value2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) Sample Usage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) In /etc/lilo.conf, add the line::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	append="video=intelfb:mode=800x600-32@75,accel,hwcursor,vram=8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) This will initialize the framebuffer to 800x600 at 32bpp and 75Hz. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) framebuffer will use 8 MB of System RAM. hw acceleration of text and cursor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) will be enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) Remarks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) -------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) If setting this parameter doesn't work (you stay in a 80x25 text-mode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) you might need to set the "vga=<mode>" parameter too - see vesafb.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) in this directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) D.  Module options
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) The module parameters are essentially similar to the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) parameters. The main difference is that you need to include a Boolean value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) (1 for TRUE, and 0 for FALSE) for those options which don't need a value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) Example, to enable MTRR, include "mtrr=1".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) Sample Usage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Using the same setup as described above, load the module like this::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	modprobe intelfb mode=800x600-32@75 vram=8 accel=1 hwcursor=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) Or just add the following to a configuration file in /etc/modprobe.d/::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	options intelfb mode=800x600-32@75 vram=8 accel=1 hwcursor=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) and just do a::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	modprobe intelfb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) E.  Acknowledgment:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	1.  Geert Uytterhoeven - his excellent howto and the virtual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	    framebuffer driver code made this possible.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 	2.  Jeff Hartmann for his agpgart code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	3.  David Dawes for his original kernel 2.4 code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	4.  The X developers.  Insights were provided just by reading the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	    XFree86 source code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	5.  Antonino A. Daplas for his inspiring i810fb driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	6.  Andrew Morton for his kernel patches maintenance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) Sylvain