^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>