Aller au contenu

Change
Photo

[Tuto] Turionpowercontrol : Overclock D'un Apu Amd A10 Engineering Sample Sous Linux

AMD LINUX TurionPowerControl Overclocking A10-5750MES

  • Veuillez vous connecter pour répondre
9 réponses à ce sujet

#1
Leeloyd

Leeloyd

    Geek confirmé

  • Membre
  • 1 038 messages

DISCLAIMER : Les manipulations décrites ci-dessous sont experimentales et peuvent endommager votre materiel de façon irreversible !
En connaissance de cause ni P4G ni moi-même ne pourront être tenus responsables des éventuels dégradations de votre materiel suite à ces manipulations.


Bonjour à tous,

Je vous présente aujourd'hui un logiciel fort sympathique : TurionPowerControl.

Ce logiciel comme son nom l'indique à pour vocation de contrôler les performances des CPU Mobiles de la gamme Turion d'AMD.

Il s'avère qu'il permet bien plus ! Et entre autre chose de gérer (de façon plus ou moins complète) les états de performances "p-states" des CPU mobile ou non jusqu'à la gamme Richland d'APU AMD.

Vous pourrez télécharger la Version 0.44 rc2 à l'adresse suivante :
https://code.google..../downloads/list

Avant de commencer il est important de désactiver l'option Powernow dans le Bios et de s'assurer  que Linux utilise bien HPET à la place de TSC qui n'est plus fiable une fois l'APU OC sur le p-state p0.

 

MAJ : Je vous conseil d'utiliser la révision 204 ou supérieur de TPC pour avoir les bons voltages

 

 
Récupérer les sources de TPC pour avoir les bons voltages et les compiler.
 
Pour cela, on récupère les dernières sources via subversion :
$ svn checkout http://turionpowercontrol.googlecode.com/svn/trunk/ turionpowercontrol-read-only
Pour compiler TPC vous aurez besoin des packages build-essential et libncurses5-dev
 
Ensuite on se rend dans le répertoire "turionpowercontrol-read-only" fraîchement récupéré.
$ cd turionpowercontrol-read-only
Voilà, plus qu'à compiler :
$ make
Et on obtient le binaire TurionPowerControl
 

1ère étape : Chargement des modules MSR et CPUID

TurionPowerControl a besoin des modules msr et cpuid.

$ sudo modprobe msr
$ sudo modprobe cpuid

 

2ème étape : Obtenir la liste des p-states disponibles

TPC doit toujours être lancé avec les droits super utilisateurs (admin ou root)

Pour obtenir la liste des p-states et d'autres infos très utiles on commence par faire :

$ sudo ./TurionPowerControl -l

On obtient donc :

  • Le nombre de nœuds : 1
  • Le nombre de cœur : 4
  • Le nombre de p-states : 7, numérotés de 0 à 6
  • Le nombre de boost states (p-states en mode turbo ou psmax) : 3, numérotés de 0 à 2.
  • Et le tableau de p-states pour chaque cœur.

Les Vcores pour chaque p-states ne sont pas toujours exactes suivant le type de CPU, APU.

Ici pour mon APU A10-5750m ES le p-states pb1 affiche 0.8250 V, alors qu'en faites il s'agit de 1.188 V !!!

 

MAJ : Depuis la révision 204 ,TPC interprète correctement les vcores des APU Richland et Trinity.

Notez bien le VCore pour chaque numéro de p-state car il faudra s'en servir comme référence pour les modifier.

 

 

3ème étape : Descendre au 2eme p-state non boosté et désactivé les boost states

L'APM empêche la modifications des fréquences des p-states au dessus de leur valeur d'origine. Et comme celui-ci est lié au Turbo Core, on va donc le désactivé et perdre les 3 premiers p-states dit "Turbo".
Mais pour éviter un freeze et déclencher proprement une transition, on force les cores à passer au p-state 4 soit le p-state 1 non turbo (Faut suivre ...) on se garde le p-state 3 pour l'OC.

$ sudo ./TurionPowerControl -fo 1
$ sudo ./TurionPowerControl -boostdisable

Pour revérifier :

$ sudo ./TurionPowerControl -l

Voilà, les p-states 0 à 2 (Pb0,Pb1 et Pb2) sont bien désactivés, il ne reste plus que les p-states 3 à 6 (p0, p1, p2 et p3)

 

 

