Installation des pilotes ATI fglrx

De Lea Linux
Aller à la navigation Aller à la recherche

Installation des pilotes ATI (fglrx)

Installation des pilotes ATI (fglrx)
Ce tutoriel détaille l'installation des pilotes propriétaires ATI (fglrx).

Remarque : les pilotes ATI ne s'installent pas toujours sur la dernière version du noyau Linux. Si votre noyau est récent et que l'installation échoue, attendez la sortie de la version suivante des pilotes et réessayez.

Si vous ne trouvez pas ce que vous cherchiez dans cette page vous pouvez aussi aller voir celle ci.

Prérequis

  • Une carte ATI Radeon 8500 ou plus. Les cartes Radeon Mobility, bien que non supportées officiellement, fonctionnent aussi.
  • glibc version 2.2 ou suppérieure
  • noyau version 2.4 ou suppérieure
  • Xfree86 4.1, 4.2, 4.3 ou X.org version 6.8 ou suppérieure

Installation des sources du noyau

Pour poursuivre l'installation, vous devez installer les sources correspondants au noyau que vous utilisez.

Installation

Attention : cette étape diffère selon les distributions.

Tout d'abord, tapez la commande

uname -r

pour savoir quelle version du noyau vous utilisez ; par exemple 2.6.8.1-24mdk. Vous devez donc installer les sources correspondant à cette version ! Sous Mandrake, la commande

urpmi kernel-source-2.6

installe les sources du noyau.

Vérification

Ensuite assurez-vous que la commande

ls -l /usr/src

contient un lien nommé "linux" pointant sur les sources correspondant au noyau trouvé avec la commande précédente !

Attention: les versions doivent impérativement concorder !

Exemple :

$ ls -l /usr/src
total 20
lrwxrwxrwx 1 root root 17 fév 28 09:03 linux -> linux-2.6.8.1-24mdk/
drwxr-xr-x 21 root root 4096 fév 28 09:03 linux-2.6.8.1-24mdk/
drwxrwxr-x 19 root root 4096 mar 8 18:31 linux-2.6.11/
drwxr-xr-x 3 root root 4096 fév 9 22:09 RPM/

De plus, si vous avez compilé vous même votre noyau, vérifiez que vous avez bien choisi les options suivantes :

(Y) MTRR (Memory Type Range Register)
(M) /dev/agpgart (AGP Support)

et désactivé celle-ci :

( ) Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

Installation des pilotes

Les pilotes ATI peuvent être proposés sous plusieurs formes :

  • Paquetage spécifique à votre distribution
  • RPM disponible sur le site d'ATI
  • Installeur disponible sur le site d'ATI

Choisissez celle qui vous parait la mieux adaptée à votre cas, en sachant que, s'il existe, le paquet de votre distribution est conseillé, mais qu'il peut parfois ne pas correspondre à la toute dernière version publiée.

Pilotes de la distribution

La méthode d'installation est spécifique à chaque distribution. Si vous connaissez celle de votre distribution, sentez vous libre de l'ajouter !

Pour Gentoo :

echo "media-video/ati-drivers ~x86" >> /etc/portage/package.keywords
echo "media-video/ati-drivers-extra ~x86" >> /etc/portage/package.keywords
emerge media-video/ati-drivers media-video/ati-drivers-extra
opengl-update ati

Pour Debian :

Ajouter la branche non-free dans votre /etc/apt/source.list
ex : deb http://ftp.fr.debian.org/debian/ sid main non-free si vous utilisez la debian Sid

Mettez à jour votre liste des paquets :

apt-get update

Installez les pilotes :

apt-get install fglrx-driver

Installez l'assistant de compilation des modules (si ça n'est pas déjà fait) :

apt-get install module-assistant

Téléchargez, compilez et installez votre module :

m-a a-i fglrx
(ou encore
module-assistant auto-install fglrx
qui revient exactement au même)

Pilotes RPM

Avant de télécharger les pilotes, vous devez connaître la version du serveur X que vous utilisez.

Pour le savoir, tapez la commande :

$ X -version
X Window System Version 6.8.2
Release Date: 9 February 2005
X Protocol Version 11, Revision 0, Release 6.8.2
Build Operating System: Linux 2.6.8.1-24mdksmp i686 [ELF]
Current Operating System: Linux ceric35 2.6.8.1-24mdk #1 Tue Mar 8 18:31:13 CET 2005 i686
Build Date: 08 March 2005
Before reporting problems, check http://wiki.X.Org
to make sure that you have the latest version.
Module Loader present

