Le GPU de l’Apple M1 ne peut pas contrôler la luminosité des écrans tiers

Nicolas Furno |

Les trois Mac Apple Silicon actuellement sur le marché sont incompatibles avec toutes les apps qui permettent de modifier la luminosité des écrans qui n’ont pas été créés par ou pour Apple. C’est le cas de Lunar, mais aussi de MonitorControl et de toutes les apps similaires. Leurs développeurs ne sont pas en cause, cette incompatibilité s’explique par une fonction absente du GPU de l’Apple M1.

Pour modifier la luminosité des écrans tiers, ces apps exploitent DDC, pour « Display Data Channel ». Cette norme VESA établit une connexion numérique entre un écran et la source, ce qui permet à cette dernière d’envoyer des commandes à un moniteur. Dans le cas d’un écran d’ordinateur, la source est la carte graphique, et les commandes servent à régler la luminosité ou encore les contrastes. DDC est disponible avec des connexions DVI, DisplayPort et HDMI, ce qui veut dire qu’on le retrouve aussi sur les écrans USB-C.

Seuls les écrans conçus par Apple bénéficient d’un contrôle de la luminosité depuis macOS, dans les Préférences système ainsi qu’au clavier. Pour les écrans tiers, il faut installer une app tierce et seuls les Mac Intel sont compatibles.

C’est un standard, mais Apple ne l’a jamais pris en charge. Pour ses écrans, l’entreprise a mis au point son propre protocole de communication en USB1. C’est aussi ce qui est utilisé pour les écrans UltraFine de LG qu’Apple vend sur sa boutique depuis quelques années. Pour autant, des apps tierces pouvaient exploiter DDC pour reproduire le fonctionnement des écrans Apple avec des moniteurs d’autres marques, y compris le contrôle de la luminosité au clavier.

Cette possibilité était liée au choix de composants standards pour les Mac. Apple n’a pas intégré le DDC, c’est Intel ou AMD qui l’ont fait dans leurs puces graphiques. Les Mac utilisant les GPU intégrés aux processeurs Intel ou les cartes graphiques d’AMD, ils bénéficiaient « gratuitement » de cette option. Mais ce n’est plus le cas des Mac Apple Silicon, qui reposent désormais sur le GPU maison intégré à l’Apple M1. Et comme le note le développeur de Lunar, ce GPU dérivé de celui des iPhone ou iPad ne gère pas la norme DDC, puisqu’Apple n’en avait pas besoin.

Pour que ces apps de contrôle fonctionnent à nouveau sur les Mac Apple Silicon, il faudrait qu’Apple ajoute le pilote DDC à ses GPU. Étant donné que l’entreprise ne s’est jamais intéressé à cette norme, l’ajout de cette fonction semble improbable, même si rien ne l’interdirait a priori sur le plan technique.

Si vous avez besoin de régler la luminosité de vos écrans, mieux vaut vous en tenir à ceux d’Apple qui sont parfaitement gérés par les Mac M1, y compris les Cinema Display des années 2000. Rappelons que la rumeur évoque la sortie d’un nouvel écran Apple à un prix (relativement) accessible, ce qui pourrait être la meilleure option à l’avenir.


  1. Sur les anciens Cinema Display, le contrôle de la luminosité ne fonctionne ainsi que lorsque la prise USB de l’écran est branchée sur le Mac.  ↩︎

avatar Nicolas Furno | 

@totoguile

Je pense qu’ils utilisent le standard VESA, tout simplement.

avatar byte_order | 

Le standard VESA de contrôle du monitor repose sur la présence de DDC.
VESA définit les messages, mais la communication bidirectionnelle a besoin du DDC.
C'est donc, en pratique, la même chose.

avatar totoguile | 

@nicolasf

J’ai ouvert un ticket chez LG, peut-être qu’ils arriveront à quelque chose avec Apple ...

avatar totoguile | 

Voici la réponse de LG :
"Concernant le logiciel OnScreen Control sur votre Mac M1, une mise à jour est en cours, mais sa distribution est prévu pour fin février.
Ce temps est nécessaire pour s'assurer du contrôle qualité sur toutes les machines disposant du processeur M1."

avatar Nicolas Furno | 

@totoguile

Bon à savoir ! Peut être qu’ils ont une autre méthode pour le faire, je ne sais pas.

avatar totoguile | 

A noter que lorsque le moniteur est branché en USB-C, il expose une interface USB de management (tty.usbmodem010NTBKAX6692 chez moi). Donc je pense qu'ils ont moyen de communiquer avec l'écran d'une autre manière

avatar vince29 | 

DDC le truc récent (1996) utilisé seulement par une fraction de l'industrie (100% fabricants écrans).
On comprend qu'Apple préfère sa solution qui nécessite malheureusement que les écrans soient adaptés (donc plus chers)

avatar byte_order | 

@vince29
Parce que les écrans d'Apple ne représentent pas une fraction encore plus faible !?

avatar pechtoc | 

@byte_order

Du droit chemin tu ne t'egareras ! La pomme brillante dans le ciel tu suivras.

On se rend compte que pour certains c'est sacré quand on voit l'argumentation pour défendre le non support d'un standard que toute l'industrie supporte, standard basique et extrêmement utile qui plus est.

avatar oomu | 

ohého, Apple utilise JPEG, USB et le bus PCIe, c'est déjà bien gentil hein.. ;) #ZEnVeulentToujoursPlusAuPauvreAppleuh

avatar pat3 | 

