Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ati_optimisation [Le 28/02/2010, 10:10] 213.95.41.13 prévention compatibilité pilotes propriétaires |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>matériel carte_graphique ati}} | ||
- | ---- | ||
- | |||
- | ====== Optimiser le système avec une carte ATI ====== | ||
- | attention, cette page concerne les pilotes propriétaires. en fonction de votre carte (surtout les anciennes) il peut être incompatible de les utiliser. | ||
- | |||
- | voir: http://doc.ubuntu-fr.org/catalyst#compatibilite | ||
- | |||
- | et: http://doc.ubuntu-fr.org/ati | ||
- | |||
- | ===== Réglages élémentaire ===== | ||
- | |||
- | Vous pouvez installer le paquet ''fglrx-control'' pour configurer les options de la carte graphique comme l'affichage sur deux moniteurs. | ||
- | Sur les anciennes versions du pilote (< 8.35.5), entrer la [[:console|commande]] : | ||
- | <code>fireglcontrol</code> | ||
- | |||
- | Depuis la version 8.35.5, le Catalyst Control Center Linux Edition a remplacé l'ancien panneau de contrôle FireGL. Il est accessible depuis le menu Applications ou en ligne de commande : | ||
- | <code>amdcccle</code> | ||
- | {{ :ccc.png }} | ||
- | |||
- | ===== Faire varier la vitesse du ventilateur en fonction de la température ===== | ||
- | |||
- | <note>Cette méthode a été testée avec succès sur hardy heron + ati hd 4850 et derniers pilotes propriétaires de ATI. Pour tout autre configuration le résultat n'est pas garanti.</note> | ||
- | |||
- | == Avec les pilotes propriétaires == | ||
- | |||
- | <code>aticonfig --adapter=0 --od-gettemperature</code> | ||
- | |||
- | Cette commande permet d'obtenir la température de la carte graphique ati (numéro 0 en l'occurrence) | ||
- | |||
- | <code> aticonfig --pplib-cmd "set fanspeed 0 x"</code> | ||
- | |||
- | permet de faire varier la vitesse du ventilateur (ou x est la vitesse) | ||
- | |||
- | |||
- | == Pour automatiser tout cela == | ||
- | |||
- | créer un script ati.pl : | ||
- | |||
- | <code>gedit ati.pl</code> | ||
- | |||
- | puis coller ce script dans le fichier : | ||
- | |||
- | <code perl> | ||
- | #!/usr/bin/perl; | ||
- | |||
- | while(1){ | ||
- | # on récupère la température de la carte | ||
- | open TEMPE, "aticonfig --adapter=0 --od-gettemperature|"; | ||
- | my $temperature = 50; | ||
- | while (my $atitool =<TEMPE>) { | ||
- | #expression régulière pour ne garder que le chiffre de la température (exemple 50.25) | ||
- | if ($atitool =~ /\- (.*) C/is) { | ||
- | $temperature = $1; | ||
- | close (TEMPE); | ||
- | } | ||
- | } | ||
- | #on effectue des comparaison de la temperature récupéré pour executer ou non une commande réglage du ventilateur... | ||
- | if ($temperature > '60.40') { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 75"'); | ||
- | } | ||
- | if (($temperature > '59.40')&&($temperature < '60.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 60"'); | ||
- | } | ||
- | if (($temperature > '57.40')&&($temperature < '58.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 55"'); | ||
- | } | ||
- | if (($temperature > '56.40')&&($temperature < '57.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 50"'); | ||
- | } | ||
- | if (($temperature > '55.40')&&($temperature < '56.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 45"'); | ||
- | } | ||
- | if (($temperature > '54.40')&&($temperature < '55.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 40"'); | ||
- | } | ||
- | if (($temperature > '53.40')&&($temperature < '54.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 35"'); | ||
- | } | ||
- | if (($temperature > '52.40')&&($temperature < '53.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 30"'); | ||
- | } | ||
- | if (($temperature > '51.40')&&($temperature < '52.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 25"'); | ||
- | } | ||
- | if (($temperature > '50.40')&&($temperature < '51.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 15"'); | ||
- | } | ||
- | if (($temperature > '50.01')&&($temperature < '50.40')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 10"'); | ||
- | } | ||
- | if (($temperature > '10.00')&&($temperature < '50.01')) { | ||
- | system ('nohup aticonfig --pplib-cmd "set fanspeed 0 1"'); | ||
- | } | ||
- | sleep 15; | ||
- | #on fait une pause de 15s pour que le ventilo ne fasse pas du "yoyo" en permanance... | ||
- | } | ||
- | </code> | ||
- | |||
- | Rendez le fichier exécutable: | ||
- | <code>chmod +x ati.pl</code> | ||
- | |||
- | Il ne vous reste plus qu'a lancer le script avec la commande: | ||
- | <code>perl ati.pl</code> | ||
- | |||
- | Vous pouvez bien entendu modifier le script à votre guise en fonction des température précédemment relevées, le lancer en début de session, créer un lanceur sur le bureau, etc. | ||
- | |||
- | <note important>Il est à noter que pour les cartes ATI le paramétrage du système d'affichage ne réside pas que dans le fichier de configuration de X11 (/etc/X11/xorg.conf) mais qu'un certain nombre d'options sont stockées dans une base de données propriétaire (/etc/ati/amdpcsdb). | ||
- | C'est ce fichier qui est modifié entre autres par aticonfig et Catalyst (amdcccle).</note> | ||
- | |||
- | ===== Pour gérer finement les modules ===== | ||
- | |||
- | **Voyons à présent quels sont les modules agp disponibles, à charger selon votre configuration :** | ||
- | <code>$ uname -r | ||
- | 2.6.15-19-686 // version du noyau pour une architecture 686 | ||
- | $ cd /lib/modules/2.6.15-19-686/kernel/drivers/char/agp/ | ||
- | $ ls | ||
- | agpgart.ko amd-k7-agp.ko intel-agp.ko sworks-agp.ko | ||
- | ali-agp.ko ati-agp.ko nvidia-agp.ko via-agp.ko | ||
- | amd64-agp.ko efficeon-agp.ko sis-agp.ko | ||
- | </code> | ||
- | |||
- | Ayant un Amd64 sur une Ubuntu 32 bits et une Ati installée sur un bus nVidia nForce3 250gb je tape : | ||
- | <code> | ||
- | Alt+F2 puis : gksudo "gedit /etc/modules" (Ubuntu) | ||
- | ou | ||
- | kdesu "kwrite /etc/modules" (Kubuntu) | ||
- | </code> | ||
- | |||
- | **et je rajoute en haut de liste des modules, après les commentaires :** | ||
- | <code>agpgart | ||
- | amd64-agp // important voir note plus bas | ||
- | nvidia-agp // pour le nForce, à adapter selon votre chipset | ||
- | fglrx // module fglrx pour l'ati</code> | ||
- | |||
- | N'oubliez pas de rajouter toutes les options dont vous avez besoin dans votre [[:aticonfig]] | ||
- | |||
- | ---- | ||
- | //Contributeurs : [[utilisateurs:ste]], [[utilisateurs:fred99]]// |