8 votes

L'accélération du processeur sur un Macbook avec une mauvaise batterie et Catalina

J'ai vu quelques réponses à ce sujet, mais elles font référence à des systèmes plus anciens et à des systèmes d'exploitation plus anciens.

Quelqu'un peut-il mettre à jour cette information pour qu'elle soit pertinente à l'époque de Catalina ? J'ai un Macbook10,1 avec une batterie déchargée. L'écran est cassé et je l'utilise strictement comme un serveur média/airplay pour ma TV et je n'ai pas l'intention de réparer la batterie. J'aimerais vraiment récupérer les performances de cet appareil.

J'ai essayé les remèdes dans les autres posts et le problème est qu'il n'y a pas de fichier plist avec mon modèle de Macbook. Un utilisateur a mentionné de laisser l'ordinateur se mettre en "mode d'économie d'énergie par défaut naturellement". Mais qu'est-ce que cela signifie ? Peut-on en faire un script ?

Enfin, j'ai entendu dire que sans la batterie, le GPU est également réduit. Est-ce vrai et peut-il y avoir une solution globale pour tout cela ? Merci d'avance !

10voto

lx07 Points 2680

L'étranglement du processeur dû à la batterie est déclenché par le microprogramme et la version de MacOS (ou d'un autre système d'exploitation) que vous utilisez ne fait aucune différence.

Cependant, il est facile de contourner l'étranglement sur un MacBook si vous utilisez Windows comme système d'exploitation, mais pas si vous utilisez MacOS. Si vous ne voulez pas remplacer la batterie et que les programmes que vous voulez exécuter sont disponibles sous Windows, ce serait l'option la plus facile et la moins chère.


J'ai un MacBook Pro de fin 2012 avec une i5-3210 CPU qui a une horloge de base de 2,5 GHz et un Turbo maximum de 3,2 GHz. Il n'a pas de batterie car elle a trop gonflé pour rentrer dans le boîtier et je l'ai retirée. Comme vous, je n'ai pas l'intention d'obtenir un remplacement et donc, dans MacOS, le CPU est maintenant réduit à 1,2 GHz.

Avec Gadget de puissance Intel vous pouvez facilement le voir.

Intel Power Gadget

La raison en est que les paramètres du firmware EFI sur BD PROCHOT qui est un registre du CPU (msr 0x1FC) généralement utilisé pour dire au CPU qu'un autre composant (GPU ou autre) est en surchauffe. Cela provoque l'accélération du CPU même s'il n'est pas lui-même en surchauffe. Ceci est décrit dans Manuel du développeur de logiciels pour les architectures Intel® 64 et IA-32 Volume 4 : Registres spécifiques aux modèles

Bien qu'il existe plusieurs utilitaires MacOS permettant de modifier d'autres MSR (tels que Commutateur Turbo Boost ) Je ne trouve aucun moyen de désactiver cette fonction dans MacOS. C'est assez surprenant car les gens qui font face à un étranglement dû à des batteries retirées sont un problème assez commun. J'ai essayé d'écrire un programme EFI pour le faire moi-même mais je n'ai pas réussi à le faire fonctionner - voir la question sur Stack Overflow. Comment modifier le msr 0x199 de la clé EFI ? .


Sous Windows cependant, il existe un programme appelé ThrottleStop qui vous permet d'éteindre facilement BD PROCHOT . Comme vous pouvez le voir, si elle est activée (comme c'est le cas dans le firmware du MacBook), l'horloge est limitée à 1.2 GHz.

BD PROCHOT on

Si vous éteignez BD PROCHOT et de régler le multiplicateur à 25, vous pouvez obtenir les 2,5 GHz.

BD PROCHOT off

En théorie, il est possible qu'en cas de charge maximale, vous puissiez consommer plus d'énergie que l'adaptateur électrique seul ne peut en fournir, ce qui entraînerait un arrêt. C'est peut-être la raison pour laquelle Apple a activé ce registre. Cependant, cela ne m'est jamais arrivé et je l'ai fait fonctionner comme cela presque 24 heures sur 24 pendant les deux dernières années.

Si vous a fait Si vous trouvez qu'il s'éteint, vous pouvez régler le multiplicateur à un nombre inférieur pour réduire la consommation de pointe. Vous pouvez même régler un multiplicateur plus élevé pour augmenter les performances si vous le souhaitez, mais je n'en ai jamais ressenti le besoin.

3voto

Luis Ramirez Points 21

Cela a résolu le problème pour moi sur un MacBook Pro mi-2014, MacOS Catalina 10.15.3 :

Avant de l'utiliser, j'ai retiré IOPlatformPluginFamily.kext de /System/Library/Extensions (je l'ai déplacé dans mon dossier utilisateur). Je ne sais donc pas si seulement le NoBatteryNoProblem devrait le résoudre. De plus, je ne sais pas s'il doit être lancé à chaque démarrage (je n'ai pas encore redémarré).

https://github.com/bernardowilson/NoBatteryNoProblem.kext

J'ai fait un fork au cas où le repo serait supprimé : https://github.com/luismramirezr/NoBatteryNoProblem.kext

Il semble que cela désactive également la fonction TurboBoost, de sorte que votre processeur consommera plus d'énergie (sans importance puisqu'il n'y a pas de batterie) et produira plus de chaleur (attention aux réel ThermalThrottling de l'intérieur du CPU à activer).

1voto

Christophe Duc Points 21

J'ai fait un blogue ici sur la façon de résoudre ce problème. https://portugnole.blogspot.com/2020/05/running-macbook-without-battery-lets-go.html

J'ai ajouté le code pour supprimer le signal PROCHOT dans CPUTune. Vous pouvez trouver le projet sur github ici : https://github.com/syscl/CPUTune

Tout cela fonctionne sur Catalina.

1voto

krzys_h Points 11

Changer BD PROCHOT n'a pas semblé fonctionner pour moi sur un Macbook Air de début 2015 avec une batterie manquante. Ce qui a fonctionné, en revanche, c'est de demander une valeur d'état de performance cible différente à l'aide de l'outil de gestion des performances. IA32_PERF_CTL (0x199) MSR comme suggéré dans ce commentaire GitHub .

La valeur exacte que vous devez écrire ne semble pas être documentée officiellement. Le site Manuel du développeur de logiciels pour les architectures Intel® 64 et IA-32 déclare que :

Le codage 16 bits qui définit les points de fonctionnement valides est spécifique à chaque modèle. Les applications et les outils de performance ne doivent pas utiliser IA32_PERF_CTL ou IA32_PERF_STATUS et doivent les considérer comme réservés.

Cependant, d'après ce que j'ai trouvé en ligne, il semble que le premier octet soit généralement le multiplicateur du CPU demandé, et que le second octet soit toujours 0. Vous pouvez vérifier que cela correspond à ce que fait votre machine avant de continuer.

Si vous souhaitez modifier cette valeur vous-même, suivez les étapes suivantes. Confirmé pour fonctionner sur Big Sur.

Avis de non-responsabilité : la modification de tels paramètres, en particulier en utilisant des interfaces de bas niveau comme l'écriture directe des registres MSR, peut potentiellement endommager votre ordinateur. Procédez à votre propre risque.

  1. Télécharger VoltageShift à partir de https://github.com/sicreative/VoltageShift . Suivez attentivement les instructions d'installation :
    • Obtenez le dernier paquet préconstruit
    • Assurez-vous que les fichiers kext appartiennent à Root : sudo chown -R root:wheel VoltageShift.kext
    • Désactiver la vérification des kext signés en démarrant en mode récupération et en exécutant csrutil enable --without kext dans le terminal
    • Si vous obtenez l'avertissement d'échec de la notarisation Apple lorsque vous exécutez voltageshift, lancez le binaire une fois en utilisant Ouvrir dans le menu contextuel du Finder et il devrait fonctionner correctement dans le terminal après cela.
    • La première fois que vous exécutez voltageshift, vous devrez approuver le chargement du kext et redémarrer.
  2. Lire le point de fonctionnement cible actuel à partir du MSR : ./voltageshift read 0x199
    • La valeur retournée est en binaire, vous voudrez probablement la convertir en hexadécimal.
    • Dans mon cas, la valeur par défaut pour l'horloge limitée du CPU est 0x0d00
  3. Augmentez la valeur : ./voltageshift write 0x199 0xNEW_DESIRED_VALUE_IN_HEX
    • Notez que ceci ne définit pas directement le multiplicateur, mais définit la valeur maximale, vous devez donc probablement Réglez-le sur l'horloge turbo maximale de votre CPU.
    • Utilisez Gadget de puissance Intel pour voir si les changements ont lieu
    • Vous pouvez augmenter la valeur lentement la première fois que vous le faites, juste au cas où. Je ne pense pas qu'il vous laissera dépasser la plage des valeurs valides, mais je ne l'ai jamais testé.

Les modifications sont annulées après un redémarrage, vous ne devriez donc pas avoir à craindre de modifier quoi que ce soit de façon permanente. La façon de les appliquer au démarrage est laissée comme un exercice pour le lecteur (surtout parce que je n'ai pas encore pris la peine de le faire moi-même).

Notez que je n'ai pas encore compris si et comment le GPU est étranglé.

0voto

directquest Points 11

J'ai créé un KEXT qui écrit dans le IA32_HWP_REQUEST MSR pour résoudre ce problème précis.

Lien vers le dépôt TurboMac sur GitHub.

À l'heure où nous écrivons ces lignes, le système est encore en phase de préversion. Si vous rencontrez des problèmes, veuillez les signaler.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X