Surveillez les températures AMD Ryzen dans Linux avec les derniers modules de noyau

Surveillez les températures AMD Ryzen dans Linux avec les derniers modules de noyau

Objectif

Surveiller les températures et la tension du système sur un système AMD Ryzen exécutant Linux.

Distribution

Toutes les distributions exécutant le noyau 4.11 ou plus

Exigences

Une installation linux fonctionnelle avec le noyau 4.11 ou plus et les privilèges racinaires.

Difficulté

Moyen

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Introduction

Les processeurs Ryzen d'AMD sont sortis depuis plusieurs mois maintenant, mais AMD n'a toujours pas publié de spécifications ou de code pour obtenir la prise en charge de la surveillance de la température pour les capteurs CPU à Linux.

Heureusement, il existe des capteurs assez précis sur les cartes mères Ryzen, et ils sont accessibles via Linux. Vous ne pouvez en tirer pleinement parti que en utilisant les derniers modules de noyau, et dans certains cas, LM_SENSORS lui-même.

Installez les dépendances de construction

Tout d'abord, vous devrez obtenir les dépendances de construction en ligne pour compiler les dernières versions des modules de capteur de Git.

En supposant que vous utilisez une distribution basée à Debian, installez ce qui suit.

$ sudo apt installer build-essentiel bisse flex-tairs linux $ sudo apt build-dep linux $ sudo apt build-dep lm-capsors 

Déterminez votre module

Il y a deux modules que vous rencontrerez sur des planches Ryzen. Ils sont it87 et NCT6775. À peu près tous les planches en ont l'une ou l'autre. it87 est plus courant.

Il existe quelques façons de vérifier celle que votre tableau a. Il pourrait être plus facile de faire une recherche en ligne. Qui pourrait ne pas augmenter quoi que ce soit, vous devrez donc utiliser modprobe

Si vous avez compilé votre propre noyau, assurez-vous que vous avez construit les deux modules. Les noyaux de distribution devraient les mettre disponibles. Ensuite, essayez de charger chacun des modules. Si vous recevez une erreur indiquant que vous n'avez pas ce matériel, c'est celui que vous n'avez pas. Essayez l'autre. Celle qui réussit est celle que vous devez construire.



Obtenir et construire

Cette section suivante va se référer au it87 module, mais le processus est exactement le même pour les deux. Substituer juste dans NCT6775, Si c'est celui que tu as.

Allez dans le répertoire que vous souhaitez construire et clonez le référentiel de Git.

$ CD Télécharges $ git clone https: // github.com / grook / it87.git 

Se souvenir: Remplaçant NCT6775 ici aussi.

Maintenant, transformez en répertoire cloné.

$ cd it87

Selon votre distribution, vous devrez peut-être modifier le Makefile. Il doit pointer à l'emplacement réel de la source ou des en-têtes de votre noyau. Si vous obtenez une erreur en disant que faire Impossible de trouver vos en-têtes de noyau, vous devez modifier le fichier.

Ouvrez le Makefile Et cherchez la ligne suivante.

Kernel_build: = / usr / src / linux-tairs - $ (cible)

Changez-le pour pointer à l'emplacement réel de vos en-têtes ou source. L'exemple ci-dessous fonctionne pour gentoo.

Kernel_build: = / usr / src / linux

Une fois que cela est réglé, vous pouvez réellement construire votre module.

$ make -j5

Il n'y a pas beaucoup de source, donc la construction ne prendra pas longtemps.

Avant d'installer, assurez-vous que votre /botte la partition est montée. L'installation a besoin de votre Système.carte déposer.

$ sudo mont / dev / sda1 / boot $ sudo installer l'installation 

Construire LM_SENSORS

Vous avez peut-être besoin ou non de faire cette partie, mais cela ne peut pas vraiment faire de mal. Donc, si vous n'êtes pas sûr, faites-le.

CD sauvegarder un niveau et saisir les dernières sources avec Git.

$ cd… $ git clone https: // github.com / grook / lm-capteurs.git 

Changer dans le nouveau dossier et le construire.

$ CD LM-SENSORS $ Make -J5 Tous 

Ne vous inquiétez pas si vous voyez des erreurs. Assurez-vous que la compilation se termine réellement, cependant.

Quand c'est fait, installez.

$ sudo faire l'installation


Essaye-le

Vous pouvez charger les modules maintenant. Utiliser modprobe pour faire ça.

$ sudo modprobe it87

Vous devrez peut-être forcer un identifiant pour le module.

$ sudo modprobe it87 force_id = 0x8622 

Certains identifiants de force communs pour IT87 sont 0x8622, 0x8628, 0x8728, 0x8732. Pour NCT6775, essayez 0xd120 ou 0xd352.

Démarrez votre démon lm_sensors (si ce n'est pas déjà le cas) et essayez de détecter vos capteurs.

$ sudo systemctl start lm_sensors $ sudo capteurs-détect 

Voici où ça pourrait devenir bizarre. Il pourrait ne rien détecter dans le scan. Ne le prenez pas à leur valeur nominale. Courir la plaine capteurs commande de voir avec certitude. Dans de nombreux cas, vous verrez la sortie de vos capteurs de carte mère.

Certaines personnes pourraient ne pas avoir autant de chance. La version de Ryzen a été extrêmement erratique. Différences mineures ici et il y a eu un énorme impact. Si cela ne fonctionnait pas pour vous, revenez régulièrement pour les mises à jour et gardez votre bios à jour. Finalement, vous devriez voir le soutien.

Le rendre permanent

Toutes nos félicitations! Tu as fait aussi loin. Il est temps de sauver vos progrès, donc votre ordinateur l'utilise à chaque fois qu'il bottait.

Créer les fichiers suivants.

$ sudo touch / etc / modules-chargement.d / it87.Conf $ sudo touch / etc / modprobe.d / it87.confli 

Dans / etc / modules-charge.d / it87.confli, Placer la ligne en dessous.

it87

Ensuite, mettez cette ligne / etc / modprobe.d / it87.confli.

Options it87 force_id = 0x8622

Évidemment, assurez-vous d'utiliser le module réel et de forcer l'ID qui a fait fonctionner vos capteurs.

Réflexions de clôture

La sortie de Ryzen a été désordonnée, surtout sur Linux. Cela ne signifie pas que c'est une mauvaise plate-forme. En fait, Ryzen est une excellente option pour un poste de travail Linux multithread. Soyez simplement conscient des problèmes potentiels.

Dans ce cas, ces modules de noyau feront fonctionner vos capteurs de température au besoin. Finalement, la nécessité de le faire disparaîtra, car le support est fusionné dans le noyau.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Obtenez la température du CPU sur Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Meilleur outil de surveillance du système pour Linux
  • Ubuntu 20.04 Surveillance du système avec des widgets conky
  • Fichiers de configuration Linux: 30 premiers
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Téléchargement Linux
  • Commandes de vérification de la santé Linux Basic
  • Ubuntu 22.04 Surveillance du système avec des widgets conky