[English] README.TXT MATROX GRAPHICS INC. 2007.05.15 Matrox Parhelia Series Linux Display Driver v1.4.5 Preface ======= This document and the associated software are currently available in English only. We apologize for any inconvenience this may cause. The terms "X Server config file", "XF86Config", "XF86Config-4" and "xorg.conf" are used interchangeably. The file name to use 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 to use varies depending on the X Server or distribution used. These files are located in the "/var/log" directory. In example command sequences, the pound ('#') sign represents the command prompt and shouldn't be typed. Note that [ENTER] means pressing the 'Enter' key on your keyboard. The example command sequences in this readme refer to the 32-bit package named "mtxdriver-x86_32-1.4.5.run". If you're using the 64-bit package, use the name "mtxdriver- x86_64-1.4.5.run" 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 Section 04 - Multi-display Configuration 1 - DualHead independent 2 - DualHead merged 3 - TripleHead independent 4 - TripleHead merged 5 - Sample X Server config files Section 05 - Using AGP Capabilities Section 06 - Troubleshooting Section 07 - Frequently Asked Questions Appendix A - Installer Options Appendix B - Installed Files Appendix C - Important Preliminary Informations for New Linux Users Section 01 - Description of this Release ======================================== This release was tested with the following: Distributions: - Redhat Enterprise Linux 3 WS (update 8) - Redhat Enterprise Linux 4 WS (update 4) - Redhat Enterprise Linux 5 WS - SuSE Linux Enterprise Server 10 - SuSE Linux Enterprise Desktop 10 Graphics cards: - Parhelia - Millennium P750 - Millennium P650 - Parhelia APVe - no video input & video editing support Display configurations: - Single display - Only 1 display through the main connector. - Two displays - Independent mode: 2 displays with different display resolutions. The 2 displays use two frame buffers. - Two displays - Merged mode: 2 displays with the same display resolution. The 2 displays use a single frame buffer. - Three displays - Independent mode: 3 displays with the same display resolution. The 3 displays use three frame buffers. This mode is available only with certain graphics cards supported by this driver. - Three displays - Merged mode: 3 displays with the same display resolution. The 3 displays use a single frame buffer. This mode is available only with certain graphics cards supported by this driver. 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 additionnal Linux distributions provided that the items outlined in Section 02 are installed and available. - Additionnal information about the features and configuration of specialized Matrox graphics cards can be found in our advanced Readme file. See "readme-advanced.txt" in the same directory as this file. Section 02 - Installation Requirements ====================================== Some features, such as "Busmastering", "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 (XFree86 4.3.0 or X.org 6.7.0 up to 7.2.0). - Linux kernel 2.4 (version 2.4.18 up to 2.4.21) or 2.6 (2.6.0 up to 2.6.20) and the corresponding kernel source code and header files. - GCC compiler version 3.2 or later (up to 4.0). - Glibc 2.3.2 or later. - Binutils 2.13 or later. - Make 3.77 or later. Section 03 - Driver Installation ================================ 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.5.run [ENTER] # exit [ENTER] 2) 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, please refer to Appendix C. 3) Select the Matrox driver In the "Device section", replace the string 'Driver "somedriver"' with 'Driver "mtx"'. For example: Replace: Driver "vesa" with: Driver "mtx" 4) Select the appropriate graphics card In the "Device" section, enter the proper BusID value for your card. For example, if your Bus ID was 1:0.0, edit or add the following line to read: BusID "PCI:1:0:0" To obtain the BusID value for you card, use the command: # lspci -d 102b:* [Enter] This will generate the following output: 0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA P650 AGP (rev 02) The first string of number (i.e. "0000") should be ignored. 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 to be in decimal. You need to convert the numbers. 5) Specify your display resolution and pixel depth In the "Screen" section, replace the string "DefaultDepth" to the desired bits per pixel value (8/16/24). Then, list the desired resolutions in the "Display" section that corresponds to the "DefaultDepth". A "Screen" section that declares 24 bits in 1600 x 1200 and 1280 x 1024 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 6) Specify you monitor frequency range In the "Monitor" section, make sure your horizontal and vertical settings are supported by your monitor. If no settings are provided, the X Server may not start. If incorrect settings are provided, you may damage your monitor. 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" 7) Remove unnecessary modules In the "Module" section, only the "dbe", "extmod", "freetype", "type1", "glx" (if OpenGL is required) should be listed. Comment out any other existing lines by adding a '#' (pound) sign at the beginning of the line. For example, 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 an X Server config file. Typing 'man xorg.conf' should 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 04 - Multi-display Configuration ======================================== The following explains how to modify your X Server config file to configure your driver in one of the multi-display configurations supported by the Matrox driver. You can copy and paste any statement below that applies 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, both displays can have different refresh rates and resolutions. Each display uses a different frame buffer. These displays can be set to be independent or unified using the Xinerama extension. Here's a partial sample 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 config file to unify both independent displays into 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, both displays have the same refresh rate and resolution. Both 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 value range. Monitor2VRefresh The secondary monitor vertical sync values. This can be a single value or a value range. The following example sets your 2 displays at 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, all 3 displays must have the same refresh rate and resolution. Each display uses a different frame buffer. These displays can be set to be independent or unified using the Xinerama extension. To enable TripleHead independent, 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: 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 config file to unify all three independent displays into 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, all 3 displays have the same refresh rate and resolution. All your displays use the same frame buffer. To enable TripleHead Merged, add Option "Triplehead" 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 "Triplehead" SubSection "Display" Depth 24 Modes "800x600" EndSubSection EndSection To enable 2 analog + digital mode, add the following line to your "Device" section: Option "DigitalScreen1" "on" 5 - Sample X Server config files -------------------------------- We provide sample XF86Config files in the "/usr/share/matrox/samples" directory. To use them, copy the desired file to your "/etc/X11" directory and rename it to "XF86Config-4" or "xorg.conf" depending on whether you're using the XFree86 or X.org servers. To start your X Server by 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 Warning: These are samples and may require modifications to work with your particular system configuration. Section 06 - Using AGP Capabilities =================================== The AGP (Advanced Graphics Port) bus is a dedicated bus for graphics hardware. This technology was designed to improve performances 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 the new PCI Express (PCIe) bus architecture which offers even greater performances. If you have a PCIe system and a PCIe card, you may skip this section. To use AGP capabilities make sure that the "agpgart" module has been loaded successfully. To verify if the 'agpgart' is loaded, type: # /sbin/lsmod | grep agpgart [ENTER] If the module is loaded, you will receive the following result: 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 if 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 to 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 has been 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 boots up, instead of having to retype the commands. 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 07 - 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 there are other shared libraries (files containing ".so" in their names) 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 point to "/usr/share/matrox/current/libGL.so.1.3.0". If this isn't the case, either remove the library that gets in the way, 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 your 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 outputs for the Parhelia, Millennium P750 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 -------------------------------- Bus mastering allows the processor to share some tasks with the graphic chipset and results in higher performances. Bus mastering is required for accelerated 3D OpenGL and is only available for x86 and x86_64 architecture. 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 properly 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, bus mastering is enabled by default, if your system supports it. The following is an example of a "Device" section using the bus mastering option: 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, refer to Section 06 for more information on AGP. Xv Video Blitting ----------------- If you experience some problems with your video playback, Video blitting can be used instead of hardware overlays. 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 -------------------------- Several successive improvements were made on AGP technology and the speed has been steadily increased. As the AGP rate is increased, the performance improves. However both your graphics hardware and your motherboard must support the specified rate to benefit from the increase in performance. The AGP rate is automatically determined by the driver. However, with the combination of specific motherboard chipsets and some graphics cards, some compatibility problems may occur. These problems include signal integrity problems and timing issues. If you encounter stability issues, you may find it's best to set conservative kernel module parameters for AGP initialization. When using the "mtx.o" or "mtx.ko" kernel module, the following options can be specified: agp = [ 0: Force PCI transfers 1: Enable AGP transfers (default) ] agprate = [ 1: AGP 1x transfers (default) 2: AGP 2x tranfers 4: AGP 4x tranfers 8: AGP 8x tranfers ] The AGP rate can be set by the 'root' user as follows: # modprobe mtx agprate=4 [ENTER] On AGP systems using AGP graphics card, AGP transfers are used by default. However, 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 any time 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 up to 8x instead. Note: You may need to change some settings in the BIOS of your motherboard. Section 08 - 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: It depends on the kernel module for busmastering. Blue = The kernel module is used. Bus mastering is in AGP or PCI mode. OpenGL is available if it is correctly 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: 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 that 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: My system locks up when I try to run a video or OpenGL application. What can I do? A: Try disabling fastwrites in your motherboard's BIOS settings. Also, in some systems with 1GB 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 256MB, add this line to your boot manager config file: vmalloc=256M Q: My system locks up when I try to boot from Redhat Enterprise. What can I do? A: Remove the kernel parameters option named "rhgb" from the grub file. Q: On a system with 1GB of RAM, I can't get any hardware acceleration and I get memory allocation messages when modprobing the mtx kernel module. What can I do? A: In some systems with 1GB 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 256MB, 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 accelerated 3D. Q: Is there a way to update my graphics card BIOS from Linux? A: Download the utility from the Matrox Web site: http://www.matrox.com/graphics 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.5, you would see something like: (II) Loading /usr/X11R6/lib64/modules/drivers/mtx_drv.o compiled for 6.8.2, module version = 1.4.5 The module version would indicate the driver version 1.4.5. Q: How can I find out what version of the X Server 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.5, you could see something like: (II) Loading /usr/X11R6/lib64/modules/drivers/mtx_drv.o compiled for 6.8.2, module version = 1.4.5 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 that your Qt library is compiled with Xinerama support. Q: How can I prevent my X Server from locking up on starter in DualHead (or TripleHead) Independent mode? 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 am 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 am 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 incorporated into kernel 2.6.12. If upgrading your kernel isn't an option, 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? 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. 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. --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 mainly responsible 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 necessaru 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 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 which 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 funtionality 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 th2go.run [ENTER] We recommend you use 'root' only while installing your driver package. Return to your user account when the installation is completed.