Ici, la version utilisée est Xorg 6.8, mais la vôtre peut être différente (XFree 4.3 , par exemple)

Exception : si la version de votre serveur X est Xorg 6.7, vous devez télécharger et installer les pilotes pour XFree 4.3.

Connectez-vous ensuite sur le site d'ATI : http://www.ati.com/ et téléchargez la version des pilotes correspondants à la version de votre serveur X et à la version de votre processeur (32 bits ou 64 bits).

Vous pouvez maintenant les installer à l'aide de la commande :

rpm -Uh --force fglrx_6_8_0-8.10.19-1.i386.rpm
########################################### [100%]
########################################### [100%]

Utiliser l'installeur ATI

Téléchargez l'installeur puis lancez le (le script devrait s'appeler ati-driver-installer-x.xx.x-i386.run). Une boite de dialogue s'affiche. Choisissez l'option "Install Driver" puis "Custom" ("Automatic" marcherait aussi mais il est préférable de n'installer que les fichiers nécessaires). Sélectionnez votre serveur X (la méthode pour le déterminer est décrite au paragraphe "Pilotes RPM") et cochez les trois cases possibles. Cliquez sur "Continue" : le pilote est installé. Vous pouvez maintenant quitter.

Vérifier que vous n'avez pas d'erreur dans le fichier /usr/share/fglrx/fglrx-install.log. Si vous avez une erreur du type :

[message] kernel module : trying to install a precompiled kernel module.
[message] kernel module : precompiled kernel module version mismatched.
[error] kernel module : no kernel module build environnement - please consult read me

il faut vérifier que les sources de votre kernel correspondent à celui installé, revenez à l'étape 1.

Contrôle de l'installation

Rendez-vous ensuite dans le dossier /lib/modules/fglrx et verifiez que le fichier fglrx.ko et bien ete généré (dans le cas d'une mise à jour verifiez que la date de modification est la date actuelle) :

total 620
drwxr-xr-x 4 root root 4096 mar 9 19:43 build_mod/
-rw-r--r-- 1 root root 297690 mar 9 19:14 fglrx.2.6.8.1-24mdk.ko
lrwxrwxrwx 1 root root 17 mar 9 19:44 fglrx.ko -> ./fglrx.2.6.8.1-24mdk.ko
-rw-r--r-- 1 root root 4105 mar 9 19:14 make.2.6.8.1-24mdk.log
-r--r--r-- 1 root users 10157 jan 4 01:05 make_install.sh

Si le fichier est absent : Déplacez-vous dans le dossier /lib/modules/fglrx/build_mod et entrez la séquence suivante :

# sh make.sh
# cd ..
# sh make_install.sh

Cela a pour effet de compiler et d'installer le module, vérifiez que la compilation ne produit pas d'erreurs ! Si une erreur du type "FATAL: Error inserting fglrx (/lib/modules/2.x.xx.x/misc/fglrx.ko): Operation not permitted" aparaît, c'est qu'un module radeon a pu être déjà ajouté au noyau, essayer les 2 commandes suivantes pour détecter si tel est le cas et enlever le module avant de recompiler.

# /sbin/lsmod | grep radeon
# /sbin/modprobe -r radeon

Enfin, vous pouvez vérifier que le pilote a bien été installé en tapant :

find /lib/modules -name "fglrx.ko"

 ; la ligne suivante doit au moins apparaître :

/lib/modules/2.6.8.1-24mdk/kernel/drivers/char/drm/fglrx.ko

fglrxconfig ou aticonfig

ATI fournit un utilitaire fglrxconfig pour générer le fichier de configuration de votre serveur graphique. Il demande divers renseignements sur votre clavier, votre souris, etc ...

Certaines questions n'étant pas évidentes, voici un exemple de configuration :

$ fglrxconfig

==============================================================================
ATI - FIRE GL - BE THE CREATOR
==============================================================================

This program will create the ATI "xorg.conf" file
- based on your selections - for the below listed boardtypes...

- ATI Radeon 8500 / 9100
- ATI FireGL 8700 / 8800 / E1
- ATI FireGL T2
- ATI Radeon 9000
- ATI Radeon 9200
- ATI Radeon 9500
- ATI Radeon 9600
- ATI Radeon 9700
- ATI Radeon 9800
- ATI FireGL Z1 / X1 / X2
- ATI Mobility M9
- ATI Mobility FireGL 9000
- ATI Mobility M9PLUS

The "xorg.conf" file usually resides in /etc/X11.


Press [Enter] to continue, press 'q'&[Enter] or [Ctrl]+'c' to abort.






==============================================================================
Mouse
==============================================================================

Specify the mouse port type. Choose one from the following list:

1. Serial Port
2. PS/2 or USB with PS/2 protocol
3. Inport Bus

Enter the number for your port type: [2] 2







Specify the mouse model. Choose one from the following list:

1. PS/2 Mouse (X11 generic ps/2 mouse driver)
2. PS/2 Wheel Mouse (X11 generic ps/2 wheel mouse driver)
3. Microsoft Intellimouse (PS2)
4. Microsoft IntelliMouse Explorer (PS2)
5. Kensington ThinkingMouse (PS2)
6. Logitech MouseManPlus (PS2)
7. Alps Glidepoint PS/2 Touchpad
8. Genius NetMouse
9. Genius NetScroll

Enter the number for your mouse model: [2] 2


If your mouse has only two buttons, it is recommended that you enable
Emulate3Buttons.

Do you want to enable Emulate3Buttons (y/n)? [n] n

Now give the full device name that the mouse is connected to, for example
/dev/tty00 or /dev/mouse or /dev/psaux (includes IBM Laptops).

Mouse device: [/dev/input/mice] /dev/input/mice






==============================================================================
Keyboard
==============================================================================

Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose 1 (Generic 101-key PC)

1. Generic 101-key PC
2. Generic 102-key (Intl) PC
3. Generic 104-key PC
4. Generic 105-key (Intl) PC
5. Dell 101-key PC
6. Everex STEPnote
7. Keytronic FlexPro
8. Microsoft Natural
9. Northgate OmniKey 101
10. Winbook Model XP5
11. Japanese 106-key
12. PC-98xx Series

Enter a number to choose the keyboard type: [1] 4






Please select the layout corresponding to your keyboard

1. U.S. English
2. U.S. English w/ISO9995-3
3. Belgian
4. Bulgarian
5. Canadian
6. Czechoslovakian
7. German
8. Swiss German
9. Danish
10. Spanish
11. Finnish
12. French
13. Swiss French
14. United Kingdom
15. Hungarian
16. Italian
17. Japanese
18. Norwegian

Press [Enter] for the next page or
enter the number for your keyboard layout country: 12






==============================================================================
FireGL Display Settings
==============================================================================

Quad Buffer Stereo ("Active Stereo"):

This driver does support Quad Buffer Stereo ("Active Stereo")
in combination with a CRT monitor (refresh rate abt. 100 to 120 Hz)
and the appropiate stereo viewing subsystem hardware. This can be
e.g. a shutter glasses system (infrared or wired) or an active
polarisation device paired with passive stereo polarization glasses.

Do you want to enable "Quad Buffer Stereo" (y/n)? [n] n






==============================================================================
TV out Configuration
==============================================================================

Do you want to enable TV out (y/n)? [n] n






==============================================================================
FireGL Screen Layout
==============================================================================

------------------------------------------------------------------------------
| Maximum resolution for OpenGL operation
|
| - R200 chip family (Radeon 8500-9100 Pro, FireGL 8700/8800/E1):
| 2048x2048
| - R300 chip family (Radeon 9500-9700 Pro, FireGL T2/Z1/X1/X2):
| 2560x2560
------------------------------------------------------------------------------

Choose configuration from the list below

1. Single Head (1 screen, second dark)
2. Laptop Mode (Ability to toggle between internal / external screen)
3. Clone Mode (2 screens - same content)
4. Big Desktop (2 screens - one framebuffer)
5. Dual Head (2 screens - two drivers)

Enter the number for your configuration: [1] 1






==============================================================================
Single Head selected
==============================================================================





==============================================================================
Monitor Settings
==============================================================================

Now we want to set the specifications of the monitor(s). The two critical
parameters are the vertical refresh rate, which is the rate at which the
the whole screen is refreshed, and most importantly the horizontal sync rate,
which is the rate at which scanlines are displayed.

The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.

Press [Enter] to continue, press 'q'&[Enter] or [Ctrl]+'c' to abort.






You must indicate the horizontal sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range.

It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.

hsync in kHz; monitor type with characteristic modes
1. 31.5 ; up to 640x480 @ 60 Hz (VGA)
2. 31.5 - 37.9; up to 800x600 @ 60 Hz (SVGA)
3. 31.5 - 48.4; up to 1024x768 @ 60 Hz (XGA)
4. 31.5 - 60.0; up to 1024x768 @ 75 Hz (XGA)
5. 31.5 - 68.7; up to 1024x768 @ 85 Hz (XGA)
6. 31.5 - 80.5; up to 1280x1024 @ 75 Hz (SXGA)
7. 31.5 - 91.1; up to 1280x1024 @ 85 Hz (SXGA)
8. Enter your own horizontal sync range

Enter your choice (1-8): [1] 6


You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below or give a specific range.

1. 20 - 60 (e.g. slow scan flat panels with DVI cable)
2. 50 - 70 (VGA)
3. 60 - 75
4. 60 - 85
5. 60 - 100
6. Specify your own vertical sync range

Enter your choice: [1] 3






==============================================================================
Display Modes
==============================================================================

The default resolution that the server will start-up with will be the first
listed mode that can be supported by the monitor and card.
Currently it is set to:

"640x480" for 24-bit

Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.

1. Change the modes for 24-bit (24-bit color)
2. The modes are OK, continue.

Enter your choice: 1

Select your modes from the following list:

1 "640x480"
2 "800x600"
3 "1024x768"
4 "1152x864"
5 "1280x960"
6 "1280x1024"
7 "1400x1050"
8 "1600x1200"
9 "1792x1344"

Please list the digits and characters for the modes that you want to use.
For example, '632' selects "1280x1024" "1024x768" "800x600", with
the default mode of "1280x1024".

Which modes do you want? 632

The default resolution that the server will start-up with will be the first
listed mode that can be supported by the monitor and card.
Currently it is set to:

"1280x1024" "1024x768" "800x600" for 24-bit

Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.

1. Change the modes for 24-bit (24-bit color)
2. The modes are OK, continue.

Enter your choice: 2

You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. The largest resolution in the modelist is used for any of the
listed resolution with less dimensions. Each color depth can have a
differently-sized virtual screen. Virtual screens resolutions are set
for each color depth separately.


Note: This grafics adapter will always select the maximum
x and y resolution as the default virtual desktop resolution.
This complies with general X11 specifications. see "man XF86Config".

Do you want to use a virtual desktop where the dimensions are bigger
than your maximum x and y screen resolution? (y/n) [n] n











==============================================================================
Direct Rendering Interface Restrictions
==============================================================================

Please specify which restriction sheme you want to implement:

1. no restrictions - any user has access to the OpenGL ICD
2. limited to group 'users' - only group members can access the OpenGL ICD
3. limited to group 'root' - only group members can access the OpenGL ICD
4. limited to group 'video' - only group members can access the OpenGL ICD
5. limited to group 'dri' - only group members can access the OpenGL ICD

Enter the number for your default user restrictions: [1] 1






==============================================================================
Application Profiles
==============================================================================

Please select application specific profile:

1. Default
2. Individual Configuration of Capabilities
3. Maya
4. SOFTIMAGE|XSI
5. SOFTIMAGE|3D
6. Houdini 4.0
7. Houdini 5.0
8. Houdini 5.5

Enter the number for your profile: [1] 1






==============================================================================
Advanced Graphics Features Settings
==============================================================================

Do you want to initialize xfree86-dga (y/n)? [n] y

Do you want to export pseudo color visuals (y/n)? [n] n

Do you want to synchronize buffer swaps
with the vertical sync signal (y/n)? [n] n






==============================================================================
Full Scene Anti Aliasing (FSAA)
==============================================================================

Please select multi sample visuals you want to share:

1 = All (Visuals for 2,4 and 6 Samples per Pixel)
2 = Visuals for 2 Samples per Pixel
4 = Visuals for 4 Samples per Pixel
6 = Visuals for 6 Samples per Pixel

Please enter: [1] 1

Do you want to force multi sample visuals
for every OpenGL application? (y/n)? [n] n

Disable FSAA Gamma (y/n)? [n] n

Customize FSAA Multi Sample Position (y/n)? [n] n






==============================================================================
Advanced OS Settings
==============================================================================

External AGPGART module:

It is possible (but not recommended) to turn off the usage of
built-in agp support of the provided fglrx kernel module and
use the external AGP GART module (agpgart.o) of the Linux kernel.
If you want to use the external module then ensure that it loads
prior to the drivers full startup. In order to manually load the
external agpgart module execute this on the commandline (as root):
/sbin/insmod agpgart
or alternatively configure your system to auto load the module.

Do you want to use the external AGP GART module (y/n)? [n] y






AGP Locked User Pages

The grafics driver is able to read and write textures and bitmaps trough AGP
mapped and locked views of the main memory for the application's mem space.
Performing those mapping task depends on several successfull interaction steps
with the Linux kernel. A failure in this process might lead to some messages
in the kernel log. If these kernel functions are failing silently or in case
of other heavy incompatibility (e.g. a new kernel memory manger) then there
is a high chance that the system will hang as soon as the graphics adpater
wants to read from assumed but nor really mapped memory location.

If you do see that the advanced fgl_glxgears application halts your session
whilst the simple glxgears does run nicely then please disable this feature.

If you do see lots of notifications about failed kernel calls for mem locking
then please disable this feature and re-check the kernel message log.

Do you want to enable "AGP Locked User Pages" (y/n)? [y] y






TLS Method: *** this only applys to the FireGL workstation boards ***

The grafics driver supports two different methods of thread local storage.
The first method is fast but might immediately abort when used with
WineX, VM emulators or some other advanced programming tools.
The second method is up to 10% slower in a few rendering cases
but does nicely cope with any sort of exotic software.

For more details on this topic, please see the readme.

If not totally sure about your needs, then please select "0 - default".

0 - default (FireGL workstation boards: fast)
1 - fast operation (only for standard gnu C/C++ OpenGL applications)
2 - compatible operation (for WineX, VM emulators and some profilers)

Which storage method do you want to use? [0] 0






==============================================================================
Finish
==============================================================================

I am going to write the xorg.conf file now. Make sure you don't accidently
overwrite a previously configured one.

Do you want it written to the current directory as 'xorg.conf'? (y/n) y

Depuis les drivers 8.21.17, l'ancien utilitaire fglrxconfig n'existe plus et a été remplacé par l'utilitaire "aticonfig". Celui-ci comporte de (tres) nombreuses options, mais dans la plupart des cas, la commande "aticonfig --initial" modifiera le fichier xorg.conf ou Xfree86-4.conf convenablement.

Configuration et test

Passons maintenant à la configuration !

Chargement du module au demarrage

Attention : cette étape diffère selon les distributions.

Sous Mandrake, éditez le fichier /etc/modprobe.preload et ajoutez-y la ligne "fglrx". Sous Gentoo, il s'agit de /etc/modules.autoload.d/kernel-2.6 (pour un noyau 2.6) et il vous faudra lancer

modules-update

Ce fichier doit aussi normalement contenir le nom du pilote du chipset de votre carte graphique.
Tapez

/sbin/lsmod|grep "agp"

pour le déterminer.

Exemple :

via-agp
fglrx

Lancement du pilote

Tapez maintenant la commande :

modprobe fglrx

Si le message "FATAL: Module fglrx not found." apparaît, c'est que l'installation s'est mal déroulée. Si vous avez suivi plusieurs tutoriaux différents (parallèlement ou séquentiellement) et que ça ne marche pas, essayez de supprimer toute trace des pilotes ATI et recommencez...

Redémarrage de la session

Vous pouvez maintenant relancer votre session !

Pour vous assurer de l'installation, la commande

fglrxinfo

doit citer ATI et le nom de votre carte !

Exemple :

$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9200SE DDR Generic
OpenGL version string: 1.3.4893 (X4.3.0-8.10.19)

Quelques Bugs

"no kernel module build environment"

Si ce message apparaît lors de la compilation , c'est que les sources du noyau sont mal installées!

"conflicts with file from package ..."

Vérifiez que vous installez les drivers avec les options -Uh --force.

Erreur dans le fichier de log

Le fichier de log (/var/log/Xorg.0.log pour Xorg) contient :

(EE) fglrx(0): cannot init AGP

Le module agpgart n'est probablement pas chargé.

Plus d'information sur le site d'ATI (en anglais) : rechercher "agpgart".

Vous pouve aussi essayer de taper

modprobe agpgart

et voir si ça règle le problème.

"FGLTexMgr: open of shared memory object failed"

Ce probléme (signalé par diancech) est du à POSIX . Pour le résoudre, vous devez activer "POSIX shared memory".

Voici la marche à suivre (traduction de la version en anglais sur le site d'ATI)

Ajouter la ligne suivante dans le fichier /etc/fstab :

tmpfs /dev/shm tmpfs defaults 0 0

Montez "POSIX shared memory" :

mount /dev/shm

Ensuite , tapez la commande

mount | grep "shm"

, si tout s'est bien passé, la ligne suivante devrait apparaître :

tmpfs on /dev/shm type tmpfs (rw)

Autre ressources




@ Retour à la rubrique Matériel

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par ceric35 le 28/02/2005.

Copyright

Copyright © 28/02/2005, ceric35

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale.