[English] README.TXT MATROX GRAPHICS INC. 2009.05.01 Matrox Parhelia Series Linux Display Driver v1.4.7 Preface ======= The terms "X Server config file", "XF86Config", "XF86Config-4", and "xorg.conf" are used interchangeably. The file name used varies depending on the X Server or distribution used. These files are located in the "/etc/X11" directory. The terms "X log file", "XFree86.0.log", and "Xorg.0.log" are used interchangeably. The file name used varies depending on the X Server or distribution used. These files are located in the "/var/log" directory. In the command sequence examples, the pound ('#') sign represents the command prompt and shouldn't be typed. Note that [ENTER] means pressing the 'Enter' key on your keyboard. The command sequence examples in this Readme file refer to the 32-bit package named "mtxdriver-x86_32-1.4.7.run". Use the name "mtxdriver-x86_64-1.4.7.run" if you're using the 64-bit package. Note: On some systems you may need to enter "su - root" instead of "su root" when changing to the root user account. For more information about root user, see Appendix C. Note: Some steps of the driver installation require that you manually edit files. If you're not familiar with text editing under Linux, see Appendix C. Contents ======== Section 01 - Description of this release Section 02 - Installation requirements Section 03 - Driver installation and configuration Section 04 - MatroxConfig tool for graphical configuration Section 05 - Manual driver configuration Section 06 - Multi-display configuration 1 - DualHead independent 2 - DualHead merged 3 - TripleHead independent 4 - TripleHead merged 5 - QuadHead independent 6 - QuadHead merged 7 - Sample X Server config files Section 07 - Pseudo-Xinerama Section 08 - Using AGP capabilities Section 09 - Troubleshooting Section 10 - Frequently asked questions Appendix A - Installer options Appendix B - Installed files Appendix C - Important preliminary information for new Linux users Section 01 - Description of this release ======================================== This release was tested with the following: Distributions: - Red Hat Enterprise Linux 4 WS (updates 7 and 8) - Red Hat Enterprise Linux 5 WS (updates 2 and 3) - SuSE Linux Enterprise Server 10 (sp2) - SuSE Linux Enterprise Desktop 11 - Fedora 10 - OpenSuse 10.3 and 11.1 - Ubuntu 8.04 and 8.10 Graphics cards: - Parhelia - Millennium P750 - Millennium P690 - Millennium P650 - Parhelia APVe - no video input or video editing support Display configurations: - Single display - Only 1 display connected to the main connector. - Two displays - Independent mode: 2 displays with different display resolutions. Each display uses a different frame buffer. - Two displays - Merged mode: 2 displays with the same display resolution. All of the displays use the same frame buffer. - Three displays - Independent mode: 3 displays with the same display resolution. Each display uses a different frame buffer. This mode is available only with certain graphics cards. - Three displays - Merged mode: 3 displays with the same display resolution. All of the displays use the same frame buffer. This mode is available only with certain graphics cards. - Four displays - Independent mode: 4 displays with the same display resolution. Each display uses a different frame buffer. This mode is available only with certain graphics cards. - Four displays - Merged mode: 4 displays with the same display resolution. All of the displays use the same frame buffer. This mode is available only with certain graphics. Display resolutions: - Analog: 640 x 480, 800 x 600, 1024 x 768, 1280 x 1024, 1600 x 1200, 1920 x 1440 - Digital: 640 x 480, 800 x 600, 1024 x 768, 1280 x 1024, 1600 x 1200 Note: - The driver included in this package may be compatible with additional Linux distributions, provided that the installation requirements outlined in Section 02 are met. - Additional information about the features and configuration of specialized Matrox graphics cards can be found in our advanced Readme file. See the "readme-advanced.txt" file located in the same directory as this file. Section 02 - Installation requirements ====================================== Some features (such as "Bus mastering", "OpenGL", and "Xv") contain functionality implemented at the kernel level and therefore require a Matrox kernel module. A kernel module must be compiled specifically for the targeted kernel. To compile your kernel module, the following packages must be installed on your system: - X Server (X.org 6.8.2 or 7.0.0 or later). - Linux kernel 2.6 (2.6.0 up to 2.6.29) with the corresponding kernel source code and header files. - GCC compiler version 3.2 or later (up to 4.3). - Glibc 2.5 or later. - Binutils 2.13 or later. - Make 3.77 or later. Section 03 - Driver installation and configuration ================================================== To install the driver and start your X Server in single display mode, follow these steps: (This example assumes a 32-bit Linux distribution based on X.org) 1) Install the Matrox display driver. # su root [ENTER] # sh mtxdriver-x86_32-1.4.7.run [ENTER] 2) After installing all the components of the driver, the installer prompts you for permission to edit the current X config file. For a new installation, answer "Yes". The installer modifies the X config file to use the new Matrox driver. It also forces a single display mode with a default resolution of 1024x768x24bpp If the installation is successful, restart your X server and use the MatroxConfig GUI tool to set up your display to use a different resolution or a different multi-display mode. If the automatic configuration fails, see Section 5 and follow the instructions on manually editing your X config file. Section 04 - MatroxConfig tool for graphical configuration ========================================================== To start the Matrox config tool, open a terminal with the same user privileges as the desktop (not sudo or root terminal) and type: # matroxconfig This starts the graphical configuration tool for your Matrox card. You can use this to edit your X configuration file according to your card and needs. For example, you can change the number, layout, and settings of your displays. When selecting a display resolution, a star beside the display mode name identifies the preferred display mode of the monitor. We recommend you use this mode. To create custom timings, open the "Modeline editor" property sheet, click "Add", then modify the values for the different modeline settings. An invalid modeline appears in red. You can apply a custom modeline in the "Display Resolution" of the "Settings" property sheet. To use a modeline for multiple displays, the modeline must be available for each display. Warning: Using an invalid modeline may damage your monitors. When you click "Apply", MatroxConfig prompts you for your root password to update the X config file. If the following error message appears when MatroxConfig starts: "Warning: You are currently running this application without the MTXCFG X Server extension. No modeline validation will be possible." the "mtxcfg" module wasn't loaded by your X Server when it started. This module validates the modelines of your X config file depending on your Matrox driver and your monitors. Make sure it's correctly added to the extension section of your config file. For more information, see Section 5. While using this version of MatroxConfig, certain limitations may apply. For example, clone mode isn't supported, and only one Matrox graphics card is supported. Section 05 - Manual driver configuration ======================================== 1) Open the X Server configuration file for editing. # vi /etc/X11/xorg.conf [ENTER] For more information on how to use the 'vi' text editor, see Appendix C. 2) Select the Matrox driver. In the "Device section", replace the string 'Driver "somedriver"' with 'Driver "mtx"'. For example: Replace: Driver "vesa" with: Driver "mtx" 3) Select the appropriate graphics card address. In the "Device" section, enter the proper BusID value for your card. For example, if your Bus ID is 1:0.0, add the following line or edit the existing line to read: BusID "PCI:1:0:0" To obtain the BusID value for you card, use the command: # lspci -d 102b:* [Enter] You'll see the following output: 0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA P650 AGP (rev 02) Ignore the first string of numbers (i.e. "0000"). In this example, the BusID would be PCI:1:0:0. Note: The output of lspci is in hexadecimal, and X Server config requires it in decimal. You need to convert the numbers. 4) Specify your display resolution and pixel depth. In the "Screen" section, replace the string "DefaultDepth" with the desired bits-per-pixel value (8/16/24). Then in the "Display" subsection that corresponds to that "DefaultDepth", list the supported resolutions. A "Screen" section that supports 1600 x 1200 and 1280 x 1024 in 24 bits could be declared like this: Section "Screen" Identifier "screen0" Device "device0" Monitor "Monitor0" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1600x1200" "1280x1024" EndSubsection Subsection "Display" Depth 16 Modes "1600x1200" "1280x1024" "1024x768" EndSubsection EndSection 5) Specify you monitor frequency range. In the "Monitor" section, make sure your horizontal and vertical settings are supported by your monitor. The X Server may not start if no settings are provided. You may damage your monitor if incorrect settings are provided. For more information on the settings supported by your monitor, see its documentation. Typical settings are: "HorizSync 30.0-95.0" and "VertRefresh 50.0-75.0" 6) Add the mtxcfg modules. To correctly run the matroxconfig tool, you must add the following statement in the "Module" section: Load "mtxcfg" 7) Remove unnecessary modules. In the "Module" section, only the "dbe", "extmod", "freetype", "type1", "glx" (if OpenGL is required) should be listed. If the "dri" module was listed, add a pound ('#') sign in front of it: Before - Load "dri" after - #Load "dri" 8) Start the X Server. To start the X Server from the command line, use the following command: # startx [ENTER] To switch to the graphical run level, change to the 'root' user, run the "telinit" application, then switch to run level 5. For example: # su root [ENTER] # telinit 5 [ENTER] # exit [ENTER] For more information on the "XFree86 config" file format, simply type 'man XF86Config' in a shell terminal to view all options available in the X Server config file. Typing 'man xorg.conf' will bring up the same information for X.org users. For more information, see the Web sites http://www.xfree86.org for XFree86 or http://xorg.freedesktop.org/wiki/ and http://www.x.org for X.org. Section 06 - Multi-display configuration ======================================== The following explains how to manually modify your X Server configuration file to configure your driver in one of the multi-display configurations supported by your Matrox driver. You can copy and paste any of the statements below that apply to the configuration you want to enable. You can also refer to the sample X Server config files listed at the end of this section. 1 - DualHead independent ------------------------ While using DualHead independent mode, each display can have different refresh rates and resolutions. Each display uses a different frame buffer. These displays can be set to independent or unified using the Xinerama extension. The following is a partial sample of an X Server config section: Section "Monitor" Identifier "monitor1" HorizSync 31-90 VertRefresh 50-60 EndSection Section "Monitor" Identifier "monitor2" HorizSync 31-90 VertRefresh 50-60 EndSection Section "Device" Identifier "device1" Driver "mtx" BusID "PCI:1:0:0" Screen 0 EndSection Section "Device" Identifier "device2" Driver "mtx" BusID "PCI:1:0:0" Screen 1 EndSection Section "Screen" Identifier "screen1" Monitor "monitor1" Device "device1" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "screen2" Monitor "monitor2" Device "device2" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Add the following section to the above configuration file to unify both independent displays in a single desktop: Section "ServerFlags" Option "Xinerama" EndSection While using Xinerama, all "Screen" sections must use the same DefaultDepth. 2 - DualHead merged ------------------- While using DualHead merged mode, both displays have the same refresh rate and resolution. All displays use the same frame buffer. The following options are used to enable DualHead merged mode: MergedFB Enables merged mode. Monitor2Position Sets layout orientation. Valid values are LeftOf, RightOf, Below and Above. MetaModes Specifies the Left screen - Right screen resolution to use in this mode. These should be set to one of the resolutions listed in the Modes line of the current screen subsection. Monitor2HSync The secondary monitor horizontal sync values. This can be a single value or a range of values. Monitor2VRefresh The secondary monitor vertical sync values. This can be a single value or a range of values. The following example sets your two displays to use a display resolution of 1600 x 1200 and a vertical refresh rate of 60 Hz: Section "Monitor" Identifier "monitor1" HorizSync 30-95 VertRefresh 50-60 EndSection Section "Device" Identifier "device1" Driver "mtx" BusID "PCI:1:0:0" Screen 0 EndSection Section "Screen" Identifier "screen1" Monitor "monitor1" Device "device1" DefaultDepth 24 Option "MergedFB" Option "Monitor2Position" "RightOf" Option "MetaModes" "1600x1200-1600x1200" Option "Monitor2HSync" "30-85" Option "Monitor2VRefresh" "50-60" Subsection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection 3 - TripleHead independent -------------------------- While using TripleHead mode, all displays use the same resolution and refresh rate. Each display uses a different frame buffer. The displays can be set to independent or unified using the Xinerama extension. To enable TripleHead independent mode, add: Option "THI" "on" to the three "Device" sections of your X Server config file. The following is a sample "Device" section for TripleHead independent mode: Section "Device" Identifier "device1" Driver "mtx" BusID "PCI:1:0:0" Screen 0 Option "THI" "on" EndSection Section "Device" Identifier "device2" Driver "mtx" BusID "PCI:1:0:0" Screen 1 Option "THI" "on" EndSection Section "Device" Identifier "device3" Driver "mtx" BusID "PCI:1:0:0" Screen 2 Option "THI" "on" EndSection Add the following section to the above configuration file to unify all three independent displays in a single desktop: Section "ServerFlags" Option "Xinerama" EndSection While using Xinerama, all "Screen" sections must use the same DefaultDepth. 4 - TripleHead merged --------------------- While using TripleHead merged mode, all displays use the same resolution and refresh rate. All displays use the same frame buffer. To enable TripleHead merged mode, add: Option "Triplehead" to the "Screen" section of your X Server config file. The following is a sample "Screen" section for TripleHead merged mode: Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 Option "Triplehead" SubSection "Display" Depth 24 Modes "800x600" EndSubSection EndSection To enable 2 analog + 1 digital mode, add the following line to your "Device" section: Option "DigitalScreen1" "on" 5 - QuadHead independent ------------------------ While using QuadHead independent mode, all displays use the same resolution and refresh rate. Each display uses a different frame buffer. The displays can be set to independent or unified using the Xinerama extension. To enable QuadHead independent mode, add: Option "QHI" "on" to the four "Device" sections of your X Server config file. The following is a sample "Device" section for QuadHead independent mode: Section "Device" Identifier "device1" Driver "mtx" BusID "PCI:1:0:0" Screen 0 Option "QHI" "on" EndSection Section "Device" Identifier "device2" Driver "mtx" BusID "PCI:1:0:0" Screen 1 Option "QHI" "on" EndSection Section "Device" Identifier "device3" Driver "mtx" BusID "PCI:1:0:0" Screen 2 Option "QHI" "on" EndSection Section "Device" Identifier "device4" Driver "mtx" BusID "PCI:1:0:0" Screen 3 Option "QHI" "on" EndSection Add the following section to the above configuration file to unify all three independent displays in a single desktop: Section "ServerFlags" Option "Xinerama" EndSection While using Xinerama, all "Screen" sections must use the same DefaultDepth. 6 - QuadHead merged ------------------- While using QuadHead merged mode, all displays use the same resolution and refresh rate. All displays use the same frame buffer. To enable QuadHead merged mode, add: Option "Quadhead" to the "Screen" section of your X Server config file. The following is a sample "Screen" section for TripleHead merged: Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 Option "QuadHead" SubSection "Display" Depth 24 Modes "800x600" EndSubSection EndSection In this configuration, the maximum resolution is "1024x768". 7 - Sample X Server config files -------------------------------- We provide sample XF86Config files in the "/usr/share/matrox/samples" directory. To use them, copy the file you want to your "/etc/X11" directory and rename it "XF86Config-4" or "xorg.conf", depending on whether you're using XFree86 or X.org servers. To start your X Server using one of these files from its current location, type: # startx -- -xf86config /usr/share/matrox/samples/FILENAME [ENTER], where FILENAME is one of the following samples: Single display --> XF86Config.single 2 displays - independent mode --> XF86Config.dual 2 displays - merged mode --> XF86Config.merged 3 displays - independent mode --> XF86Config.triple 3 displays - merged mode --> XF86Config.triple_merged 4 displays - independent mode --> XF86Config.quad 4 displays - merged mode --> XF86Config.quad_merged These are only samples and may require modification to work with your particular system configuration. Section 07 - Pseudo-Xinerama ============================ Pseudo-Xinerama is an extension emulating Xinerama features while using merged modes (i.e. maximizing a window in the current monitor only). It's enabled by default and can only be used if there's only one screen entry in the ServerLayout section. PseudoXinerama can be disabled with the option: Option "PseudoXinerama" "off" in the corresponding device section of the X config file. Section 08 - Using AGP capabilities =================================== The AGP (Advanced Graphics Port) bus is a dedicated bus for graphics hardware and is designed to improve performance over the standard PCI bus. To benefit from this technology, you need an AGP system and an AGP graphics card. Note: AGP is now being replaced by PCI Express (PCIe) bus architecture which offers greater performance. If you have a PCIe system and a PCIe card, you can skip this section. To use AGP capabilities, make sure that the "agpgart" module is successfully loaded. To verify if the 'agpgart' is loaded, type: # /sbin/lsmod | grep agpgart [ENTER] If the module is loaded, you'll see the following: agpgart 33608 0 To load the AGP module manually, type: # /sbin/modprobe agpgart [ENTER] On 2.6 kernels, you also need to load the module for your motherboard chipset. Available files are intel-agp, via-agp, nvidia-agp, sis-agp, sworks-agp, ali-agp, ati-agp, and amd-k7-agp. To verify that one of these is loaded, type: # /sbin/lsmod | grep agp [ENTER] If the chipset kernel module isn't loaded, load it manually by typing ONE of the following: # /sbin/modprobe intel-agp [ENTER] # /sbin/modprobe via-agp [ENTER] # /sbin/modprobe nvidia-agp [ENTER] # /sbin/modprobe sis-agp [ENTER] # /sbin/modprobe sworks-agp [ENTER] # /sbin/modprobe ali-agp [ENTER] # /sbin/modprobe ati-agp [ENTER] # /sbin/modprobe amd-k7-agp [ENTER] If you don't know your motherboard chipset, see your system's documentation. The following command can give you a hint: # /sbin/lspci | grep -e "AGP Bridge" [ENTER] Then verify if the Matrox kernel module is loaded by typing: # /sbin/lsmod | grep mtx [ENTER] If the Matrox kernel module isn't loaded, load it manually by typing: # /sbin/modprobe mtx [ENTER] Once you've identified the appropriate modules to load, and you've tested your system successfully, you can automatically load these modules each time your system starts. To automatically load kernel modules, simply add their names to the following file, depending on your kernel version. # vi /etc/modules [ENTER] (for kernel 2.4.x) or # vi /etc/modprobe.preload [ENTER] (for kernel 2.6.x) To find your kernel version, type: # uname -r [ENTER] For example, to load the Matrox kernel module and benefit from AGP capabilities on a 2.6 kernel running on an Intel system, the '/etc/modprobe.preload' would look like this: intel-agp agpgart mtx Section 09 - Troubleshooting ============================ Setup problems -------------- Problems may occur if you don't use the appropriate version of a library or if a component is missing. Make sure you have the following files: # ls -l /usr/X11R6/lib/modules/drivers/mtx_drv.o [ENTER] # ls -l /lib/modules/`uname -r`/kernels/drivers/video/mtx.* [ENTER] # ls -l /usr/X11R6/lib/modules/extensions/libglx.a [ENTER] # ls -l /usr/lib/libGL.so -> /usr/lib/libGL.so.1 [ENTER] # ls -l /usr/lib/libGL.so.1 -> /usr/lib/libGL.so.1.3.0 [ENTER] # ls -l /usr/lib/libGL.so.1.3.0 [ENTER] Resolving conflicts with /usr/X11R6/lib/libGL.so ------------------------------------------------ If other shared libraries (files containing ".so" in their names) are conflicting with Matrox libraries, "ldconfig" (the library manager) may create the wrong symlinks. We recommend you manually remove or move conflicting libraries, rerun "ldconfig", and check that the correct symlinks were made. Verifying that applications use appropriate libraries ----------------------------------------------------- You can use the 'ldd' command on a 3D application to check if it uses the appropriate libraries. For example, "ldd glxgears | grep libGL.so" should give you: libGL.so.1 => /usr/lib/libGL.so.1 [ENTER] The "/usr/lib/libGL.so" should be a symbolic link that points to "/usr/share/matrox/current/libGL.so.1.3.0". If this isn't the case, either remove the conflicting library or adjust the LD_LIBRARY_PATH environment variable. For more information, see the man pages for "ldconfig" and "ldd". Forcing digital monitors ------------------------ Digital monitors are automatically detected by the Matrox driver. If your monitor can't supply this information to the driver, you can force the type of monitors in the "Device" section of the configuration file. Option "DigitalScreen1" "on" or Option "DigitalScreen2" "on" "DigitalScreen1" and "DigitalScreen2" correspond respectively to the digital monitor connected to the primary and secondary connector of your graphics card. Note: When using both displays on a Parhelia, Millennium P750, P690, and P650 cards in merged mode, the "device" section of your X Server config needs to contain only the DigitalScreen1 option. Disabling/Enabling bus mastering -------------------------------- With bus mastering, the processor can share some tasks with the graphic chipset, resulting in higher performance. Bus mastering is required for hardware-accelerated 3D OpenGL and is available only for x86 and x86_64 architectures. To enable bus mastering, a Matrox kernel module must be compiled specifically for your system. On most configurations, the installation script takes care of the kernel driver compilation, assuming that the kernel source code is installed as mentioned in Section 02. To enable or disable bus mastering, add the following to the X config file in the appropriate "Device" section: Option "Busmastering" "on" or Option "Busmastering" "off" If no option is specified, and if your system supports it, bus mastering is enabled by default. The following is an example of a "Device" section disabling bus mastering: Section "Device" Identifier "device1" Driver "mtx" BusID "PCI:1:0:0" Option "Busmastering" "off" EndSection Note: For AGP systems using a Matrox AGP card, load the "agpgart" module before the Matrox kernel module to take full advantage of the AGP capabilities of your hardware. If "agpgart" isn't loaded, see Section 06 for more information on AGP. Xv Video Blitting ----------------- If you experience problems with video playback, you can use video blitting instead of hardware overlay. To enable video blitting, add the following to the X Server config file in the appropriate "Device" section: Option "XFB" "on" The following is an example of a "Device" section using the video blitting option: Section "Device" Identifier "device1" Driver "mtx" BusID "PCI:1:0:0" Option "XFB" "on" EndSection Stability and AGP problems -------------------------- Improvements were made to AGP technology to increase its speed and improve its performance. To take advantage of these improvements, both your graphics hardware and your motherboard must support the specified rate. The AGP rate is automatically determined by the driver. Specific motherboard chipsets and some graphics cards may cause certain compatibility problems with signal integrity and timings. If you encounter stability issues, you may want to set conservative kernel module parameters for your AGP initialization. With the "mtx.o" or "mtx.ko" kernel module, you can specify the following options: agp = [ 0: Force PCI transfers 1: Enable AGP transfers (default) ] agprate = [ 1: AGP 1x transfers (default) 2: AGP 2x transfers 4: AGP 4x transfers 8: AGP 8x transfers ] The 'root' user can set the AGP rate as follows: # modprobe mtx agprate=4 [ENTER] By default, AGP systems using AGP graphics cards use AGP transfers. If your system has stability problems, you can force the use of PCI transfers using the following parameter as the 'root' user: # /sbin/modprobe mtx agp=0 [ENTER] These options can also be set automatically by adding them to the "modules.conf" or "modprobe.conf" file. On most distributions, this is located in the /etc directory. For example, to enable AGP transfers, but reduce their rate to 1x, simply add the following line to "modules.conf" (kernel 2.4.x) or "modprobe.conf" (kernel 2.6.x). Note: You must be the 'root' user to edit this file. options mtx agp=1 agprate=1 If you edit this file, these options are set whenever the module is loaded. On AGP 2x and 4x systems where stability is an issue, dropping to 1x may reduce the symptoms. For 8x systems with an 8x capable card, it may be preferable to switch to 8x instead. Note: You may need to change some settings in the BIOS of your motherboard. Section 10 - Frequently asked questions ======================================= Q: I'm running the installer and it stops making the kernel module. What can I do? A: Make sure the kernel source or kernel headers are installed and supported. Q: What determines the color of the "Matrox Parhelia" logo screen seen when my X Server starts? A: The color depends on whether the kernel module is being used for bus mastering. Blue = The kernel module is used. Bus mastering is in AGP or PCI mode. OpenGL is available if it's properly installed and if the graphics card supports it. Magenta = The kernel module is unused or unavailable. Bus mastering is emulated. OpenGL is unavailable. Q: Do you support XGL and AIGLX? A: No, 3D based desktops aren't supported by this driver. Q: Is OpenGL indirect rendering supported? A: No, OpenGL indirect rendering (OpenGL over the network) isn't supported by this driver. Only direct rendering (local OpenGL applications) is supported. Q: Do you support the randr 1.2 extension? A: No, the randr extension isn't supported. Q: What can I do to make sure OpenOffice runs properly? A: Make sure the "libglx.a" and "libGL.so.1.3.0" files are installed and bus mastering is enabled. Also, make sure only the Matrox "libGL.so.*" files are installed. The "libGL.so" files should be a symbolic link pointing to "/usr/share/matrox/current/libGL.so.1.3.0". Having other versions available can prevent programs from running properly. Q: What can I do to prevent my system from locking up when I try to run a video or an OpenGL application? A: Try disabling fastwrites in your motherboard's BIOS settings. Also, in some systems with 1 GB of RAM or more, you need to pass the following switch (vmalloc=) to your boot manager (in grub on the appropriate kernel line or in lilo on the append line). For example, to reserve at least 256 MB, add this line to your boot manager config file: vmalloc=256M Q: My system locks up when I try to boot from Red Hat Enterprise. What can I do? A: Remove the kernel parameters option named "rhgb" from the grub file. Q: On a system with 1 GB of RAM, I can't get any hardware acceleration or some display configurations don't work and I get a memory allocation message when modprobing the mtx kernel module. What can I do? A: In some systems with 1 GB of RAM or more, you need to pass the following switch (vmalloc=) to your boot manager (in grub on the appropriate kernel line or in lilo on the append line). For example, to reserve at least 256 MB, add this line to your boot manager config file: vmalloc=256M Q: What can I do to prevent system freezes or crashes while running an OpenGL program? A: Make sure you've removed any reference to "DRI" from your X Server config file because the Matrox driver doesn't use this architecture to provide hardware 3D acceleration. Q: How can I update my graphics card BIOS from Linux? A: Download the utility from the Matrox Web site: http://www.matrox.com/graphics/support Q: Which driver should I set when installing Linux? A: During installation of your Linux distribution, you may be asked to set or choose a graphics card or driver. The safest option is to choose the VESA driver or card. Q: I upgraded the version of my X Server and now my previous configuration file doesn't work. What can I do? A: When upgrading your X Server, you need to reinstall the Matrox driver package to make sure the appropriate driver components are installed. Q: I upgraded my kernel and now my 3D and video don't work. What can I do? A: When upgrading your kernel, you need to reinstall the Matrox driver package to make sure the appropriate driver components are installed. Q: How can I find out what driver I'm using in X? A: Open your X log file (usually found in /var/log) with your text editor and look for a line that says "mtx_drv.o". The line below contains the driver version number. For example, if the installed driver package was version 1.4.7, you would see something like: (II) Loading /usr/X11R6/lib64/modules/drivers/mtx_drv.o compiled for 6.8.2, module version = 1.4.7 The module version would indicate the driver version 1.4.7. Q: How can I find out which X Server version the driver was compiled for? A: Open your X Server log file (usually found in /var/log) with your text editor and look for a line with "mtx_drv.o". The line below contains the driver version number. For example, if the installed driver package was version 1.4.7, you could see something like: (II) Loading /usr/X11R6/lib64/modules/drivers/mtx_drv.o compiled for 6.8.2, module version = 1.4.7 The version of the X Server the driver was compiled for would appear after 'compiled for'. In this case, it would be 6.8.2. Q: Where can I find my X Server config file? A: Most distributions store this file in the /etc/X11 directory as either XF86Config, XF86Config-4, or xorg.conf. Q: Where can I find my X Server log file? A: Most distributions store this file in the /var/log directory as either XFree86.0.log or Xorg.0.log depending on the version of your X Server (XFree86 or X.org). Q: I enabled Xinerama in my config file and when I maximize a window, it gets stretched over my two display when using Qt/KDE programs. A: Make sure Pseudo-Xinerama is enabled by checking in the log of your X server. Pseudo-Xinerama can only run if there is only one screen entry in the ServerLayout section. Q: How can I prevent my X Server from locking up in DualHead (or TripleHead) independent mode when I start my system? A: The numerical values of the 'Screen' keyword in the "Device" section must match the screen index defined in the "ServerLayout" section. The 'Screen' keyword in the "ServerLayout" section is defined as: Screen screen-num "screen-id" position-information The screen index is either defined by 'screen-num' (which is optional) or the order the screens are declared in the 'ServerLayout' section. Q: Where can I find the Readme files and sample config files contained in the driver package? A: The sample files can be found in /usr/share/matrox/samples. The readme files can be found in /usr/share/matrox/docs. Q: I'm trying to get a G-Series graphics card working with my Parhelia-based card, but my X Server crashes when loading the mga driver. What can I do? A: Make sure the system BIOS is booting off the G-Series card. Q: I'm trying to get a G-Series graphics card working with my Parhelia-based card but my system locks up. What can I do? A: Some fixes for AGP have been added to kernel 2.6.12. If you can't upgrade your kernel, either disable bus mastering using the Busmastering option in your X Server config file, or disable AGP transfers by setting the AGP kernel module option to 0. The following example shows how to disable bus mastering in the "Device" section: Section "Device" Identifier "Device1" Driver "mtx" BusID "PCI:1:0:0" Option "Busmastering" "off" Screen 0 EndSection AGP transfers can be disabled manually. Before starting the X Server, as a 'root' user, make sure the Matrox kernel module isn't loaded: # /sbin/rmmod mtx [ENTER] And then, load the Matrox kernel module with the desired option: # /sbin/modprobe mtx agp=0 [ENTER] To make this change permanent, simply add the following line to /etc/modules.conf (kernel 2.4.x) or /etc/modprobe.conf (kernel 2.6.x). You must be the 'root' user to edit this file. options mtx agp=0 Q: Why isn't the Xv extension enabled on my system? A: Distributions like Fedora Core 6 may not have the module fox Xv extension in the default X Server config file. Please verify that you added the option "extmod" in the module section of the X Server config file: Section "Module" Load "extmod" ... EndSection Q: I'm trying to run a video player and my system locks up. What can I do? A: Enable the XFB option to force hardware blits instead of using the hardware video overlay. See Section 7.6 on how to enable this option. Q: Under Ubuntu, what can I do to avoid display corruption when switching my X server with the [CTRL]+[ALT]+[Fxx] keyboard shortcut. A: Edit your menu.lst file to remove the "splash" option from the "kernel" line of your boot loader (grub). This file is usually in the /boot/grub/ directory. Save the file and restart your system for the changes to take effect. Appendix A - Installer options ============================== The following are valid options supported from the command line to be passed to the installer (used without quotation marks): --extract-only Extracts the files but doesn't run the installer portion. --uninstall Uninstalls the current driver. --installxonly Installs only the X Server driver without the kernel modules and 3D library (libGL). Mostly used for thin client setup and to bypass installation where kernel module couldn't be compiled. --nobackup Forces driver installation without the creation of a backup script. Appendix B - Installed files ============================ The Matrox Linux driver package consists of the following files: - An X Server driver. This driver is responsible mainly for the mode initialization and 2D acceleration. It's usually located in the following X driver path /usr/X11R6/lib/modules/drivers/mtx_drv.o or /usr/lib/xorg/modules/drivers/mtx_drv.so - A kernel module. The kernel module adds 3D core functionality, bus mastering, memory management, and interrupts management. The kernel module is made of two parts, a binary part and an open source interface part. These parts are necessary because the kernel needs to be compiled specifically on your system. It's usually located in the following kernel module path /lib/module//kernel/drivers/video/mtx.[k]o - A GLX extension module. This module serves as an interface between the OpenGL library and the X Server. It's usually located in the following X Server extensions path /usr/X11R6/lib/modules/extensions/libglx.a or /usr/lib/xorg/modules/extensions/libglx.a - An OpenGL library. This is the library exposing the OpenGL API to 3D applications. It processes the commands and sends them to the kernel module. It's usually located in the following software library path /usr/lib/libGL.so.1.3.0 with two symlinks to /usr/lib/libGL.so and /usr/lib/libGL.so.1 - matroxconfig. This is the GUI application you can use to configure your Matrox driver. Appendix C - Important preliminary information for new Linux users ================================================================== Text Editors ------------ Configuring a Linux system often requires editing text files. The following describes some text editors available to Linux users. gedit and kate -------------- Simple to use but require a graphical environment that may not be available. mcedit and nano --------------- Run in text mode and are relatively easy to use. However, they're not installed by default in most distributions. vi -- One of the most powerful text editors available. Installed by default by most distributions, but not user friendly. What follows is a basic overview to get you started. 'vi' operates in two modes: edit and command. On startup, vi is in command mode. To enter edit mode, press [i]. You can then add, modify, and remove text. To go back to command mode, press [Esc]. You can now access the type of functionality offered in a graphical application. Basic commands: i - Enter edit mode Esc - Enter command mode :w - Save :q - Quit root user --------- After installing, most distributions set up a default administrative user with the username 'root'. Many options (such as installing the Matrox kernel driver) are available only to 'root' users. There are 3 ways to become 'root': - Log in as 'root'. - Use the substitute user command ('su') at the command prompt. This is the method used in the examples. - On some systems, use the 'sudo' utility. With this utility, you can run a specified program as 'root'. To use 'sudo', simply prefix the command you need with the 'sudo' keyword. For example: # sudo sh mtxdriver-x86_32-1.4.7.run [ENTER] We recommend you use 'root' only while installing your driver package. Return to your user account when the installation is completed.