Alors que Raspberry Pi OS n'est toujours pas disponible en version 64 bits, le système est désormais basé sur Debian 11 (Bullseye). Avec une surprise que l'on n'attendait pas : 300 MHz de plus pour le Raspberry Pi 4.
Lors de sa mise sur le marché, le Raspberry Pi 4 s'est surtout fait remarquer pour sa capacité à la surchauffe. Vendu sans aucun dissipateur, il était incapable de tenir une charge continue sans finir par baisser drastiquement sa fréquence de fonctionnement. Avec le boîtier officiel, c'était encore pire.
Raspberry Pi 4 : c'est chaud
Loin de répondre au problème, la fondation a montré pendant de nombreux mois sa capacité à être dans le déni. Elle n'en est presque jamais sortie, se refusant par exemple à proposer un dissipateur officiel ou des boîtiers pleinement adaptés. À la place, on a simplement eu droit à un ventilateur « cheap » loin de résoudre le problème.
La solution est pourtant connue et utilisée par de nombreux fabricants d'accessoires. C'est d'ailleurs celle qui est utilisée pour le Raspberry Pi 400 prenant la forme d'un clavier : un large dissipateur surplombe le SoC. Au point que sa fréquence de fonctionnement soit supérieure à celle des autres modèles disponibles : 1,8 GHz plutôt que 1,5 GHz.
Dans un billet de blog, la fondation explique que cette valeur est désormais utilisée par défaut sur certains Raspberry Pi 4 et peut être exploitée par l'ensemble des modèles via la dernière version de son OS maison. Pour quels résultats ? Nous avons effectué de longs tests pour le vérifier.
Une modification matérielle sur les Raspberry Pi 4 récents
Dans son billet de blog, la fondation évoque une nouvelle révision du PCB (1.4 ?), sans la détailler. Elle indique seulement que les versions récentes du Raspberry Pi ont des composants en plus à côté du SoC. « Il s'agit de l'alimentation à découpage (switcher) dédiée fournissant la tension du SoC », est-il néanmoins précisé.
Si ces composants sont présents sur votre Raspberry Pi 4, il sera désormais à 1,8 GHz par défaut
Elle a été introduite dans la version 8 Go où elle était nécessaire, puis adaptée aux autres modèles depuis. Selon les tests de la fondation, elle permet d'assurer un fonctionnement à 1,8 GHz tout en passant l'ensemble des tests de qualification. Cette valeur est donc utilisée par défaut avec la nouvelle version de Raspberry Pi OS.
Et pour les modèles antérieurs ? Même les premiers exemplaires peuvent fonctionner à bien plus de 1,5 GHz avec un léger boost de tension indique le billet de blog. « Le dernier firmware (inclut dans l'image Bullseye) fera de son mieux pour trouver la fréquence la plus adaptée à un overclocking donné » apprend-on au passage.
Ainsi, il suffirait de modifier la fréquence dans le fichier de configuration pour que tout le reste suive.
Mise à jour et premiers relevés
Pour le vérifier, nous avons utilisé un Raspbery Pi 4 de 4 Go dans sa version 1.1. Nous l'avons installé dans un large dissipateur que nous avions évoqué lors de précédents tests, que l'on trouve dans les 17 euros.
Nous avons mis à jour le système :
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove
Une fois le système redémarré on vérifie que la version installée est la bonne :
$ cat /etc/*-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Pour mesurer ses tensions/fréquences/températures, nous utilisons notre habituel script maison :
wget -qO- https://gist.github.com/davlgd/07f6288e869519acb695774e146a20b6/raw/09be19d5e96a627a33f444ea8db511245066dc7e/pi_soc_monitor.py | python
Par défaut, dans une pièce à 18°C, nous relevons une fréquence de 200 MHz pour le CPU, 600 MHz pour le GPU, une tension de 0,84 V et une température stable aux alentours de 32°C après plusieurs heures de fonctionnement.
Pour tester sa stabilité et ses performances, nous lançons un test OpenSSL en boucle :
while true; do openssl speed --multi $(nproc) rsa4096; sleep 5; done
Avec pour résultat :
sign verify sign/s verify/s
rsa 4096 bits 0.026087s 0.000384s 38.3 2603.3
La tension du SoC est alors de 0,84 V pour une fréquence de 1,5 GHz, stable du fait de la présence de notre dissipateur. Il maintient d'ailleurs la température du SoC dans les 52°C. Côté consommation, nous relevons 2,7 watts à la prise au repos, contre 6,0 watts en pleine charge soutenue.
Modification de la fréquence et impact sur la tension
Selon le billet de blog de la fondation, avec la nouvelle version de Raspberry Pi OS, il suffit de modifier la valeur de la fréquence indiquée et le reste suit. Cela se fait en éditant le fichier de configuration :
sudo nano /boot/config.txt
On doit alors décommenter la ligne en charge de la fréquence et la modifier comme suit :
arm_freq=1800
Il suffit de redémarrer la machine. Selon nos constatations, la fréquence et les valeurs au repos sont inchangées. Mais dès que la fréquence grimpe, la tension est adaptée et passe à 0,91 V soit une augmentation de 8,33 %. La température maximale grimpe de quelques degrés (60°C) et la consommation passe à 7,7 watts (+28,33 %).
Côté performances, on obtient le résultat suivant :
sign verify sign/s verify/s
rsa 4096 bits 0.031240s 0.000460s 46.0 3123.6
La hausse est de 20 % environ dans les deux cas, soit autant que de MHz en plus.
Allez au-delà de 1,8 GHz ?
Nous avons effectué des tests similaires à des fréquences supérieures. Comme on pouvait s'y attendre, la carte tient le coup au-delà de 1,8 GHz, mais pas sur la durée. En effet, après plusieurs dizaines de minutes à 2 GHz, le système s'est figé et nécessitait d'être redémarré. Cette valeur est néanmoins exploitable si l'on sollicite peu le SoC.
- 1 500 MHz : 0,84 V - 6,0 watts - 52 °C - 38 s/s et 2 603 v/s
- 1 800 MHz : 0, 91V - 7,7 watts - 60°C - 46 s/s et 3 124 v/s
- 2 000 MHz : 0,95V - 9,3 watts - 71°C - 51 s/s et 3 473 v/s (plantage au bout de plusieurs dizaines de minutes)