L’été approche et avec lui les problèmes de chaleur.
J’ai actuellement une grosse config surdimensionnée qui balance pas mal de chaleur dans mon appart.
J’ai beau vivre dans le Sud, j’aimerais bien éviter de transformer mon appart en étuve. La chaleur, elle est bien dehors, pas dedans.
Je me posais donc la question de monter une petite machine de dev qui produit le moins de chaleur possible.
J’ai farfouillé un peu et dans les grandes lignes ça semble jouable.
Je partirais sur une « config » du genre :
Rpi 4 B 8Go
Compute Module + SSD nvme
un boitier pour contenir tout ça ( désolé @nusul )
Mes contraintes sont qu’il faut malgré tout un minimum de réactivité pour ne pas rendre le dev trop relou d’où le nvme et les 8Go de Ram
Pour le dev, ça resterait du dev léger mais j’ai quand même besoin d’avoir quelque chose qui tient la route coté openGL. Je ne code pas des AAA, je donne plutot dans le gros pixel.
Coté output, il faut que ça puisse encaisser un écran avec une résolution de 5120x1440.
Vous piaffez d’impatience, je le sens, donc voilà les questions :
Est ce que c’est jouable selon vous ?
J’ai du mal à trouver des infos sur le nvme, quelqu’un a déjà essayé ?
Quid du boitier dans cette config ? Je ne suis pas certain que les boitiers classiques acceptent l’empilement Pi + CM + SSD
Et surtout coté chaleur, est ce que cela produirait réellement moins ?
Cool, le point de la perf pour du dev desktop a déjà été abordé pendant que j’étais en train de manger, ça me fera ça de moins à mentionner.
Ensuite: budget. Tu as combien à mettre dedans? C’est un investissement pour combien de temps? 2 ans? 5 ans?
Encombrement: visiblement, peu. Si je me souviens de ta situation, c’est un gros écran sur un petit bureau dans le salon, donc il faut que ça prenne pas de place, et que ça fasse pas de bruit.
Perf: tu fais du jeu vidéo. Tu auras besoin de performance, ne serait ce que pour avoir les trucs d’affichés et pouvoir faire du débug en parallèle. 8GB me paraissent vraiment justes, 16GB déjà mieux. Je ne reviens pas sur le choix du RPi, ça a déjà été mentionné plus haut.
Perso, dans cette optique là, je regarderais du coté des configs mini-itx, style NUC. Voire du coté des chips AMD Vega (si ça se fait encore; je crois que c’était plus d’actualité il y’a 2 ans, je ne saurais dire maintenant).
Moi je pense que c’est jouable mais ça sera très limite, surtout si ton point de comparaison c’est « une grosse config surdimensionnée ». Pour driver un écran de cette résolution, ça demande de bidouiller la moindre.
Ah oui ça c’est clair que ça chauffera nettement moins qu’un PC de bureau mais il faudra quand-même lui prévoir un radiateur et un ventilo car le Pi 4 chauffe.
Réponse « geekzone-style » tu as pensé à déplacer le PC dans un endroit plus frais ou qui dégagerait sa chaleur dans une pièce « pas à vivre » et le contrôler à distance ?
Ça a l’air cool le minipc que tu linkes plus haut. Je ne connais pas les specs du bidule, mais ça sera à toi de regarder les benchmarks et review en terme de conso/températures/perfs.
Il me semble que les CPU Ryzen qui se terminent en U sont les CPU de laptop, donc au moins ça semble répondre à tes besoins à ce niveau là (qui visent souvent des TDP un peu plus bas, et donc avec une gestion thermique prévue pour).
En fonction de ton budget et des benchmarks/review, regarde aussi du coté des Ryzen qui se terminent en G qui sont les pendant desktops de ces CPU. Peut être que ces specs seront plus en rapport avec tes besoins. Ryzen - Wikipedia
example:
(et grosso modo, tous les trucs sans gros GPU feront moins de chaleur, donc je ne me ferais pas trop de souci en terme d’impact sur les températures intérieures; une TV ça chauffe aussi, par exemple)
Et pourquoi pas juste underclocker ta config existante, le CPU et le GPU ? T’auras de meilleures perfs qu’à peu près tout ce qui a été cité ici et la température baissera mécaniquement. Si la conso électrique baisse, ton alim chauffera moins aussi.
J’y ai pensé, j’ai même été faire un tour dans le bios pour voir, mais je n’ai aucune expérience en la matière, donc aucune idée de comment m’y prendre et si ça aurait eu un quelconque intérêt
Sans aller dans l’underclock BIOS, pourquoi ne pas exploiter le speedstep dans l’autre sens?
Paramètres → Système → Alimentation et mise en veille → Paramètres d’alimentation supplémentaire
Tu devrais avoir ca:
Tu sélectionnes le mode entouré de flèches rouges et tu cliques sur les modifs.
On te propose un timing pour la mise en veille de l’écran et du pc, mais ça nous intéresse pas, nous on veut « Modifier les params d’alim avancés »!
Dans l’écran, fouilles dans les options et tu devrais trouver ceci:
Flèche verte, tu peux forcer ton ventirad en rad only, c’est a dire que dès que le cpu est trop chaud, il va throttle automatiquement. Ca marchera plus ou moins bien en fonction de la ventilation de ton boîtier, et de la liaison entre celle ci et ta carte mère (il est possible que la CM gère les FAN1/2/3 en fonction de CPUFAN, mais je suis pas sur… et si tu as mis les ventilos sur le jus en direct, bah ca ventilera quoi qu’il arrive)
Plus intéressant, les flèches rouge: Tu peux configurer ton OS pour qu’il limite le speedstep a 10-20-n % de ta fréquence maximale. Alors attention, a 5%, je pense que ca donnera une brouette asthmatique, surtout pour un OS moderne comme Windows. Mais ca ne devrait pas chauffer
Sur mon pc (du taf), j’ai aussi un réglage sur la carte video mais je pense que les options dépendront de la CG, et sur un GPU intégré au CPU, j’ai que 3 réglages: Max battery life/Balanced/Max perf. Je suis pas convaincu que ca change grand chose.
So what? Ca existe aussi sous linux hein.
Par contre, je ne suis pas (plus?) un spécialiste du truc (a l’époque, c’était a la roots dans /proc) mais il existe plusieurs docs sur le sujet, notamment: https://wiki.archlinux.org/title/CPU_frequency_scaling
Ca, c’est plutôt orienté ligne de commande mais j’imagine qu’en fonction de ton window manager, tu dois pouvoir trouver des outils GUI.
Huum tu branches les ventilos sur l’alim via un molex ou une prise sata?
C’est tout le temps a fond mais ca marche hein.