4ème étape : Modifier le p-state 3 pour l'OC

On va pouvoir modifier ce p-state et ainsi augmenter la fréquence et le vcore ...

Il ne vaut mieux pas trop dépasser les 1.30V sur mon APU ! A bon entendeur je me lance :

$ sudo ./TurionPowerControl -set ps 3 freq 3600 vcore 1.1875

Le p-state 3 est prêt y'a plus qu'à forcer les cœurs sur ce p-state :

$ sudo ./TurionPowerControl -fo 0

W00t ! un petit overclock @3.6Ghz sur les 4 cœurs, sachant que le plus haut mode turbo sur cet APU en version OEM est à 3.5 GHz sur 2 cœurs  seulement ou 3.2 GHz sur les 4 cœurs.
 

 

5ème étape : Modifier le PopDownPstate pour dépasser le TDP

 

Quand l'APU excède les 35 Watts de TDP, il force les cœurs à passer dans l'état C6 par sécurité.

L'état C6 ne change pas le Vcore mais seulement la fréquence du cœur qui tombe alors à 800 MHz rendant tout OC impossible.

 

Pour contourner ce problème, la solution est de modifier le PopDownPstate et le HwPstateMaxVal pour qu'ils correspondent au p-state p0 via setpci.

 

D'abord on recupère 00:18.3 DC car les 2 derniers chiffres peuvent variés d'une machine à l'autre.

$ sudo setpci -s 00:18.3 DC.l

J'obtient 00a75337 les 2 derniers chiffres en bleu doivent rester les mêmes. Seul le 6eme en rouge doit changer.

$ sudo setpci -s 00:18.3 A8.l=70000000
$ sudo setpci -s 00:18.3 DC.l=00a75337

Désormais les 4 cœurs sont bloqués sur le p-state p0 quoi qu'il arrive.
Le problème est que pour modifier la fréquence à nouveau, il faut d'abord changer de p-state, sinon la modification ne sera pas prise en compte !
Il faut donc débloquer en remettant les valeurs d'origines :

$ sudo setpci -s 00:18.3 A8.l=f0000000
$ sudo setpci -s 00:18.3 DC.l=00a75737

puis repasser en p-state p1 :

$ sudo ./TurionPowerControl -fo 1

On pousse le p-state p0 à 3.8 GHz avec 1.2375V

$ sudo ./TurionPowerControl -set ps 3 freq 3800 vcore 1.2375

On repasse en p-state p0 :

$ sudo ./TurionPowerControl -fo 0

Et on re-bloque :

$ sudo setpci -s 00:18.3 A8.l=70000000
$ sudo setpci -s 00:18.3 DC.l=00a75337

Inutile de dire qu'il vaudra mieux scripter tout ça pour se simplifier la vie. :rolleyes:

 

 

 

Et si j'ai pas un APU Engineering Sample ou un CPU AMD Débloqué ? ...

