home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 March / GSSH0304CD5.iso / Treiber / Linux / Ati / Readme0370.txt < prev   
Text File  |  2004-01-27  |  64KB  |  1,423 lines

  1. ------------------------------------------------------------------------------
  2.   Graphics Accelerators:
  3.     ATI Radeon 8500, 9100, 9200, 9500, 9600, 9700, 9800, 
  4.     ATI Mobility 9000, 9600
  5.     ATI FireGL 8700, 8800, E1, E2, X1, X2, Z1, T2
  6.     ATI Mobility FireGL T2
  7.   Video Driver for Linux:
  8.     Driver Version 4.1.0-3.7.0
  9.     Driver Version 4.2.0-3.7.0
  10.     Driver Version 4.3.0-3.7.0
  11. ------------------------------------------------------------------------------
  12.  
  13.   Please read the entire contents of this document. Information in this
  14.   file may not appear in printed documentation or online help.
  15.  
  16.   This READ-ME file contains the following information:
  17.  
  18.       1.      GENERAL INFORMATION
  19.       1.1     Requirements
  20.       1.2     List of Download files
  21.  
  22.       2.      INSTALLING THE VIDEO DRIVER
  23.       2.1     How to get the correct binary distribution package
  24.       2.2     Installing the driver using the rpm utility program
  25.       2.3     Generating a kernel with ISSE support (Kernel 2.2.x)
  26.       2.4     Generating a customized kernel module
  27.       2.5     Enabling AGP support
  28.  
  29.       3.      MONITOR CONFIGURATION
  30.       3.1     Changing the monitor configuration
  31.  
  32.       4.      CONFIGURATION FEATURES AND INFORMATION
  33.  
  34.       5.      USING THE CONTROL PANEL APPLICATION
  35.       5.1     How to Launch the Control Panel Application
  36.       5.2     --- spare ---
  37.       5.3     Gamma Correction Adjustment
  38.  
  39.       6.      NOTES, TROUBLESHOOTING AND LIMITATIONS
  40.  
  41.       7.      LIST OF SUPPORTED MODES
  42.  
  43.       8.      SERVICE, SUPPORT AND SOFTWARE UPDATES
  44.  
  45.  
  46. 1. GENERAL INFORMATION
  47. ----------------------
  48.  
  49.   This driver is based on the xfree86 version mentioned in the document header.
  50.   (see http://www.xfree86.org/4.0/ for documentation)
  51.   You must install this version of xfree86 before installing the drivers for
  52.   the ATI FireGL 8700/8800.
  53.  
  54.   If your Linux distribution does not provide the XFree86 version that is
  55.   supported by the current driver version, you must download and install 
  56.   the respective xfree86 binaries from
  57.       'ftp://ftp.xfree86.org/pub/XFree86/4.1.0/binaries/'
  58.   or from
  59.       'ftp://ftp.xfree86.org/pub/XFree86/4.2.0/binaries/'.
  60.   or from
  61.       'ftp://ftp.xfree86.org/pub/XFree86/4.3.0/binaries/'.
  62.  
  63.  
  64. 1.1 Requirements
  65. ----------------
  66.  
  67.   1. Any Linux/x86 system that does provide a glibc 2.2 (=libc 6.2) compatible
  68.      environment is supported. If your system does have a glibc 2.3 then this
  69.      condition is nicley fullfiled due to the lib's backward compatibility.
  70.  
  71.   2. XFree86 Version 4.1.0, 4.2.0 or X4.3.0 must be installed beforehand.
  72.  
  73.   3. The OpenGL implementation that comes with the driver can
  74.      of use the ISSE commandset extensions of some current x86 cpus.
  75.      So you should run a Linux kernel that can handle the respective 
  76.      register extensions at the task switches to make use of them.
  77.  
  78.      (ISSE: Internet Streaming Single-Instruction, Multiple-Data Extensions;
  79.      an extension of the IA-32 instruction set in the Intel Pentium III, the
  80.      Intel Pentium 4 and recent AMD Athlon processors.)
  81.  
  82.      Most current Linux distributions do already support ISSE and provide
  83.      an i686-optimized version of kernel 2.4.xx as systems base.
  84.      
  85.      You can add ISSE support to your Linux
  86.      kernel, if required follows:     
  87.          - apply a patch to the kernel (see 2.3)
  88.          - recompile the kernel
  89.          - install the recompiled kernel.
  90.  
  91.      NOTE: The OpenGL driver can use AMD 3DNow! enhanced opcodes as well
  92.            and - due to design - does not need a kernel patch for AMD 3DNow!.
  93.  
  94.   4. To generate your own kernel modules for your local workstation where
  95.      the modules match your kernel setup, you need a full tree of configured
  96.      kernel sources on your local workstation.
  97.  
  98.   
  99. 1.2 List of Download files
  100. --------------------------
  101.  
  102.   fileinfo.txt  - Download and quickstart installation guide.
  103.   Check.sh      - Helper script for determining libc and XFree86 version.
  104.   readme.txt    - This document.
  105.   fglrx-glc22-4.1.0-3.7.0.i386.rpm
  106.                 - Driver package for ix86 systems with libc6.2 (=glibc2.2)
  107.                   and XFree86 4.1.0 in rpm format.
  108.   fglrx-glc22-4.2.0-3.7.0.i386.rpm
  109.                 - Driver package for ix86 systems with libc6.2 (=glibc2.2)
  110.                   and XFree86 4.2.0 in rpm format.
  111.   fglrx-glc22-4.3.0-3.6.0.i386.rpm
  112.                 - Driver package for ix86 systems with libc6.2 (=glibc2.2)
  113.                   and XFree86 4.3.0 in rpm format.
  114.  
  115.  
  116. 2. INSTALLING THE VIDEO DRIVER
  117. ------------------------------
  118.  
  119.  
  120. 2.1 How to get the correct binary distribution package
  121. ------------------------------------------------------
  122.  
  123.   Determine which binary distribution you need for your system:
  124.   Download the script 'Install.sh' or 'Check.sh' and run it like this:
  125.       sh Install.sh -check
  126.   or
  127.       sh Check.sh
  128.  
  129.   This will provide information on suitable binary distributions for
  130.   your system. 
  131.   NOTE: Getting the correct binary distribution information may prevent
  132.   you from wasting time by downloading the wrong distribution.
  133.  
  134.  
  135. 2.2 Installing the driver using the rpm utility program
  136. -------------------------------------------------------
  137.  
  138.   Download the rpm that fits to your system and store the package
  139.   to a temporary folder where you can create, delete, and modify files
  140.   and directories. You'll need at least 5 MB of diskspace available.
  141.   Get super user (root) privileges and change (cd) to this directory.
  142.  
  143.   Start the rpm program:
  144.  
  145.       rpm -Uhv <package_name>.rpm
  146.  
  147.   In case you do spot any problems try this command line:
  148.  
  149.       rpm -i --force <ati_package_name>.rpm
  150.  
  151.   Since the rpm program does check any sort of dependencies to system
  152.   libraries you might observe that you are requested to install certain
  153.   revisions (or compatible versions) of other packages in order to install
  154.   the driver package. Advanced administrators can decide to override
  155.   specific dependencies by the "--nodeps" switch as described in the RPM
  156.   manual pages, but in general those dependencies should be fullfilled.
  157.  
  158.   E.g. you might be prompted for QT 2.x.x in order to install the
  159.   driver. In this case you just have to install the appropiate version
  160.   of the lib and then repeat the installation. If you dont have or
  161.   dont want to install that particular version of QT lib, you can
  162.   override this by adding "--nodeps" to your commandline. Since the
  163.   QT lib is only required for the FGL panels the panels will just
  164.   not launch. You can instead compile the panels from the provided
  165.   sources against your QT lib version or install the QT libs later.
  166.  
  167.   Note for RedHat 8.0 users:
  168.     RedHat 8.0 installations often include a specific version of the 
  169.     libGL component. (For example, provided by the rpm package 
  170.     XFree86-Mesa-libGL-4.2.0-72). Installing the ATI Linux driver package
  171.     causes a conflict because the ATI Linux drivers include a custom-built 
  172.     libGL version providing extra pbuffer support. The ATI libGL is backward
  173.     compatible to the respective XFree86 libGL version.
  174.  
  175.     Install the ATI Linux driver package and replace the existing libGL 
  176.     installation as follows:
  177.  
  178.     - Force RPM to use the replacement file of the ATI driver package:
  179.         rpm -i --force <ati_package_name>.rpm
  180.        NOTE: This includes overriding the rpm warning
  181.  
  182.     or
  183.  
  184.    - Remove the existing libGL installation and then install the new libGL 
  185.      with the ATI driver installation. 
  186.      For example:
  187.  
  188.       rpm -e --nodeps XFree86-Mesa-libGL-4.2.0-72
  189.       rpm -Uhv <ati_package_name>.rpm
  190.  
  191.      NOTES:
  192.         (1) Ensure that no OpenGL program is running during installation
  193.         (2) You need the "--nodeps" option because some screen savers, qt-3, 
  194.             and some parts of XFree86 might depend on the libGL presence.
  195.             Installing the new libgl from the ATI package will restore the 
  196.             required libGL presence.
  197.  
  198.   Perform the following steps after you have installed the driver files:
  199.   - Run fglrxconfig to configure your XFree86 installation.
  200.   - Respond to the questions of the fglrxconfig program
  201.   - Save the settings to  /etc/X11/XF86Config-4.
  202.  
  203.   Some notes for debian users:
  204.  
  205.   The debian Linux distribution in most cases does not come with the 
  206.   ability to handle rpm packages with the rpm tool. But there is a
  207.   tool called "alien" which allows you to convert rpm files into the
  208.   debian supported *.deb package format. Please consult your debian
  209.   documentation on how to operate this tool. 
  210.  
  211.   A typcial debian installation commandline will look like this:
  212.  
  213.       dpkg -i <ati_package_name>.deb 
  214.  
  215.   In order to override complaints (which might be caused by an already
  216.   installed package "xlibmesa3" that also provides the file libGL.so.1.2)
  217.   please use this installation command line:
  218.  
  219.       dpkg -i --force-overwrite <ati_package_name>.deb 
  220.  
  221.  
  222. 2.3 Generating a Kernel with ISSE Support (Kernel 2.2.x)
  223. --------------------------------------------------------
  224.  
  225.   Note: You may skip the information in this section in the following cases:
  226.   (1) You have Kernel 2.4.xx: Kernel 2.4.xx and most current distributions
  227.       come with ISSE support built-in,
  228.   (2) Your CPU does not have ISSE support at all. 
  229.  
  230.   If your kernel does not have Pentium III ISSE support, you need a kernel 
  231.   patch to benefit from the Pentium III ISSE instruction set.
  232.  
  233.   The patches on 'http://people.redhat.com/mingo/mmx-patches/' may be useful.
  234.   Please note that these patches represent preliminary 'alpha' or 'beta' 
  235.   code. Version "mmx-2.2.14-A0" has been tested with quite positive results.
  236.  
  237.   You must use the exactly matching kernel source from www.kernel.org.
  238.   A distribution-specific kernel, e.g. 2.2.14-5.0 from RedHat or 2.2.14.SuSE
  239.   may not work.
  240.   +++ It is highly recommended to backup the old kernel sources before applying
  241.       the patch! +++
  242.  
  243.   Extract the kernel sources to a directory of your choice, typically in
  244.       /usr/src.
  245.   Make sure that the new linux kernel sources are referenced by a symbolic link
  246.   called /usr/src/linux before continuing.
  247.  
  248.   Copy the patch file to /usr/src and extract it from there:
  249.  
  250.       - for a gzip-packed patch use
  251.  
  252.             'zcat piii.gz | patch -p0 -E' 
  253.   
  254.       - for unpacked patches use 
  255.   
  256.             'cat piii | patch -p0 -E' 
  257.   
  258.   No queries or errors are displayed if your kernel matches 
  259.   exactly the kernel the patch was designed for.
  260.  
  261.   Change to '/usr/src/linux' and type 'make menuconfig' to start the kernel
  262.   configuration program. 
  263.   Enter "Processor type and features". Select "PIII/Xeon/Deschutes" as
  264.   Processor family to display ISSE or MMX2 menu items. For a fully working,
  265.   ISSE-capable kernel select the following options:
  266.  
  267.       - Processor type and features
  268.             (PIII/Xeon/Deschutes) Processor Family
  269.             - [*] Enable CPU Specific (MMX/MMX2) Optimization Functions
  270.             - [*] MTRR (Memory Type Range Register) support
  271.  
  272.       - Loadable Module Support 
  273.             - [*] Enable loadable module support
  274.             - [*] Kernel module loader support
  275.  
  276.   Save your settings and leave the menuconfig program.
  277.   Build your kernel. See the documentation of your distribution vendor for 
  278.   details.
  279.   Install the newly compiled kernel and test it.
  280.   +++ Keep your previous kernel bootable in case you experience problems. +++
  281.  
  282.   In case of doubt or trouble please check the files /var/log/XFree86.0.log and
  283.   /var/log/messages for hints on possible failures.
  284.  
  285.   After you have successfully compiled and installed the new, patched kernel, 
  286.   reboot your system with the new kernel.
  287.  
  288.   Install the driver for a second time. Use the Install.sh script again.
  289.   Remember, you must be logged in with super user (root) privileges. 
  290.   Now the necessary kernel driver module and client driver will be installed.
  291.  
  292.   You may use the 'cpu_check'software tool for checking the system CPU and
  293.   the kernel patch.
  294.  
  295.  
  296. 2.4 Generating a customized kernel module
  297. -----------------------------------------
  298.  
  299.   The FireGL 8700/8800 uses the performance capacity of your workstation
  300.   intensively. A precisely tailored kernel module is needed to support some
  301.   features, for example, AGP support, busmaster DMA transfers, or memory
  302.   mapping. Such a module is loaded at boot time or when the x-server starts
  303.   up and remains present for usage with the driver all the time. 
  304.  
  305.   Note: 
  306.     If the module is missing, you do not have hardware-accelerated 
  307.     3D-support and the 2D driver might abort while loading. See
  308.     the console outputs of X11 and /var/log/XFree86.0.log for results.
  309.   
  310.   You are in need to start the kernel module build manually
  311.   - if you spot having no hardware 3D support (run fglrxinfo to check)
  312.   - if you have done any important system changes, e.g. a changed kernel
  313.   - if you were adviced so whilst the driver installation
  314.  
  315.   The binary package provides fully working kernel modules for a few
  316.   distributions and kernel versions. So, for some cases, you don't need
  317.   to build a kernel module yourself. The installer will notify you if
  318.   installation of provided modules did succeed.
  319.   
  320.   The FireGL provided kernel modules will not fit your needs, for example,
  321.   - if you have a new or customized Linux kernel, or
  322.   - if you have kernel symbols versioning enabled.
  323.   
  324.   In these cases you must build the configured sources of your kernel
  325.   at /usr/src/linux - this is allowed to be a symlink.
  326.   To build a customized kernel module you need administrator privileges.
  327.   You must manually start two shell scripts to build a customized kernel 
  328.   module.
  329.  
  330.   Perform the following steps:
  331.       - get the matching Linux kernel source
  332.       - run "make distclean"
  333.       - setup that kernel source with the config file matching your kernel
  334.       - run "make dep" on the kernel source tree
  335.       - go to "/lib/module/fglrx/build_mod" and enter "./make.sh"
  336.       - go to "/lib/module/fglrx" and enter "./make_install.sh"
  337.   
  338.   Enter /lib/module/fglrx/build_mod and enter (as root) "./make.sh".
  339.   Thus you will create a new customer-specific kernel module.
  340.   If the creation fails, look up for the reason in the
  341.   shell and in the related logfile "make.log".
  342.   
  343.   Note: Ignore the following warning that may turn up in some configurations:
  344.   
  345.       compiling...
  346.       /tmp/ccOWu6AI.s: Assembler messages:
  347.       /tmp/ccOWu6AI.s:9: Warning: Ignoring changed section attributes 
  348.           for .modinfo
  349.  
  350.   A specific combination of Linux kernel sources and C compiler triggers this 
  351.   warning. Similar messages turn up if you build your own Linux kernel. This 
  352.   is a widely known Linux issue that does not affect your builds.
  353.  
  354.   There are some kernel sources arround that produce further warnings about
  355.   some sort of pointer conversion. You can ignore this warnings as well.
  356.   
  357.   To set up a kernel module build you need Linux kernel headers that match
  358.   exactly the kernel you are running.   
  359.   If your kernel is configured SMP with P-III support and agpgart enabled, 
  360.   you must have a kernel source that is configured exactly the same way.
  361.   
  362.   If your kernel was built by your Linux distribution and supplied as binary:
  363.   - Get the related source RPM file 
  364.   - Extract the matching configuration settings contained there.
  365.     (RedHat Linux files may reside in the subdir "configs".
  366.     SuSE Linux: find the files in the SRPMs.
  367.     Latest SuSE versions will present /proc/config.gz for the running kernel.)
  368.   - Set up your kernel source with these settings:
  369.     (1) copy the config file to /usr/src/linux<your-extension>/.config
  370.         (For SuSE config.gz first apply "gunzip config.gz" at a temp location.)
  371.     (2) run "make oldconfig" for exact importing
  372.   - Run "make dependencies" ("make dep").
  373.  
  374.   Note:
  375.     If you want to build multiple modules for multiple kernel configurations,
  376.     run "make distclean" after each cycle and setup the config file again.
  377.   
  378.   If you cannot build the matching kernel headers
  379.   (1) build a new kernel from scratch that is optimally customized to
  380.       your machine,
  381.   (2) install the new kernel and boot it
  382.   (3) continue with setup - if the kernel runs. 
  383.   
  384.   Perform the final step on each customized kernel module build:
  385.   - Go to /lib/modules/fglrx
  386.   - Start ./make_install.sh
  387.   This copies the matching kernel module into the loadable modules tree of your
  388.   running kernel. The script also updates the module loader dependency list.
  389.   
  390.   On machines that use identical kernels and kernel configuration the results
  391.   of the kernel module build are interchangeable. Copy the module into
  392.     /lib/modules/fglrx
  393.   and setup the new module for usage by running the script
  394.     ./make_install.sh
  395.   that you can find in the same directory.
  396.   
  397.  
  398. 2.5 Enabling AGP Support
  399. ------------------------
  400.  
  401.   Several up-to-date distributions, for example, SuSE 7.0 or RedHat 7.0, 
  402.   come with a matching and possibly activated AGP support. This is provided
  403.   by the so called 'agpgart' kernel module.
  404.  
  405.   If the graphics driver's kernel module detects the presence of this feature,
  406.   it tries to connect to the supplied AGP/GART module. 
  407.  
  408.   To verify if the related AGP module is already loaded run 'lsmod' as root. 
  409.   With the XServer running and the connection established, the usage count 
  410.   of the agpgart module has to be different from zero.
  411.   
  412.   Note:
  413.     The modules dependency list does not list agpgart as a requirement for
  414.     the fglrx kernel module - agpgart is not a 'hard dependency' for module 
  415.     operation. So the system's administrator has maximum control of what he 
  416.     wants to run on a specific machine.
  417.  
  418.   The latest version of the driver's kernel module is shipped with 'built-in' 
  419.   agp support. If your distribution's kernel setup does not provide agpgart 
  420.   compatible services, the FireGL built-in agpgart module will be used.
  421.  
  422.  
  423. 3. MONITOR CONFIGURATION
  424. ------------------------
  425.  
  426.  
  427.   NOTES:
  428.   (1) Full overlay functionality is available in Single Head mode only.
  429.   (2) A connected digital display is always the primary display
  430.   (3) Primary/Secondary head definition (if two display devices are connected):
  431.   (4) Quad Buffer Stereo ("Active Stereo") is available in Single Head mode 
  432.       only.
  433.   
  434.         - Primary Head:
  435.           the bottom DVI port on X1, LCD output on M9, the only DVI port on 
  436.           other cards (The connected display on this head is the first 
  437.           string in MonitorLayout option).
  438.  
  439.         - Secondary Head:
  440.           the top DVI port on X1, VGA port on all other cards (The connected 
  441.           display on this head is the second string in MonitorLayout option).
  442.  
  443.  
  444.   The driver supports the following monitor configurations.
  445.  
  446.     - Single Head: Single monitor operation only. If a second monitor is 
  447.       connected, it remains dark. 
  448.       This is the only available display mode setting if you have only one 
  449.       monitor connected.
  450.       This is further the only mode Quad Buffer Stereo ("Active Stereo") is 
  451.       working.
  452.  
  453.     - Clone: The contents of the primary monitor are duplicated on the second 
  454.       monitor. If one monitor cannot display the selected resolution, a lower
  455.       resolution is automatically selected for this monitor. The original 
  456.       resolution is used then as it was specified as the virtual resolution.
  457.       This means the second screen will do panning when the mouse moves ahead.
  458.  
  459.     - Big Desktop. There is a single big framebuffer that gets split either
  460.       horizontally or vertically and each half is sent to a single monitor.
  461.       
  462.       Availabel selections:
  463.         - Big Desktop Horizontal: left section of your display on the 
  464.           primary monitor and the right section on the second monitor.
  465.         - Big Desktop Vertical: upper section of your display on the 
  466.           primary monitor and the lower section on the second monitor.
  467.          
  468.       NOTES: 
  469.       (1) There is only a single frame buffer and only one window manager.
  470.       (2) Both monitors have to operate with the same video mode settings.
  471.       (3) The mode information in 'Section Screen, Subsection Display, Modes' 
  472.           (in XF86Config-4) does apply to both monitors.
  473.       (4) The maximum resolution for OpenGL operation are: 
  474.           - R200 family (Radeon 8500-9000 Pro, Fire GL 8700/8800/E1): 2048x2048
  475.           - R300 family (Radeon 9500-9700 Pro, Fire GL X1/Z1):        2560x2560
  476.       (5) Option "ScreenOverlap" (Type OPTV_INTEGER):
  477.           - This option is intended to allow image overlapping with e.g. two 
  478.             video projectors.
  479.           - This option only applys to "Big Desktop" mode.
  480.           - When this option is set to a value greater than zero then the a full
  481.             heighted rectangualar region along the aligned edge will get 
  482.             displayed on both screens.
  483.           - The option value specifies the width in pixels of the rectangular 
  484.             region.
  485.           - The final virtual screen width (unless a higher virtual screen was
  486.             specified) is the sum of the width of both screens minus the given 
  487.             screen overlap value.
  488.          - The monitor resolutions and timings from the config file remain
  489.            unaltered.
  490.  
  491.     - Dual Head: Separate framebuffer, independent displays and video modes
  492.        for each monitor (two window managers possible).
  493.  
  494.  
  495. 3.1 Changing the monitor configuration
  496. --------------------------------------
  497.  
  498.   IMPORTANT: To rebuild the XF86Config-4 file, only use the fglrxconfig tool.
  499.  
  500.   NOTE: To rebuild the XF86Config-4 file you must know the type of monitor,
  501.     keyboard, and mouse of your system. See the existing config file first.
  502.   
  503.   WARNING: Do not specify monitor timings that do exceed the performance
  504.     scope of your monitor. Wrong monitor settings can damage your monitor! 
  505.     
  506.   To change the monitor configuration, you have to execute these steps:
  507.  
  508.   1. Log on with root privileges.
  509.  
  510.   2. Run the FireGL 8700/8800/E1/X1/Z1 configuration program again.
  511.      Enter:
  512.  
  513.        fglrxconfig
  514.  
  515.   3. Answer the questions of the fglrxconfig program and save
  516.      the settings to /etc/X11/XF86Config-4.
  517.  
  518.   4. Restart the XServer.
  519.  
  520.  
  521. 4. CONFIGURATION FEATURES AND INFORMATION
  522. -----------------------------------------
  523.  
  524.   1. To check, if 3D acceleration is working properly, use the
  525.      'fglrxinfo' program installed together with the FireGL 8700/8800 driver.
  526.  
  527.      To run the test program enter:
  528.  
  529.          fglrxinfo
  530.  
  531.      Typical output information (3D acceleration is working properly)
  532.      may read like this:
  533.  
  534.          OpenGL vendor string: ATI
  535.          OpenGL renderer string: FireGL 8700/8800
  536.          OpenGL version string: 1.2.1234 (1.2.3)
  537.  
  538.   2. Some tools, for example, from the XFree86 group may also
  539.      provide useful information, e.g. xdpyinfo or glxinfo.
  540.  
  541.   3. For information on the CPU support of your running system 
  542.      run the application "cpu_check". (This program might only
  543.      be present if you have also installed the FireGL 1 - 4 drivers.)
  544.  
  545.   4. Dual Head Configuration
  546.      The driver is multi-load capable, i.e. a second screen with a 
  547.      different window manager can be created for the second output
  548.      connector. Use configuration tool "fglrxconfig" to enable dual 
  549.      head mode. To get control of the second screen, just move your 
  550.      mouse to it.
  551.  
  552.      Notes:
  553.      - Xinerama and DRI are mutual exclusive. Because of this Xinerama
  554.        can not be enabled.
  555.  
  556.   5. Video Overlay
  557.      All graphics boards supported by this driver are Video Overlay capable.
  558.      When you are using the fglrxconfig tool to generate a XF86Config-4 file,
  559.      Video Overlay is enabled.
  560.  
  561.      Notes:
  562.       - Video Overlay, OpenGL Overlay and Quad Buffer Stereo ("Active Stereo")
  563.         are mutual excluding each other.
  564.  
  565.   6. Quad Buffer Stereo ("Active Stereo")
  566.      The FireGL X1 is Quad Buffer Stereo ("Active Stereo") capable. To enable 
  567.      Stereo mode add
  568.         'Option "Stereo" "on"'
  569.      to the XF86Config-4 file and disable both, VideoOverlay and OpenGLOverlay.
  570.      Use at least 100 Hz (better 120Hz) modes for Stereo. Find appropriate mode 
  571.      lines in the XF86Config-4 file generated by fglrxconfig.
  572.  
  573.      Notes:
  574.      - For stereoscopic viewing you need shutter glasses that are not included 
  575.        in delivery. Connected to the stereo output connector of the graphics 
  576.        card, the shutter glasses alternately open the view for the left or right
  577.        eye.
  578.  
  579.   7. Full Scene Anti Aliasing (FSAA) 
  580.      The FireGL X1 uses a multi-sampling technique to implement anti-aliasing.
  581.      To set/enable/disable FSAA use
  582.         Option "FSAAScale" (Type OPTV_INTEGER).
  583.      Possible values for "FSAAScale":
  584.      - "1" (disables FSAA)
  585.      - "2" (2 multi sample points)
  586.      - "4" (4 multi sample points)
  587.      - "6" (6 multi sample points).
  588.  
  589.      Notes:
  590.      (1) By default FSAA gamma is set to "2.2." (Typical for CRT display 
  591.          devices). To disable FSAA gamma (i.e. set it to "1.0") use
  592.             'Option "FSAADisableGamma" "yes"' (Type OPTV_BOOLEAN)
  593.      (2) If you want to customize the sample points set 
  594.             'Option "FSAACustomizeMSPos" "yes"' (Type OPTV_BOOLEAN)
  595.      (3) To set ...
  596.          ... the first point use
  597.             Option "FSAAMSPosX0" (Type OPTV_DOUBLE)
  598.             Option "FSAAMSPosY0" (Type OPTV_DOUBLE)
  599.          ... the 2nd point use
  600.             Option "FSAAMSPosX1" (Type OPTV_DOUBLE)
  601.             Option "FSAAMSPosY1" (Type OPTV_DOUBLE)
  602.          ... the 3rd point use
  603.             Option "FSAAMSPosX2" (Type OPTV_DOUBLE)
  604.             Option "FSAAMSPosY2" (Type OPTV_DOUBLE)
  605.          ... the 4th point use
  606.             Option "FSAAMSPosX3" (Type OPTV_DOUBLE)
  607.             Option "FSAAMSPosY3" (Type OPTV_DOUBLE)
  608.          ... the 5th point use
  609.             Option "FSAAMSPosX4" (Type OPTV_DOUBLE)
  610.             Option "FSAAMSPosY4" (Type OPTV_DOUBLE)
  611.          ... the 6th point use
  612.             Option "FSAAMSPosX5" (Type OPTV_DOUBLE)
  613.             Option "FSAAMSPosY5" (Type OPTV_DOUBLE)
  614.          For FSAA "2" you have to set 2 points, for FSAA "4" you have to set 4
  615.          points, for FSAA "6" you have to set all 6 points.
  616.      (4) Range. Pixel size is 1x1, so the range is
  617.             (0 <= (X position) <= 1) and (0 <= (Y position) <= 1).
  618.      (5) FSAA applies only to OpenGL.
  619.  
  620.   8. Center Mode
  621.      Center Mode allows 'real' screen display in non-"panel native modes": one 
  622.      pixel of the frame buffer is one pixel on the screen. The display is 
  623.      centered on the screen and the surrounding screen area remains black.
  624.  
  625.      NOTES: 
  626.      - By default a Mobility FireGL automatically expands the display in 
  627.        non-"panel native modes" to fullscreen size.
  628.      - Non-"panel native modes": For example, 1280x1024 resolution on a 
  629.        1600x1200 (= panel native mode) LCD.
  630.      - Some panels may not work in Center Mode, screen remains black then.
  631.  
  632.      How to enable the Center Mode function?
  633.      - Open the XF86Config-4 file
  634.      - Go to the Driver Device section
  635.      - Insert the Option  "CenterMode" "on" 
  636.      - Restart the X server
  637.  
  638.  
  639. 5. USING THE CONTROL PANEL APPLICATION
  640. --------------------------------------
  641.  
  642.   The current drivers come with an easy-to-use set of panels
  643.   that integrate into the two most common window managers.
  644.  
  645.   So you can easily retrieve information about the adapter
  646.   and its setup. You can also select several
  647.   variations of single or dual screen setups and the adjustment
  648.   of the screen color gamma factors.
  649.  
  650.   Notes:
  651.   - The panel application is based upon the QT Toolkit for Linux
  652.     from Trolltech. Since not all Linux platforms may have the respective
  653.     libs installed, we provide the panel application in two versions:
  654.     - statically linked and 
  655.     - dynamically linked
  656.     By default the dynamically linked version is used. 
  657.  
  658.     If you do not have the appropriate version of the QT libraries available
  659.     in your system then the installer will redirect to the statically linked
  660.     version of the panel application which is also available with this name: 
  661.       /usr/X11R6/bin/fireglcontrol.static
  662.     This binary comes with the matching QT libs inside. This version of the
  663.     application has a significantly bigger file size and memory footprint.
  664.  
  665.     The statically linked version should match with your the major compiler
  666.     version in order to get any c++ mangled names correct. If that does not
  667.     match you might see several unresolved symbols reported when the panel
  668.     apllication is started vom an X11 based terminal. In this case only a
  669.     rebuild of the panesl from the provides sources will help. This task
  670.     should be doable by any average system administrator with c knowledge.
  671.  
  672.     The finally unused version will only be present as a bzip2 compressd
  673.     archive in the /usr/X11R6/bin directory to minimize space consumption.
  674.  
  675.   - For GPL and QPL license reasons (copies are provided with the driver
  676.     package) the sources of the panel application are included in the driver
  677.     package. If you are interested in these files then please find find them
  678.     (bundled as an archive) after driver installation on your system at:
  679.       /usr/src/ATI/fglrx_panel_sources.tgz
  680.  
  681.     NOTE:
  682.     RedHat 8.0 users do need to install the qt-devel package in order to
  683.     compile this source package if they target for panel recompiliation.
  684.     This package provides some needed source components and symbolic links.
  685.  
  686.  
  687. 5.1 How to Launch the Control Panel Application
  688. ------------------------------------------------
  689.  
  690.   To launch the control panel application:
  691.  
  692.   - If you are using RedHat 8.0 then go to:
  693.       Main Menu ("RedHat symbol") => Extras => Other => ATI Control
  694.  
  695.   - If you are using the GNOME Desktop Environment then go to:
  696.       Main Menu ("gnome footprint") => Programs => ATI Control
  697.  
  698.   - If you are using the KDE Desktop Environment then go to:
  699.       Main Menu ("K icon") => ATI Control
  700.  
  701.   - If you are using another window manager you will find the
  702.     FireGL 8700/8800 control panel at:
  703.       /usr/X11R6/bin/fireglcontrol
  704.  
  705.     If you do have set a path to this location then can just enter
  706.       fireglcontrol
  707.     for launching the panels application from inside an xterm window.
  708.  
  709.  
  710. 5.2 --- spare ---
  711. -----------------
  712.  
  713. 5.3 Gamma Correction Adjustment
  714. -------------------------------
  715.  
  716.   To adjust the gamma correction factor 
  717.   
  718.   The Gamma Correction Adjustment settings are individual for each monitor.
  719.  
  720.   - In the ATI FireGL 8700/8800 control panel select the appropriate monitor
  721.     tag for the monitor you want to correct:
  722.       Monitor tab 1 is for the monitor connected to the VGA connector,
  723.       Monitor tab 2 is for the monitor connected to the DVI connector.
  724.   - select the Adjustment tab for the desired monitor 
  725.   
  726.   Adjust the monitor's gamma correction to your needs with the red, green
  727.   and blue slider bars. The applied changes will show immediately on
  728.   the respective monitor. The effect of display gamma is to darken or lighten
  729.   the midtones of the framebuffer data.
  730.  
  731.   The gamma correction affects the entire display of the respective monitor. 
  732.   The slider settings range is 0.1 - 10.0 (among X). The default is 1.0.
  733.   With "Link sliders" selected, the three sliders move together as you drag any
  734.   individual slider. With the "Link sliders" unchecked, you can adjust colors
  735.   individually by dragging each of the applicable slider separately.
  736.  
  737.   Click the ">1<" button - if not linked then for each color separately - to 
  738.   reset the respective gamma correction value back to the default value of 1.0.
  739.  
  740.   Click the Apply or OK button to confirm your adjustments.
  741.  
  742.   Notes:
  743.   - The gamma values are adjusted by applying an exponential translation 
  744.     function that matches each of the 256 possible input values of R, G and B 
  745.     to a numeric output value. This value is transmitted to the monitor driving 
  746.     units. 
  747.  
  748.     When adjusted with the panels 
  749.     - An input value of zero is always matched to the darkest output value.
  750.     - An input value of 255 is always matched to the lightest output value.
  751.  
  752.   - Since the source of the panel application is provided, advanced programmers 
  753.     can customize the gamma function, e.g. to address special needs like gamma 
  754.     offsets or clamping.
  755.  
  756.   - Caution: Different gamma correction applications may not work as described 
  757.     here. Please check with the application-related instructions. 
  758.  
  759.  
  760. 6. NOTES, TROBULESHOOTING AND LIMITATIONS
  761. -----------------------------------------
  762.  
  763.   1. The FireGL 8700/8800 allows graphical Linux installation in VGA and VESA 
  764.      modes. On distributions that come with pre-packaged drivers for the 
  765.      graphics board a native graphics mode install will work.
  766.  
  767.   2. For SuSE systems with XFree86 4 and higher the following might apply:
  768.      If you do spot warnings about wrong, incomplete or missing GLX support
  769.      when running any opengl related software (or the SuSE script 3Ddiag)
  770.      then you might be in need for doing what is described below.
  771.  
  772.      SuSE is providing XFree86 3.3.6 for legacy hardware where drivers are
  773.      not yet ported to current XFree86. For this reason you might have a
  774.      look into the SuSE installation guide for OpenGL (chapter 6 on SuSE 7.3)
  775.      for a few more details on the subject.
  776.  
  777.      In short, you require the installation of the xf86_glx-4.*.i386.rpm
  778.      package on your machine. If you have selected the checkbox for
  779.          "3D hardware support"
  780.      whilst running the system installation program then you might already
  781.      have this package.
  782.  
  783.      After this you have to run the following two scripts
  784.          /usr/X11R6/bin/switch2xf86-4
  785.          /usr/X11R6/bin/switch2xf86_glx
  786.      which sets up the executeables of X4.x.x as the default and further
  787.      installs the DRI libraries for X11 compliant OpenGL support. There
  788.      are other methods of OpenGL support like "mesasoft" or some third
  789.      party hw specific set of OpenGL libraries that wont accellerate or
  790.      even work with the FireGL series of adapters.
  791.  
  792.      The installer of the FireGL driver package tries to care and solve
  793.      for the mentioned requirement, but might not always succeed in it,
  794.      especially when the required rpm package is just not present. Further
  795.      this setup might get corrupted if other third party graphics hardware
  796.      was installed in the system for some reasons.
  797.  
  798.   3. If you do spot interference with grafical console emulations in
  799.      form of textmode screen corruption, hangs on console switching
  800.      or sudden stops on XServer shutdown, then try replacing kernel
  801.      parameters like "vga=<nnn>" or "vga=ask" by "vga=normal".
  802.      This will possibly apply to SuSE 8.0, but check with your system.
  803.      
  804.      If you are using the lilo boot loader then you will find this
  805.      parameter most likely in the file /etc/lilo.conf. The "vga=..."
  806.      statement will typically appear on its own line. After modifying
  807.      this file you must start "lilo" once to update the boot block data.
  808.  
  809.      If you are using the grub boot loader then you will find this
  810.      parameter possibly in the file /boot/grub/menu.lst. The "vga=..."
  811.      entry will typically appear in a line that starts with the keyword
  812.      "kernel". After modifying this file you can simply reboot because
  813.      "grub" is auto configuring.
  814.  
  815.      The files and actions will differ if you are using a different loader.
  816.  
  817.   4. Xv support
  818.      Video and other media playback via the Xv software system is currently
  819.      in an early stage and therefore some visualisation problems might occure. 
  820.      If you really have problems with that functionality we recommend you to
  821.      try out the program "mplayer" and set its VideoOut option to "GL" for best
  822.      overall quality and performance.
  823.  
  824.   5. Limitations
  825.      - Systems with libc 6.0 trough libc 6.1 are not supported.
  826.      - Panning/scrolling does not work in the "big desktop" display mode.
  827.  
  828.   6. For further information on programming OpenGL Applications, DRI, DRM
  829.      please refer to the file README.DRI located at /usr/X11R6/lib/X11/doc.
  830.  
  831.   7. Other OpenGL implementations
  832.      - Your system may have installed other OpenGL-compatible libraries (e.g.
  833.        MesaGL) with higher priority than the hardware supported libraries.
  834.      - Your applications may link to other GL libs than those provided with the
  835.        FireGL 8700/8800 - and therefore do not use the provided hardware 
  836.        acceleration.
  837.  
  838.      Thus your sytem may run significantly slower software rendering
  839.      code, as compared to the hardware-accelerated render libs of the FireGL
  840.      8700/8800. In this case please consult an experienced Unix/Linux expert 
  841.      who can either recompile the application appropriately or can modify your 
  842.      library environment so that the correct libs are found.
  843.  
  844.      To check out which libs your application is using, enter
  845.          ldd <name_of_application>
  846.      and you will get extended information.
  847.  
  848.      If the reported GL libraries come from your X11R6 subdirectory,
  849.      the application is probably built correctly.
  850.      However, the library or the XFree86 setup may be strange.
  851.  
  852.      References to libGL.so.1.2 are also good. However, a reference to,
  853.      for example, libMesaGL.030300 typically wont serve your needs.
  854.      For other references, please check if the file is a symlink and which
  855.      file is the final target of these symlinks. 
  856.  
  857.   8. DRI and Security
  858.      The Section "dri" in your XF86Config-4 file may, for example, look like:
  859.  
  860.          Section "DRI"
  861.              Group "video"
  862.              Mode 0660
  863.          EndSection
  864.  
  865.      This implies that only users assigned to the group "video" can use 
  866.      3D Hardware acceleration. To add a user to the group "video", do the 
  867.      following:
  868.      
  869.          - edit [as root] the file /etc/group,
  870.          - search for "video"
  871.          - add the new user(s) at the end of the 'video' line, separated by a 
  872.            comma (,).
  873.            
  874.      Example:
  875.      adding a new user 'henryc' to  
  876.          video:x:33:frankh,michaelg
  877.      will result in
  878.          video:x:33:frankh,michaelg,henryc
  879.  
  880.   9. Old GLX Library Files
  881.      If there is a glx library file other than libglx.a (for example a file
  882.      like libglx.so or similar) in directory /usr/X11R6/lib/modules/extensions,
  883.      this might prevent the XServer from correctly accessing the glx library.
  884.      In this case move any other glx library files (except of libglx.a)
  885.      to a directory that is not part of the library search path.
  886.  
  887.  10. Commonly used OpenGL utility libraries (GLU, GLUT)
  888.      Most distributions come with a complete set of OpenGL utility libraries.
  889.      Sometimes a specific application may require a specific library 
  890.      version which is not currently installed in your system.
  891.  
  892.      Most libs are interchangeable or highly equivalent in exports.
  893.      (libMesaGLU.??? -> libGLU.so, libMesaGLUT -> libGLUT)
  894.  
  895.      For most applications do the following:
  896.      - (1) create a symlink to the existing library with the required name
  897.              ln -s <existing_lib_name> <needed_lib_name>
  898.      - (2) run 'ldconfig'. 
  899.  
  900.      Since libraries are part of the user level system, extensions to this 
  901.      setup are not critical. Normally, your previously nasty application will 
  902.      run smoothly with the symlinked version of the libs. 
  903.      If the setup extension fails, you will get a segmentation fault from the
  904.      application or a warning messages about unresolved symbols.
  905.      
  906.      Typical locations for libraries are:
  907.          - /lib
  908.          - /usr/lib
  909.          - /usr/local/lib
  910.          - /usr/X11R6/lib
  911.          
  912.      Make sure that there are no duplicate names so that you know exactly which
  913.      library locations is active.
  914.      If an application requires a specific lib in a specific tree, consider to
  915.      create a symlink from the application's location to your preferred 
  916.      location rather than copying or moving the files around each time.
  917.      
  918.      A typical error scenario: your application uses the GLU tesselation API,
  919.      and you have only MesaGLU, e.g. Mesa version 3.4.
  920.      The application will prompt you for unresolved symbols that start
  921.      with 'gluTess'. 
  922.      - go to the download section of 'http://www.mesa3d.org.'
  923.      - find ready-to-install packages of the open source SGI sample 
  924.        implementation of GLU.  Currently the direct link to the download 
  925.        location is:
  926.          ftp://mesa3d.sourceforge.net/pub/mesa3d/SI-GLU/
  927.      - the file oss-opengl-glu-20000925-1.i386.rpm should work for you.
  928.      
  929.      You can find the latest release of the GLUT library at
  930.          http://reality.sgi.com/mjk_asd/glut3/glut3.html
  931.      for free download. Since the glut library is released in less frequent
  932.      cycles, some of the attached sample programs may show errors.
  933.  
  934.      Sometimes you can find a fixed source for a sample in the glut/win32
  935.      package at
  936.          http://www.xmission.com/~nate/glut.html
  937.      Note that this package currently does not compile under Linux - the 
  938.      project's work was not focussed on this target. However, this may 
  939.      possibly change. 
  940.  
  941.      You must move the selected source files into a regular GLUT-3.7 
  942.      environment.
  943.      
  944.      A variety of toolkits is available. Some toolkits are included in GLUT 
  945.      (like gle, mui, glsmap), some toolkits are distributed 
  946.      separately.
  947.  
  948.      Note:
  949.        It is beyond the scope of this document to further evaluate this 
  950.        subject. It is in the responsibility of the respective toolkit team 
  951.        to supply the latest releases and to offer OpenGL-compatible 
  952.        implementations.
  953.      
  954.  11. Login Shell
  955.      For any Linux we recommend a real "Login Shell" for working
  956.      as root. 
  957.      - Log into the system directly from the console or
  958.      - Use the SubstituteUser command with 'su -l' from any user and any shell.
  959.      This will set all required paths for your root environment.
  960.  
  961.  12. Linux kernels with built-in dri/drm support
  962.      Some Linux kernel sources provide XFree86 kernel modules for miscellaneous
  963.      graphics adapters.
  964.      (1) These files are not compatible with ATI drivers.
  965.      (2) These files might prevent ATI modules from beeing searched or found.
  966.      (3) These files are not required for running the FireGL 8700/8800 with its
  967.          drivers.
  968.  
  969.      As of today, there is no perfect implementation of the XFree86 kernel 
  970.      driver loading process. If you have multiple kernel drivers selected and 
  971.      compiled directly into your Linux kernel, XFree86 may not start the 
  972.      respective ATI kernel module automatically. XFree86 scans all present dri 
  973.      devices and concludes that dri is active but there is no suitable driver.
  974.      Thus the required kernel module is not loaded.
  975.  
  976.      Solutions for the above scenario:
  977.      - don't compile any dri/drm devices hard into your Linux kernel,
  978.        if you need other modules than provided by ATI: use modules.
  979.      - manually load the ATI kernel modules before starting your XServer.
  980.        This will force the ATI modules to get loaded and properly detected.
  981.  
  982.  14. GL Quake Benchmark
  983.      You must reference the mode for testing the benchmark "Quake" at full
  984.      screen in the 'modes' line of the 'Screen' section in your XF86Config-4
  985.      file.
  986.  
  987.      For example:
  988.      You are running your XServer at 1280x1024 resolution and want to
  989.      benchmark Quake at 800x600 resolution.
  990.      Then your 'modes' line must contain at least these components:
  991.          modes "1280x1024" "800x600"
  992.  
  993.  15. Quad Buffer Stereo ("Active Stereo")
  994.      If you do enable Stereo Quad Buffering then you should not use virtual
  995.      desktops bigger than the selected resolution. Further the stereo feature
  996.      will only initialize if your adapter is in textmode when launching X and
  997.      the respective display mode. The adapter can not switch between multiple
  998.      resolutions while keeping the stereo setup. For that reason it is highly
  999.      recommended that you have only a single 'modes' line in your XF86Config 
  1000.      file at Section "Screen" SubSection "Display".
  1001.  
  1002.  16. Handling "drmSetBusid failed"
  1003.      The following is a quote from the DRI-FAQ at http://dri.sourcforge.net:
  1004.  
  1005.          How do I fix:
  1006.              [drm] drmSetBusid failed (7, PCI:1:0:0), Permission denied?
  1007.          Posted by: Liam  
  1008.  
  1009.          This "Permission denied" problem has been reported a couple of
  1010.          times now. It seems to occur if the DRM kernel module is compiled
  1011.          with a different compiler version than the kernel. AFAIK no one
  1012.          has bothered to find out why so far. 
  1013.  
  1014.          You can either compile the kernel yourself or find out which
  1015.          compiler RedHat used and use the same one for the module. 
  1016.  
  1017.      This is provided to our end users just for informational purposes.
  1018.      If the individual situation really does resemble to the mentioned
  1019.      root cause can not be answered in general but should be resolved by
  1020.      the respective system administrator on a case by case investigation.
  1021.  
  1022.      We do at least recommend you to run these two commands for analysis:
  1023.          cat /proc/version
  1024.          gcc --version
  1025.      The reported version numbers for the previousely used and now present
  1026.      gcc compiler should match. In case your environment does provide more
  1027.      than one version of gcc then the shell script for the custom kernel
  1028.      module build be inspected and tuned to request the matching version.
  1029.  
  1030.  17. OpenGL Sample Source Code
  1031.      The drivers for your graphics adapter do come with some sample files
  1032.      that are also provided as source. The sources are not required when
  1033.      just using the driver. The sources and related documentation are meant
  1034.      for usage by advanced developers and can be found in the file
  1035.          /usr/src/ATI/fglrx_sample_source.tgz
  1036.      after you have installed the graphics drivers. The binaries for the 
  1037.      respective programs can be found at the respective X11 location.
  1038.  
  1039.      Archive contents:
  1040.  
  1041.      fgl_glxgears: A demonstration program for the pixel buffer (pbuffer) 
  1042.      extension.
  1043.        - Showing the usage of the pixel buffer (pbuffer) extension
  1044.        - Helping to verify the presence of the pixel buffer (pbuffer) 
  1045.          extension, if enabled in your configuration.
  1046.  
  1047.      PBuffer support: available only if you have an ATI FIRE GL graphics board
  1048.      installed in your computer. No PBbuffer support for ATI Radeon and other 
  1049.      boards.
  1050.  
  1051.      Special disclaimer on the provided source package and information:
  1052.  
  1053.      There is no regular support for the source package and related 
  1054.      information. However we appreciate your feedback on problems and errors.
  1055.      The sources are provided for educational purposes only. For regulatory 
  1056.      and legal reasons we explicitly do not guarantee perfect correctness and
  1057.      accuracy, including but not limited to, fitness for a particular purpose
  1058.       - especially for use in high-security or high-risk environments.
  1059.      Before using this code, you must verify and assure 
  1060.      - the fitness for your specific purpose
  1061.      - non-infringement of express or implied third party rights.
  1062.  
  1063.      The driver package further constains an additional header file:
  1064.          /usr/include/GL/glxATI.h
  1065.      This serves third party developers that want to use a few ATI
  1066.      specific GLX extensions with the respective constant defines.
  1067.  
  1068.  18. Two Flavours Of DVI Cables
  1069.      When connecting a display device that is capable of digital data
  1070.      transmission such as a true digital flat panel to your FireGL E1, X1 or Z1
  1071.      then you should prefer using a DVI-D (=digital) cable over a DVI-I
  1072.      (=integrated) cable in order to avoid confusing the adapter on the
  1073.      desired graphics mode. Below is described how to distinguish the cables.
  1074.  
  1075.      A DVI-D connector does have a bigger grid of pins on one half of the jack
  1076.      and on the other half a _small_ metal blade with _no_ surrounding pins.
  1077.  
  1078.      A DVI-I connector does integrate digital and analog capabilities in a
  1079.      single unit and does therefore have a few more pins. On the one half
  1080.      of the jack there is the known dense grid of pins and on the other half
  1081.      there is a _wide_ metal blade with four surrounding pins. Each of these
  1082.      pins is close to the edge on the upper and lower surface of the blade.
  1083.  
  1084.  19. Compatibility with WineX and other emulators
  1085.  
  1086.      *** this section only applys to FireGL workstation boards ***
  1087.      *** respective settings for other adapters have no effect ***
  1088.  
  1089.      The OpenGL standard specifies that API calls must be executed by using the
  1090.      context of the current execution thread. For this reason the OpenGL driver
  1091.      part is using advanced methods in order to maintain the so called Thread
  1092.      Local Storage (TLS) locations. 
  1093.  
  1094.      The graphics driver implements two alternate methods for the above needs.
  1095.      The first method is quite "fast" and will provide the highest possible
  1096.      OpenGL performance. The method makes use of a quite limited resource.
  1097.      The second method is some 10% slower and uses a less limited resource so
  1098.      this operation is considered to be a highly "compatible" mode.
  1099.  
  1100.      If you do spot an immediate segmentation fault after launching a program
  1101.      that makes use of OpenGL, and further when the fault can be traced down to
  1102.      the OpenGL implementation of the graphics driver (called "fglrx_dri.so")
  1103.      then you should try to tune the TLS settings in the XF86Config-4 file.
  1104.  
  1105.      Locate the below line in your XF86Config-4 file:
  1106.        Option "UseFastTLS" "<value>"
  1107.  
  1108.      The entered value for the key UseFastTLS has this meaning:
  1109.  
  1110.      value meaning   description
  1111.      ------------------------------------------------------------------------
  1112.        0   default   FireGL workstation boards: fast operation
  1113.        1   on        fast operation
  1114.        2   off       compatible operation
  1115.  
  1116.      A known program that might need the compatible mode of operation is WineX.
  1117.      The problem might arise with other emulators and VM manipulating programs
  1118.      as well depending on their particular design. It is supposed that some of
  1119.      the code profiling applications out in the wild might be affected as well.
  1120.  
  1121.      In genereal applications that were written in regular C or C++ using the
  1122.      gnu compiler are rather unlikely to be ever affected by that scenario.
  1123.  
  1124.      Note: The above mentioned fault is not a driver bug, but it's caused by
  1125.      lack of management functionality for the respective resource in the
  1126.      hosting operating system. Alternatively it can be considered as a problem
  1127.      of the application to preserve the respective state of the used TLS method
  1128.      that the OpenGL driver did already "claim" and use.
  1129.  
  1130.  20. Compatibility with GDB, TotalView and other debuggers
  1131.      The driver has to go trough critical sequences for its normal operation
  1132.      that might produce memory loss or other non nice situations. For this
  1133.      it has to block some of the task interruption signals (like suspend)
  1134.      and to re-enable those signals afterwards.
  1135.  
  1136.      As of now there is a known side effect due to above behaviour. Debugger
  1137.      applications attached to OpenGL programs will be no longer responsive
  1138.      after a certain level of OpenGL initialisation is done and the system
  1139.      is further executing multiple OpenGL threads or applications. The effect
  1140.      is not neccessarily a deterministic one.
  1141.  
  1142.      In order to let developers debug their multi threaded OpenGL applications
  1143.      despite this there was an option added to XF86Config-4 which allows then
  1144.      to turn of the blocking in genereal. Since that also again introduces the
  1145.      risk of suffering memory leaks in combination with specific user activity
  1146.      the blocking should only be disabled unless there is a real need for it.
  1147.      
  1148.      Locate the below line in your XF86Config-4 file:
  1149.        Option "BlockSignalsOnLock" "<state>"
  1150.  
  1151.      The entered state for the key UseFastTLS has this meaning:
  1152.  
  1153.      state meaning   description
  1154.      ------------------------------------------------------------------------
  1155.        off no block  The driver will not use signal blocking. (for debuggers)
  1156.        on  use block The driver does block the signals for locking. (default)
  1157.  
  1158.      Note: As of now it is uncertain which is the real origin of the problem.
  1159.      As of now it does look like the debugger application is getting in some
  1160.      trouble because of not getting back the debugging control after the lock
  1161.      condtion was removed by the driver. This might be further investigated.
  1162.  
  1163.  21. Overlay Limitations
  1164.      For M9 / R200 graphic chips, overlay is horizontally limited to 1536
  1165.      pixels. If the selected mode exceeds this limit (e.g. 1600x1200), there is
  1166.      no overlay display beyond 1536 pixels.
  1167.  
  1168.  22. DGA (Direct Graphics Access)
  1169.      To run in DGA fullscreen mode, ensure that the mode you want to run
  1170.      appears in the "modes" line of your current subesection "Display"and
  1171.      comment out the line
  1172.         "Option    "omit xfree86-dga" 
  1173.      in your XF86Config-4 file.
  1174.  
  1175.      Note: The fglrx driver only supports true color DGA fullscreen modes.
  1176.      Ensure that you only switch to DGA fullscreen mode when guest is in true
  1177.      color native mode. 
  1178.  
  1179.  23. Laptop
  1180.      Suspend / Resume
  1181.      Suspending while X is running may cause a system crash. Before suspending 
  1182.      (i.e. closing the lid or pressing [Fn] + [F4]) please end the X server.
  1183.  
  1184.      Internal / External Mouse
  1185.      To use the internal and external mouse at the same time please modify the
  1186.      XF86Config-4 file as follows:
  1187.      ...
  1188.      # Core Pointer's InputDevice section
  1189.      Section "InputDevice"
  1190.          Identifier  "Internal Mouse"
  1191.          Driver "mouse"
  1192.          Option "Device"     "/dev/psaux"
  1193.          Option "Protocol"   "PS/2"
  1194.          Option "CorePointer"
  1195.          Option "Emulate3Buttons" "true"
  1196.          Option "ZAxisMapping" "4 5"
  1197.      EndSection
  1198.  
  1199.      Section "InputDevice"
  1200.          Identifier "External Mouse"
  1201.          Driver "mouse"
  1202.          Option "Device"     "/dev/input/mice"
  1203.          Option "Protocol"   "ImPS/2"
  1204.          Option "SendCoreEvents" "true"
  1205.          Option "Emulate3Buttons" "true"
  1206.          Option "ZAxisMapping" "4 5"
  1207.      EndSection
  1208.      ...
  1209.  
  1210.      ...
  1211.      # ServerLayout sections.
  1212.      Section "ServerLayout"
  1213.          Identifier  "T40 Layout"
  1214.          Screen "Screen0"
  1215.          InputDevice "Internal Mouse"
  1216.          InputDevice "External Mouse"
  1217.          InputDevice "Keyboard1" "CoreKeyboard"
  1218.      EndSection
  1219.      ...
  1220.  
  1221.  24. TMDS coherent
  1222.      Internal TMDS transmitter can be programmed in 2 different ways to get 
  1223.      best signal qualities depending on connected transmitter chips in the 
  1224.      panel. This noise most appears in 1600x1200 mode, but can also come up in
  1225.      1280x1024x75 Hz. Use Option "TMDSCoherentMode" to enable ("on") or disable
  1226.      ("off") coherent mode. Default setting is "on".
  1227.  
  1228.  25. Pseudo Color Visuals
  1229.      'Option "PseudoColorVisuals" "on"' allows to use pseudo color visuals at 
  1230.      the same time with true color visuals with the use of overlay technique.
  1231.      (See also item 21).
  1232.  
  1233.  26. TV out
  1234.      The Linux driver supports RADEON 9700/9800 Series TV Out capability. Not
  1235.      all flavours of graphics cards have TV Out.
  1236.  
  1237.   Notes:
  1238.         (1) To enable TV Out set
  1239.             'Option "NoTV" "no"'
  1240.             or delete the line completely.
  1241.             In addition you have to set TV Out (e.g. "CRT,STV") in the 
  1242.             MonitorLayout option and set clone mode (e.g. 0x00000100) or big 
  1243.             desktop mode in the DesktopSetup option.
  1244.             ( Best would be to use the "fglrxconfig" utility to make all 
  1245.             necessary settings).
  1246.         (2) To set the appropriate std use
  1247.             Option "TVStandard" (Type OPTV_ANYSTR)
  1248.             - possible settings are  "NTSC-M", "NTSC-N", "NTSC-JPN", "PAL-B",
  1249.               "PAL-D", "PAL-G", "PAL-H", "PAL-I", "PAL-K", "PAL-L", "PAL-N",
  1250.               "PAL-M", "PAL-SCART", "PAL-CN", "PAL-K1.
  1251.         (3) To adjust TV Out use 
  1252.             Option "TVHSizeAdj" (Type OPTV_INTEGER)
  1253.             Option "TVVSizeAdj" (Type OPTV_INTEGER)
  1254.             Option "TVHPosAdj" (Type OPTV_INTEGER)
  1255.             Option "TVVPosAdj" (Type OPTV_INTEGER)
  1256.             Option "TVHStartAdj" (Type OPTV_INTEGER)
  1257.             Option "TVColorAdj" (Type OPTV_INTEGER)
  1258.         (4) To adjust TV Out "on the fly" use the control panel, click on tag
  1259.             "TV Out". Ensure to have set TV Out in the MonitorLayout option.
  1260.             Otherwise the "TV Out" tag does not occur in the control panel.
  1261.  
  1262.  
  1263. 7. LIST OF SUPPORTED MODES
  1264. --------------------------
  1265.  
  1266.   The following list represents only a small amount of tested and  verified 
  1267.   modes for the FireGL X1/Z1/X2 graphics cards. Due to the limitations of your
  1268.   display device you may not be able to run all of the listed modes.
  1269.  
  1270.   In addition it is possible to run the graphics adapter with other modes by 
  1271.   generating specific modelines for the XF86Config file. When running the 
  1272.   FireGLX1/Z1/X2 with an analog display device (CRT) be aware of a maximum 
  1273.   pixel clock of 400MHz and when running on a digital display device (DVI) be 
  1274.   aware of a maximum pixel clock of 165 MHz.
  1275.  
  1276.   To set the "Big Desktop" modes please run the "fglrxconfig" utility.
  1277.  
  1278.   Single Modes
  1279.  
  1280.     X    Y      VRefr.    HSync
  1281.     Pix. Pix.   Hz        kHz
  1282.     ---------------------------
  1283.      640  480    60       31.5
  1284.      640  480    75       37.5
  1285.      640  480    85       43.3
  1286.      640  480   100       50.9*
  1287.      640  480   120       61.8*
  1288.      800  600    60       37.7
  1289.      800  600    75       46.9
  1290.      800  600    85       54.1
  1291.      800  600   100       63.9*
  1292.      800  600   120       77.2*
  1293.     1024  768    60       48.4
  1294.     1024  768    75       60.0
  1295.     1024  768    85       68.7
  1296.     1024  768   100       81.4*
  1297.     1024  768   120       98.8*
  1298.     1152  864    60       53.7*
  1299.     1152  864    75       67.5
  1300.     1152  864    85       77.1*
  1301.     1152  864   100       91.5*
  1302.     1280  960    60       59.6
  1303.     1280  960    75       75.2*
  1304.     1280  960    85       85.7
  1305.     1280  960   100      101.7*,**
  1306.     1280 1024    60       64.0
  1307.     1280 1024    75       78.0
  1308.     1280 1024    85       91.1
  1309.     1280 1024   100      107.0*,**
  1310.     1280 1024   120      131.6*,**
  1311.     1400 1050    60       65.3(*)
  1312.     1600 1000    60       62.1*
  1313.     1600 1000    75       78.3*
  1314.     1600 1000    85       89.3*
  1315.     1600 1000   100      105.9*
  1316.     1600 1024    60       63.3*
  1317.     1600 1024    75       80.2*
  1318.     1600 1024    76       81.3*
  1319.     1600 1024    85       91.4*
  1320.     1600 1200    60       75.0
  1321.     1600 1200    75       93.8**
  1322.     1600 1200    85      106.3**
  1323.     1792 1344    60       83.6**
  1324.     1792 1344    75      106.3**
  1325.     1920 1080    60       67.1*,**
  1326.     1920 1080    75       84.6*,**
  1327.     1920 1200    60       74.5*,**
  1328.     1920 1200    75       94.0*,**
  1329.     2048 1536    60       95.3*,**
  1330.  
  1331.   Big Desktop Modes
  1332.  
  1333.   horizontal
  1334.     X       Y       Desktop     VRefr.  HSync
  1335.     Pix.    Pix.    Pix.        Hz      kHz
  1336.     -----------------------------------------
  1337.      2x640   480   1280x640     60    31.5
  1338.      2x640   480   1280x640     75    37.5
  1339.      2x640   480   1280x640     85    43.3
  1340.      2x640   480   1280x640    100    50.9*
  1341.      2x640   480   1280x640    120    61.8*
  1342.      2x800   600   1600x600     60    37.7
  1343.      2x800   600   1600x600     75    46.9
  1344.      2x800   600   1600x600     85    54.1
  1345.      2x800   600   1600x600    100    63.9*
  1346.      2x800   600   1600x600    120    77.2*
  1347.     2x1024   768   2048x768     60    48.4
  1348.     2x1024   768   2048x768     75    60.0
  1349.     2x1024   768   2048x768     85    68.7
  1350.     2x1024   768   2048x768    100    81.4*
  1351.     2x1024   768   2048x768    120    98.8*
  1352.     2x1280  1024  2560x1024     60    64.0
  1353.     2x1280  1024  2560x1024     75    78.0
  1354.     2x1280  1024  2560x1024     85    91.1
  1355.     2x1280  1024  2560x1024    100   107.0*,**
  1356.     2x1280  1024  2560x1024    120   131.6*,**
  1357.     2x1600  1024  3200x1024     60    63.3*
  1358.     2x1600  1024  3200x1024     75    80.2*,**
  1359.     2x1600  1024  3200x1024     85    91.4*,**
  1360.     2x1600  1024  3200x1024    100   108.5*,**
  1361.     2x1600  1024  3200x1024    120   131.6*,**
  1362.     2x1600  1200  3200x1200     60    75.0
  1363.     2x1600  1200  3200x1200     75    93.8**
  1364.     2x1600  1200  3200x1200     85   106.3**
  1365.  
  1366.   vertical
  1367.     X       Y       Desktop     VRefr.  HSync
  1368.     Pix.    Pix.    Pix.        Hz      kHz
  1369.     -----------------------------------------
  1370.      640   2x480    640x960     60    31.5
  1371.      640   2x480    640x960     75    37.5
  1372.      640   2x480    640x960     85    43.3
  1373.      640   2x480    640x960    100    50.9*
  1374.      640   2x480    640x960    120    61.8*
  1375.      800   2x600   800x1200     60    37.7
  1376.      800   2x600   800x1200     75    46.9
  1377.      800   2x600   800x1200     85    54.1
  1378.      800   2x600   800x1200    100    63.9*
  1379.      800   2x600   800x1200    120    77.2*
  1380.     1024   2x768  1024x1536     60    48.4
  1381.     1024   2x768  1024x1536     75    60.0
  1382.     1024   2x768  1024x1536     85    68.7
  1383.     1024   2x768  1024x1536    100    81.4*
  1384.     1024   2x768  1024x1536    120    98.8*
  1385.     1280  2x1024  1280x2048     60    64.0
  1386.     1280  2x1024  1280x2048     75    78.0
  1387.     1280  2x1024  1280x2048     85    91.1
  1388.     1280  2x1024  1280x2048    100   107.0*,**
  1389.     1280  2x1024  1280x2048    120   131.6*,**
  1390.     1600  2x1024  1600x2048     60    63.3*
  1391.     1600  2x1024  1600x2048     75    80.2*,**
  1392.     1600  2x1024  1600x2048     85    91.4*,**
  1393.     1600  2x1024  1600x2048    100*  108.5**
  1394.     1600  2x1024  1600x2048    120*  131.6**
  1395.     1600  2x1200  1600x2400     60    75.0
  1396.     1600  2x1200  1600x2400     75    93.8**
  1397.     1600  2x1200  1600x2400     85   106.3**
  1398.  
  1399.     X:      number of pixels in horizontal direction
  1400.     Y:      number of pixels in vertical direction
  1401.     VRefr.: "Vertical Refresh" or "Refresh Rate" (RR)
  1402.     HSync:  "Horizontal Sync" or "Line Frequency" (LF)
  1403.     *:      This modes are not part of Linux and need a special mode line
  1404.     **:     Due to HW limitations this modes are not dvi capable.
  1405.     (*):    X 4.3.0 only
  1406.  
  1407. 8. SERVICE, SUPPORT AND SOFTWARE UPDATES
  1408. ----------------------------------------
  1409.  
  1410.   Video driver updates can be obtained from the following web location:
  1411.  
  1412.       http://www.ati.com
  1413.  
  1414.  
  1415. ------------------------------------------------------------------------------
  1416. All product names listed are trademarks or copyrights 
  1417. of their respective owners.
  1418. ------------------------------------------------------------------------------
  1419. (c) Copyright 2002,2003 by ATI Technologies Inc. All rights reserved
  1420. ------------------------------------------------------------------------------
  1421.  
  1422. # EOF
  1423.