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 matroxfb?
^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) .. [This file is cloned from VesaFB. Thanks go to Gerd Knorr]
^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 driver for a graphic framebuffer for Matrox devices on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) Alpha, Intel and PPC boxes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) Advantages:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)  * It provides a nice large console (128 cols + 48 lines with 1024x768)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)    without using tiny, unreadable fonts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)  * You can run XF{68,86}_FBDev or XFree86 fbdev driver on top of /dev/fb0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)  * Most important: boot logo :-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) Disadvantages:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)  * graphic mode is slower than text mode... but you should not notice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)    if you use same resolution as you used in textmode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) How to use it?
^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) Switching modes is done using the video=matroxfb:vesa:... boot parameter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) or using `fbset` program.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) If you want, for example, enable a resolution of 1280x1024x24bpp you should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) pass to the kernel this command line: "video=matroxfb:vesa:0x1BB".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) You should compile in both vgacon (to boot if you remove you Matrox from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) box) and matroxfb (for graphics mode). You should not compile-in vesafb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) unless you have primary display on non-Matrox VBE2.0 device (see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) Documentation/fb/vesafb.rst for details).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) Currently supported video modes are (through vesa:... interface, PowerMac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) has [as addon] compatibility code):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) Graphic modes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) ===  =======  =======  =======  =======  =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) bpp  640x400  640x480  768x576  800x600  960x720
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) ===  =======  =======  =======  =======  =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)   4             0x12             0x102
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)   8   0x100    0x101    0x180    0x103    0x188
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)  15            0x110    0x181    0x113    0x189
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)  16            0x111    0x182    0x114    0x18A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)  24            0x1B2    0x184    0x1B5    0x18C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)  32            0x112    0x183    0x115    0x18B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) ===  =======  =======  =======  =======  =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) Graphic modes (continued)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) -------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) ===  ======== ======== ========= ========= =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) bpp  1024x768 1152x864 1280x1024 1408x1056 1600x1200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) ===  ======== ======== ========= ========= =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)   4    0x104             0x106
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)   8    0x105    0x190    0x107     0x198     0x11C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)  15    0x116    0x191    0x119     0x199     0x11D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)  16    0x117    0x192    0x11A     0x19A     0x11E
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)  24    0x1B8    0x194    0x1BB     0x19C     0x1BF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)  32    0x118    0x193    0x11B     0x19B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) ===  ======== ======== ========= ========= =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) Text modes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) ----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) ==== =======  =======  ========  ========  ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) text 640x400  640x480  1056x344  1056x400  1056x480
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) ==== =======  =======  ========  ========  ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)  8x8   0x1C0    0x108     0x10A     0x10B     0x10C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 8x16 2, 3, 7                        0x109
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) ==== =======  =======  ========  ========  ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) You can enter these number either hexadecimal (leading `0x`) or decimal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) (0x100 = 256). You can also use value + 512 to achieve compatibility
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) with your old number passed to vesafb.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) Non-listed number can be achieved by more complicated command-line, for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) example 1600x1200x32bpp can be specified by `video=matroxfb:vesa:0x11C,depth:32`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) X11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) ===
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) XF{68,86}_FBDev should work just fine, but it is non-accelerated. On non-intel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) architectures there are some glitches for 24bpp videomodes. 8, 16 and 32bpp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) works fine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) Running another (accelerated) X-Server like XF86_SVGA works too. But (at least)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) XFree servers have big troubles in multihead configurations (even on first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) head, not even talking about second). Running XFree86 4.x accelerated mga
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) driver is possible, but you must not enable DRI - if you do, resolution and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) color depth of your X desktop must match resolution and color depths of your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) virtual consoles, otherwise X will corrupt accelerator settings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) SVGALib
^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) Driver contains SVGALib compatibility code. It is turned on by choosing textual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) mode for console. You can do it at boot time by using videomode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 2,3,7,0x108-0x10C or 0x1C0. At runtime, `fbset -depth 0` does this work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Unfortunately, after SVGALib application exits, screen contents is corrupted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) Switching to another console and back fixes it. I hope that it is SVGALib's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) problem and not mine, but I'm not sure.
^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) Configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) You can pass kernel command line options to matroxfb with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) `video=matroxfb:option1,option2:value2,option3` (multiple options should be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) separated by comma, values are separated from options by `:`).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) Accepted options:
^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) mem:X        size of memory (X can be in megabytes, kilobytes or bytes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	     You can only decrease value determined by driver because of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	     it always probe for memory. Default is to use whole detected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	     memory usable for on-screen display (i.e. max. 8 MB).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) disabled     do not load driver; you can use also `off`, but `disabled`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	     is here too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) enabled      load driver, if you have `video=matroxfb:disabled` in LILO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	     configuration, you can override it by this (you cannot override
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	     `off`). It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) noaccel      do not use acceleration engine. It does not work on Alphas.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) accel        use acceleration engine. It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) nopan        create initial consoles with vyres = yres, thus disabling virtual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	     scrolling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) pan          create initial consoles as tall as possible (vyres = memory/vxres).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	     It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) nopciretry   disable PCI retries. It is needed for some broken chipsets,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	     it is autodetected for intel's 82437. In this case device does
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	     not comply to PCI 2.1 specs (it will not guarantee that every
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 	     transaction terminate with success or retry in 32 PCLK).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) pciretry     enable PCI retries. It is default, except for intel's 82437.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) novga        disables VGA I/O ports. It is default if BIOS did not enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	     device. You should not use this option, some boards then do not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 	     restart without power off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) vga          preserve state of VGA I/O ports. It is default. Driver does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	     enable VGA I/O if BIOS did not it (it is not safe to enable it in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	     most cases).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) nobios       disables BIOS ROM. It is default if BIOS did not enable BIOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	     itself. You should not use this option, some boards then do not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	     restart without power off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) bios         preserve state of BIOS ROM. It is default. Driver does not enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	     BIOS if BIOS was not enabled before.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) noinit       tells driver, that devices were already initialized. You should use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	     it if you have G100 and/or if driver cannot detect memory, you see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	     strange pattern on screen and so on. Devices not enabled by BIOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	     are still initialized. It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) init         driver initializes every device it knows about.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) memtype      specifies memory type, implies 'init'. This is valid only for G200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	     and G400 and has following meaning:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	       G200:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 		 -  0 -> 2x128Kx32 chips, 2MB onboard, probably sgram
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 		 -  1 -> 2x128Kx32 chips, 4MB onboard, probably sgram
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 		 -  2 -> 2x256Kx32 chips, 4MB onboard, probably sgram
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 		 -  3 -> 2x256Kx32 chips, 8MB onboard, probably sgram
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 		 -  4 -> 2x512Kx16 chips, 8/16MB onboard, probably sdram only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 		 -  5 -> same as above
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 		 -  6 -> 4x128Kx32 chips, 4MB onboard, probably sgram
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 		 -  7 -> 4x128Kx32 chips, 8MB onboard, probably sgram
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 	       G400:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 		 -  0 -> 2x512Kx16 SDRAM, 16/32MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 		 -	 2x512Kx32 SGRAM, 16/32MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 		 -  1 -> 2x256Kx32 SGRAM, 8/16MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 		 -  2 -> 4x128Kx32 SGRAM, 8/16MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 		 -  3 -> 4x512Kx32 SDRAM, 32MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 		 -  4 -> 4x256Kx32 SGRAM, 16/32MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 		 -  5 -> 2x1Mx32 SDRAM, 32MB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 		 -  6 -> reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 		 -  7 -> reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	     You should use sdram or sgram parameter in addition to memtype
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 	     parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) nomtrr       disables write combining on frame buffer. This slows down driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	     but there is reported minor incompatibility between GUS DMA and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	     XFree under high loads if write combining is enabled (sound
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	     dropouts).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) mtrr         enables write combining on frame buffer. It speeds up video
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	     accesses much. It is default. You must have MTRR support enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 	     in kernel and your CPU must have MTRR (f.e. Pentium II have them).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) sgram        tells to driver that you have Gxx0 with SGRAM memory. It has no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	     effect without `init`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) sdram        tells to driver that you have Gxx0 with SDRAM memory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	     It is a default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) inv24        change timings parameters for 24bpp modes on Millennium and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	     Millennium II. Specify this if you see strange color shadows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	     around  characters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) noinv24      use standard timings. It is the default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) inverse      invert colors on screen (for LCD displays)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) noinverse    show true colors on screen. It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) dev:X        bind driver to device X. Driver numbers device from 0 up to N,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 	     where device 0 is first `known` device found, 1 second and so on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	     lspci lists devices in this order.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 	     Default is `every` known device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) nohwcursor   disables hardware cursor (use software cursor instead).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) hwcursor     enables hardware cursor. It is default. If you are using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 	     non-accelerated mode (`noaccel` or `fbset -accel false`), software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	     cursor is used (except for text mode).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) noblink      disables cursor blinking. Cursor in text mode always blinks (hw
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	     limitation).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) blink        enables cursor blinking. It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) nofastfont   disables fastfont feature. It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) fastfont:X   enables fastfont feature. X specifies size of memory reserved for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 	     font data, it must be >= (fontwidth*fontheight*chars_in_font)/8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	     It is faster on Gx00 series, but slower on older cards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) grayscale    enable grayscale summing. It works in PSEUDOCOLOR modes (text,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	     4bpp, 8bpp). In DIRECTCOLOR modes it is limited to characters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 	     displayed through putc/putcs. Direct accesses to framebuffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 	     can paint colors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) nograyscale  disable grayscale summing. It is default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) cross4MB     enables that pixel line can cross 4MB boundary. It is default for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	     non-Millennium.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) nocross4MB   pixel line must not cross 4MB boundary. It is default for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 	     Millennium I or II, because of these devices have hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 	     limitations which do not allow this. But this option is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 	     incompatible with some (if not all yet released) versions of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 	     XF86_FBDev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) dfp          enables digital flat panel interface. This option is incompatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	     with secondary (TV) output - if DFP is active, TV output must be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 	     inactive and vice versa. DFP always uses same timing as primary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 	     (monitor) output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) dfp:X        use settings X for digital flat panel interface. X is number from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 	     0 to 0xFF, and meaning of each individual bit is described in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 	     G400 manual, in description of DAC register 0x1F. For normal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 	     operation you should set all bits to zero, except lowest bit. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	     lowest bit selects who is source of display clocks, whether G400,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 	     or panel. Default value is now read back from hardware - so you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 	     should specify this value only if you are also using `init`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 	     parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) outputs:XYZ  set mapping between CRTC and outputs. Each letter can have value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	     of 0 (for no CRTC), 1 (CRTC1) or 2 (CRTC2), and first letter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 	     corresponds to primary analog output, second letter to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 	     secondary analog output and third letter to the DVI output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	     Default setting is 100 for cards below G400 or G400 without DFP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 	     101 for G400 with DFP, and 111 for G450 and G550. You can set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 	     mapping only on first card, use matroxset for setting up other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	     devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) vesa:X       selects startup videomode. X is number from 0 to 0x1FF, see table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 	     above for detailed explanation. Default is 640x480x8bpp if driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 	     has 8bpp support. Otherwise first available of 640x350x4bpp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 	     640x480x15bpp, 640x480x24bpp, 640x480x32bpp or 80x25 text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 	     (80x25 text is always available).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) ============ ===================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) If you are not satisfied with videomode selected by `vesa` option, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) can modify it with these options:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) ============ ===================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) xres:X       horizontal resolution, in pixels. Default is derived from `vesa`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	     option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) yres:X       vertical resolution, in pixel lines. Default is derived from `vesa`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 	     option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) upper:X      top boundary: lines between end of VSYNC pulse and start of first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	     pixel line of picture. Default is derived from `vesa` option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) lower:X      bottom boundary: lines between end of picture and start of VSYNC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 	     pulse. Default is derived from `vesa` option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) vslen:X      length of VSYNC pulse, in lines. Default is derived from `vesa`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	     option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) left:X       left boundary: pixels between end of HSYNC pulse and first pixel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 	     Default is derived from `vesa` option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) right:X      right boundary: pixels between end of picture and start of HSYNC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 	     pulse. Default is derived from `vesa` option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) hslen:X      length of HSYNC pulse, in pixels. Default is derived from `vesa`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 	     option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) pixclock:X   dotclocks, in ps (picoseconds). Default is derived from `vesa`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 	     option and from `fh` and `fv` options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) sync:X       sync. pulse - bit 0 inverts HSYNC polarity, bit 1 VSYNC polarity.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 	     If bit 3 (value 0x08) is set, composite sync instead of HSYNC is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 	     generated. If bit 5 (value 0x20) is set, sync on green is turned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 	     on. Do not forget that if you want sync on green, you also probably
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 	     want composite sync.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 	     Default depends on `vesa`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) depth:X      Bits per pixel: 0=text, 4,8,15,16,24 or 32. Default depends on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 	     `vesa`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) ============ ===================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) If you know capabilities of your monitor, you can specify some (or all) of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) `maxclk`, `fh` and `fv`. In this case, `pixclock` is computed so that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) pixclock <= maxclk, real_fh <= fh and real_fv <= fv.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) ============ ==================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) maxclk:X     maximum dotclock. X can be specified in MHz, kHz or Hz. Default is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 	     `don`t care`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) fh:X         maximum horizontal synchronization frequency. X can be specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 	     in kHz or Hz. Default is `don't care`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) fv:X         maximum vertical frequency. X must be specified in Hz. Default is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 	     70 for modes derived from `vesa` with yres <= 400, 60Hz for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 	     yres > 400.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) ============ ==================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) Limitations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) There are known and unknown bugs, features and misfeatures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) Currently there are following known bugs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310)  - SVGALib does not restore screen on exit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)  - generic fbcon-cfbX procedures do not work on Alphas. Due to this,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312)    `noaccel` (and cfb4 accel) driver does not work on Alpha. So everyone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313)    with access to `/dev/fb*` on Alpha can hang machine (you should restrict
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314)    access to `/dev/fb*` - everyone with access to this device can destroy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315)    your monitor, believe me...).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)  - 24bpp does not support correctly XF-FBDev on big-endian architectures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317)  - interlaced text mode is not supported; it looks like hardware limitation,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318)    but I'm not sure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)  - Gxx0 SGRAM/SDRAM is not autodetected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320)  - maybe more...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) And following misfeatures:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324)  - SVGALib does not restore screen on exit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325)  - pixclock for text modes is limited by hardware to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327)     - 83 MHz on G200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328)     - 66 MHz on Millennium I
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329)     - 60 MHz on Millennium II
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331)    Because I have no access to other devices, I do not know specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332)    frequencies for them. So driver does not check this and allows you to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333)    set frequency higher that this. It causes sparks, black holes and other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334)    pretty effects on screen. Device was not destroyed during tests. :-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335)  - my Millennium G200 oscillator has frequency range from 35 MHz to 380 MHz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336)    (and it works with 8bpp on about 320 MHz dotclocks (and changed mclk)).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337)    But Matrox says on product sheet that VCO limit is 50-250 MHz, so I believe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338)    them (maybe that chip overheats, but it has a very big cooler (G100 has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339)    none), so it should work).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)  - special mixed video/graphics videomodes of Mystique and Gx00 - 2G8V16 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341)    G16V16 are not supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342)  - color keying is not supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343)  - feature connector of Mystique and Gx00 is set to VGA mode (it is disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344)    by BIOS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345)  - DDC (monitor detection) is supported through dualhead driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346)  - some check for input values are not so strict how it should be (you can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347)    specify vslen=4000 and so on).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)  - maybe more...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) And following features:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352)  - 4bpp is available only on Millennium I and Millennium II. It is hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353)    limitation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354)  - selection between 1:5:5:5 and 5:6:5 16bpp videomode is done by -rgba
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355)    option of fbset: "fbset -depth 16 -rgba 5,5,5" selects 1:5:5:5, anything
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356)    else selects 5:6:5 mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357)  - text mode uses 6 bit VGA palette instead of 8 bit (one of 262144 colors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358)    instead of one of 16M colors). It is due to hardware limitation of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359)    Millennium I/II and SVGALib compatibility.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) Benchmarks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) It is time to redraw whole screen 1000 times in 1024x768, 60Hz. It is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) time for draw 6144000 characters on screen through /dev/vcsa
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) (for 32bpp it is about 3GB of data (exactly 3000 MB); for 8x16 font in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) 16 seconds, i.e. 187 MBps).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) Times were obtained from one older version of driver, now they are about 3%
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) faster, it is kernel-space only time on P-II/350 MHz, Millennium I in 33 MHz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) PCI slot, G200 in AGP 2x slot. I did not test vgacon::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372)   NOACCEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) 	8x16                 12x22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) 	Millennium I  G200   Millennium I  G200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375)   8bpp    16.42         9.54   12.33         9.13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376)   16bpp   21.00        15.70   19.11        15.02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377)   24bpp   36.66        36.66   35.00        35.00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378)   32bpp   35.00        30.00   33.85        28.66
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380)   ACCEL, nofastfont
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) 	8x16                 12x22                6x11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) 	Millennium I  G200   Millennium I  G200   Millennium I  G200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383)   8bpp     7.79         7.24   13.55         7.78   30.00        21.01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384)   16bpp    9.13         7.78   16.16         7.78   30.00        21.01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385)   24bpp   14.17        10.72   18.69        10.24   34.99        21.01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386)   32bpp   16.15	     16.16   18.73        13.09   34.99        21.01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388)   ACCEL, fastfont
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) 	8x16                 12x22                6x11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) 	Millennium I  G200   Millennium I  G200   Millennium I  G200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391)   8bpp     8.41         6.01    6.54         4.37   16.00        10.51
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392)   16bpp    9.54         9.12    8.76         6.17   17.52        14.01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393)   24bpp   15.00        12.36   11.67        10.00   22.01        18.32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394)   32bpp   16.18        18.29*  12.71        12.74   24.44        21.00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396)   TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) 	8x16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) 	Millennium I  G200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399)   TEXT     3.29         1.50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401)   * Yes, it is slower than Millennium I.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) Dualhead G400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) Driver supports dualhead G400 with some limitations:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407)  + secondary head shares videomemory with primary head. It is not problem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408)    if you have 32MB of videoram, but if you have only 16MB, you may have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409)    to think twice before choosing videomode (for example twice 1880x1440x32bpp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410)    is not possible).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411)  + due to hardware limitation, secondary head can use only 16 and 32bpp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412)    videomodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413)  + secondary head is not accelerated. There were bad problems with accelerated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414)    XFree when secondary head used to use acceleration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415)  + secondary head always powerups in 640x480@60-32 videomode. You have to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416)    fbset to change this mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417)  + secondary head always powerups in monitor mode. You have to use fbmatroxset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418)    to change it to TV mode. Also, you must select at least 525 lines for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419)    NTSC output and 625 lines for PAL output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420)  + kernel is not fully multihead ready. So some things are impossible to do.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421)  + if you compiled it as module, you must insert i2c-matroxfb, matroxfb_maven
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422)    and matroxfb_crtc2 into kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) Dualhead G450
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) Driver supports dualhead G450 with some limitations:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428)  + secondary head shares videomemory with primary head. It is not problem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429)    if you have 32MB of videoram, but if you have only 16MB, you may have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430)    to think twice before choosing videomode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431)  + due to hardware limitation, secondary head can use only 16 and 32bpp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432)    videomodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433)  + secondary head is not accelerated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434)  + secondary head always powerups in 640x480@60-32 videomode. You have to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435)    fbset to change this mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436)  + TV output is not supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437)  + kernel is not fully multihead ready, so some things are impossible to do.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438)  + if you compiled it as module, you must insert matroxfb_g450 and matroxfb_crtc2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439)    into kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) Petr Vandrovec <vandrove@vc.cvut.cz>