Vous pouvez quand même bloquer le CPU sur un p-state boosté : soit le Pb0 ou le Pb1 (Pour l'A10 5750m ça ne marche que sur le Pb1 c.a.d @3.2Ghz sur les 4 cores).

$ sudo ./TurionPowerControl -psmax 1

Et tant qu'a faire un petit Undervolt du p-state 1 histoire de limiter la chauffe

$ sudo ./TurionPowerControl -set ps 1 vcore 1.125

  

Se simplifier la vie en scriptant ces operations :

 

Et en cadeau mon petit script perso pour oc :

#/bin/sh
echo "Setting APU @ $1 Mhz with $2 V"
if [ $1 ] && [ $2 ]
then
	sudo setpci -s 00:18.3 A8.l=F0000000
	sudo setpci -s 00:18.3 DC.l=00a75737
	sudo ./TurionPowerControl -fo 1
	sudo ./TurionPowerControl -boostdisable
	sleep 1
	sudo ./TurionPowerControl -set ps 3 freq $1 vcore $2
	sleep 1
	sudo ./TurionPowerControl -fo 0
	sudo setpci -s 00:18.3 A8.l=70000000
	sudo setpci -s 00:18.3 DC.l=00a75337
else
	echo "Missing parameters"
fi

Enregistrer sous overclock.sh
Pour l'invoquer avec un oc à 3.6 GHz avec 1.20V :

$ sh overclock.sh 3.600 1.2000

Et pour annuler l'oc un autre script qu'on enregistrera sous reset_oc.sh :

#/bin/sh
sudo setpci -s 00:18.3 A8.l=F0000000
sudo setpci -s 00:18.3 DC.l=00a75737
sudo ./TurionPowerControl -fo 1
sudo ./TurionPowerControl -boostenable
sleep 1
sudo ./TurionPowerControl -set ps 3 freq 2500 vcore 1.0000
sleep 1
sudo ./TurionPowerControl -fo 0

Que l'on invoque par exemple avant de rebooter pour éviter un  freeze :

$ sh reset_oc.sh

Modifié par Leeloyd, 29 octobre 2014 - 21:30.

  • 4

Alienware 15R3 : I7-6820HK @3.6GHz - GTX 1070 - RAM 16Go - SANDISK ULTRA II 960Go
GX60 Hitman Edition : A10-5750m ES @4.0GHz - HD8970m - RAM 8Go - SSD V300 120Go - HDD 750Go
M570RU-U  : X7900 ES @3.2.Hz - GTX 8800m - RAM 4Go - HDD WD Scorpio Black 320Go
T4G  : Zalman Z9+ -  I5 2500K @4.7GHz - GALAX GTX 980 SOC -  RAM Corsair Dominator 8Go 
 
[OSVR] HDK 1.3


#2
Anonyme

Anonyme

    Geek certifié

  • Banni
  • 1 560 messages

Nice +1 ;)


  • 0

#3
Leeloyd

Leeloyd

    Geek confirmé

  • Membre
  • 1 038 messages

Merci ^^

 

Edit : Mise à jours avec l'undervolt en plus du lock @3.2Ghz

Edit 2 : Mise à jours avec une version de TPC qui reconnait les 4 cores et permet ainsi  une méthode plus stable d'OverClocking.

 

Edit 3 : Suppression des messages retournés par les commandes pour un peu plus de lisibilité et aller directement à l'essentiel.


Modifié par Leeloyd, 27 août 2014 - 13:02.

  • 0

Alienware 15R3 : I7-6820HK @3.6GHz - GTX 1070 - RAM 16Go - SANDISK ULTRA II 960Go
GX60 Hitman Edition : A10-5750m ES @4.0GHz - HD8970m - RAM 8Go - SSD V300 120Go - HDD 750Go
M570RU-U  : X7900 ES @3.2.Hz - GTX 8800m - RAM 4Go - HDD WD Scorpio Black 320Go
T4G  : Zalman Z9+ -  I5 2500K @4.7GHz - GALAX GTX 980 SOC -  RAM Corsair Dominator 8Go 
 
[OSVR] HDK 1.3


#4
Anonyme

Anonyme

    Geek certifié

  • Banni
  • 1 560 messages

C'est du propre :D

 

Si j'ai besoin de passer sous Linux du à mes études j'ai une solution grace à toi :D


  • 0

#5
Leeloyd

Leeloyd

    Geek confirmé

  • Membre
  • 1 038 messages

Un certains KaynabX était sensé faire un tuto sur l'installation de Linux sur GX60.

Je crois qu'il est toujours en construction ... :lol:


  • 0

Alienware 15R3 : I7-6820HK @3.6GHz - GTX 1070 - RAM 16Go - SANDISK ULTRA II 960Go
GX60 Hitman Edition : A10-5750m ES @4.0GHz - HD8970m - RAM 8Go - SSD V300 120Go - HDD 750Go
M570RU-U  : X7900 ES @3.2.Hz - GTX 8800m - RAM 4Go - HDD WD Scorpio Black 320Go
T4G  : Zalman Z9+ -  I5 2500K @4.7GHz - GALAX GTX 980 SOC -  RAM Corsair Dominator 8Go 
 
[OSVR] HDK 1.3


#6
Anonyme

Anonyme

    Geek certifié

  • Banni
  • 1 560 messages

Il est plus trop actif Kayna :D

 