Merci pour l’info de MonitorControl, que je ne connaissais pas (dommage, depuis le temps que je bosse en bureau étendu) - et qui est open source, ce qui ne gâche rien !
Dans le même ordre d’idée, il me semble avoir vu passer un article sur la gestion des résolutions ésotériques sur macOS, mais je n’arrive pas à le retrouver. Y a-t-il un utilitaire permettant cela sur macOS (ayant eu un écran 21/9 à Noël, je suis preneur de tout ce qui permettrait de gérer des résolutions intermédiaires à celles proposées par défaut). Si en plus ça prouvait être un logiciel open source comme celui évoqué plus haut, ce serait une belle cerise sur le gâteau !

avatar Ceylo | 

@pat3

En ligne de commande il y a displayplacer. Ca ne prend pas n’importe quelle résolution mais déjà beaucoup plus que les préférences système. Opensource et installable via Homebrew.

avatar FlodeLibourne | 

Vu les commentaires, je risque de me faire insulter mais mon moniteur externe possède des boutons pour régler la luminosité.

Du coup, je m’en sert.

Tant pis si mon mac ne gère pas directement cette fonction.

avatar Strix | 

Ah ah ah ^^

avatar CogipTelematique | 

Souvent sur les écrans il faut farfouiller dans les menus et ce n'est pas très ergonomique c'est pour ça que la solution logicielle est pratique. :D

avatar jackhal | 

Je mets toujours la luminosité assez basse. Quand le soleil entre par ma fenêtre et que ça alterne entre gros soleil (écran plus assez lisible) / gros nuage (trop lumineux), j'adapte en une seconde : c'est juste là, sur le clavier.
Via les menus de mon Dell, c'est pas du tout la même histoire.

avatar rob | 

Windows ne semble pas non plus géré ce protocole nativement, je viens de regarder sur mon PC pro et je n’ai pas trouvé de moyen pour régler la luminosité de mes écrans. Sur l’aide de Windows ils disent simplement d’utiliser les boutons de l’écran pour régler la luminosité.

avatar byte_order | 

Si si, Windows 10 supporte cela. Mais il faut pour cela que l'écran réponde aux commandes DDC envoyés.
Beaucoup d'écrans de bureautique ne le font pas, les boutons en facade étant considéré comme suffisants et à moins de 50cm des boutons du clavier qui permettraient de faire la même chose mais en passant par l'OS.

Quand l'écran le supporte, Windows le supporte. C'est d'ailleurs comme cela que les boutons de réglage de la luminosité de l'écran du clavier TypeCover d'une Surface Pro fonctionnent. Ils ne sont pas cablé directement avec l'écran, hein.

avatar Link1993 | 

"Y compris les Cinema Display des années 2000".

Pas totalement vrai. Les Cinema Display avec une prise ADC (en blanc) ne sont plus supporté par Apple depuis au moins Mountain Lion...
Alors qu'ils marchent très bien ces écrans ! (J'en branche un encore quotidiennement sur un PC 😬)

avatar Nicolas Furno | 

@Link1993

Ah oui, je vais préciser alu. 🙂

avatar jcp25 (non vérifié) | 

Ce qui veut dire où vu dirait dire qu'aucune sonde de calibration ne marche sur les M1 avec moniteurs non Apple ?
A queu c'est ballot... Mais le M1 est tellement génial que la calibration est inutile.

avatar jawabee | 

J'ai le même écran que "totoguile- 12h00" avec un macMiniM1 et j'ai fait le même constat. Par contre il me semble que Onescreen control marchait avec BigSur 11.0; ce qui est paradoxal par rapport à l'article. (j'ai un doute car j'ai aussi tester l'écran avec un macMini intel, et j'ai pu confondre).
Depuis le passage à 11.1 j'ai des problèmes pour connecter l'écran via l'USB-C; je doit utiliser le port Hdmi.
Pour la luminosité pour l'instant j'essaye d'utiliser DesktopDimmer qui rajoute un filtre.
J'attend avec impatience la v11.2

avatar pagaupa | 

C’est balot ! 😂

avatar CorbeilleNews | 

C’est pour tous ces petits détails que j’adore Apple... j’aurais pu dire

Malheureusement je ne peut pas 🤗

Tant pis j’achète plus de Mac depuis plus de 10 ans alors 😋

avatar SuperCed | 

Un peu en retard, j'ai jeté un oeil aux sources et au forum pour comprendre cette limitation. On lit un peu tout et n'importe quoi sur les forums, alors que c'est finalement assez simple.
Avant les Mac M1, Apple utilisait une extension IOFramebuffer qui a une interface pour envoyer des commandes I2C (IOFramebufferI2CInterface). Les logiciels récupèrent cette interface, et envoient des commandes standard DDC qui permettent de régler la luminosité.
Depuis les Mac M1, Apple n'utilise plus le IOFrameBuffer, mais le IOMobileFrameBuffer qui vient de iOS. Et pour le moment, il était inutile pour ce driver d'envoyer des commandes I2C car il était destinés aux iPhone qui n'ont pas besoin de ces commandes.
Donc il y a fort à parier qu'Apple a essayé de fournir un driver minimal mais stable et rapide pour les puces M1 en partant du driver mobile qu'ils ont déjà.
Reste juste qu'ils fassent un peu évoluer ce driver pour fournir la possibilité d'envoyer des commandes I2C. Une fois cela fait, on pourra changer la luminosité des écrans via des app tierces.

Donc tout n'est pas perdu, ce n'est pas un problème hadware, c'est peut être juste une question de temps afin qu'Apple puisse réintégrer quelques fonctions supplémentaires dans ces drivers pour GPU M1.

Pages

CONNEXION UTILISATEUR