Mais ça va non plus je sors pas de la dernière pluie je sais installer Linux :D (heureusement d'ailleurs, c'est le centre de mes études :D


  • 0

#7
Leeloyd

Leeloyd

    Geek confirmé

  • Membre
  • 1 038 messages

Je te souhaite plein de bonheur avec les pilotes Catalyst sous Linux mon chère Jiraya, ça plus le bronx avec Alsa et Pulseaudio.
Tu vas voir, c'est un pure régale.

HS On :
Si tu veux progresser un max et bien mettre les mains dans le cambouis (et savoir quasi tout configurer en ligne de commande), tu prend une bonne vieille Slackware (Le noyau linux à 23 ans, la distro Slackware en à 21) ou bien une Débian.

 

Après qu'en t'auras plus du tout de temps à passer sur la compréhension de tel ou tel fichier de config tu retourne sur une distro plus user-friendly comme Ubuntu, Mint , Mageia, Fedora, openSuse et j'en passe ...
HS Off
 

Je crois qu'un bon tutoriel sur l'installation d'une distro Linux sur GX60 ne sera pas du luxe.

 


  • 0

Alienware 15R3 : I7-6820HK @3.6GHz - GTX 1070 - RAM 16Go - SANDISK ULTRA II 960Go
GX60 Hitman Edition : A10-5750m ES @4.0GHz - HD8970m - RAM 8Go - SSD V300 120Go - HDD 750Go
M570RU-U  : X7900 ES @3.2.Hz - GTX 8800m - RAM 4Go - HDD WD Scorpio Black 320Go
T4G  : Zalman Z9+ -  I5 2500K @4.7GHz - GALAX GTX 980 SOC -  RAM Corsair Dominator 8Go 
 
[OSVR] HDK 1.3


#8
thehunt33r

thehunt33r

    Grammar Watcher

  • Moderateur
  • 9 167 messages
  • LocalisationRennes

Mettre les mains dans le cambouis : pas de distro, c'est trop simple sinon :D


  • 0

T4G : Vendu :( (en arrivage : 5820K,32gb DDR4, 970)
P4G : PWNPCS P150SM : 4700MQ, GTX780m, 16gb DDR3, 1*mSATA M500 240GB et 2* Sandisk Ultra Plus 128GB, Ecran mat sous W8.1 Pro X64 & Fedora 21
Tablet4G : Dell Venue 8 Pro : Atom Z3740, 2gb DDR3, Windows 8.1

Server4G : HP N54L Debian
Mechs : IBM Model M 1994 - KBT Poker II Cherry MX Black - CM Storm Novatouch (Topre 45gr)

Spoiler

Spoiler

#9
Anonyme

Anonyme

    Geek certifié

  • Banni
  • 1 560 messages

J'aime bien Debian, je boss dessus :D


  • 0

#10
Leeloyd

Leeloyd

    Geek confirmé

  • Membre
  • 1 038 messages

Maj avec la manip pour OC au delà de 3.6GHz ;) Enjoy !

 

Edit : Réorganisation des étapes.
 

Plus qu'à faire une table de conversion des vcores ou une version corrigée de TPC qui interprète correctement les vcores et je demande le Sticky ;)

 

Edit2 : Réorganisation (encore) et clarification sur les changements de fréquence consécutifs.

 

Edit3 : Modification des sources de TurionPowerControl pour obtenir et utiliser les Vcores correctes et compilation.

 

Edit 4 : Ajout des scripts pour automatiser l'oc et son annulation, et ajout de la remarque sur HPET/TSC.

 

Edit 5 : Depuis la révision 204 ,TPC supporte correctement les APU Richland et Trinity. Mise à jour du Tuto en conséquence et big-up au passage au développeur de TPC :cool: .


Modifié par Leeloyd, 29 octobre 2014 - 21:10.

  • 0

Alienware 15R3 : I7-6820HK @3.6GHz - GTX 1070 - RAM 16Go - SANDISK ULTRA II 960Go
GX60 Hitman Edition : A10-5750m ES @4.0GHz - HD8970m - RAM 8Go - SSD V300 120Go - HDD 750Go
M570RU-U  : X7900 ES @3.2.Hz - GTX 8800m - RAM 4Go - HDD WD Scorpio Black 320Go
T4G  : Zalman Z9+ -  I5 2500K @4.7GHz - GALAX GTX 980 SOC -  RAM Corsair Dominator 8Go 
 
[OSVR] HDK 1.3






Aussi étiqueté avec au moins un de ces mots-clés : AMD, LINUX, TurionPowerControl, Overclocking, A10-5750MES

0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)