Rétro-ingénierie d'un moniteur gaming MSI à l'IA : comment est fait un OLED de l'intérieur

L'ingénieur SergeyZh a passé 4 heures à analyser le firmware du moniteur gaming OLED MSI MPG 341CQPX QD-OLED à l'aide de l'agent IA Claude Code. Le logo MSI agaçant qui s'affiche 3 secondes au démarrage, la commutation peu pratique des entrées vidéo et les bugs avec un MacBook Pro : tout cela découle de limitations logicielles cachées à l'utilisateur. Le firmware n'étant pas chiffré, la rétro-ingénierie en a été facilitée. Le moniteur s'est révélé être un véritable ordinateur multiprocesseur doté de son propre système d'exploitation. L'IA a mis au jour une architecture que le fabricant n'avait jamais divulguée : quatre cœurs d'architectures différentes au sein d'une même puce, chacun dédié à une tâche spécifique avec son propre firmware. • **Quatre processeurs du scaler** : STBC 8051 (gestion des boutons et démarrage), Leon2 Main (OLED et menu OSD, 1,4 Mo de firmware), Leon2 Sub (entrées vidéo HDMI/DisplayPort), Tensilica Xtensa (analyse de la luminosité) • **Matériel** : scaler Novatek NT68503, dalle OLED SDC QMC340CA01_D01 avec son propre processeur et firmware • **Éléments cachés** : menu de service (activé par joystick + alimentation), émulation logicielle des boutons, entrée analogique du joystick, consoles UART avec commandes

Traité par IA depuis Habr AI ; édité par Hamidun News
Rétro-ingénierie d'un moniteur gaming MSI à l'IA : comment est fait un OLED de l'intérieur
Source : Habr AI. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireHabr AI ↗
Rédacteur en chef
Matérielscaler Novatek NT68503, dalle OLED SDC QMC340CA01_D01 avec son propre processeur et firmware
Éléments cachésmenu de service (activé par joystick + alimentation), émulation logicielle des boutons, entrée analogique du joystick, consoles UART avec commandes

Pourquoi ce moniteur s'est révélé être un ordinateur

L'ingénieur SergeyZh s'est posé une question simple : pourquoi son moniteur gaming MSI MPG 341CQPX QD-OLED se montre-t-il peu pratique à l'usage, alors qu'il était salué pour sa qualité il y a 1,5 an ? Le moniteur est pourtant excellent : 240 Hz, quatre entrées vidéo, dalle QD-OLED large format aux couleurs éclatantes. Mais les irritants se sont accumulés : le logo MSI s'affiche pendant 3 secondes à chaque allumage, la commutation entre les entrées vidéo prend 5 à 10 secondes (le moniteur s'endort et met du temps à se réveiller), et avec un MacBook Pro capot fermé, l'écran se met à scintiller en RVB ou affiche « Out of sync ».

C'est ce dernier problème qui a poussé l'auteur à se lancer dans l'enquête.

Après quatre heures de travail d'un agent IA (Claude Code) sur le firmware caché du moniteur (fichier MSI_MPG_341CQPX_QD-OLED_FW.037_0225.bin), le constat est clair : il s'agit d'un véritable ordinateur doté de plusieurs systèmes d'exploitation, de nombreux processeurs et de tout un arsenal de fonctions cachées que le fabricant n'a jamais ouvertes à l'utilisateur.

Une architecture logée dans une seule puce

Le composant central du moniteur est le scaler Novatek NT68503. Ce n'est pas une simple puce de traitement du signal vidéo : elle abrite quatre processeurs d'architectures différentes, chacun avec son propre firmware et sa propre mission.

STBC (STandBy Controller), architecture 8051 — gère l'allumage et l'extinction du moniteur, le démarrage des autres cœurs, l'alimentation, ainsi que l'interaction avec les périphériques externes : boutons, joystick, USB.

Leon2 Main, architecture SPARC — cœur de calcul principal, avec un firmware de 1,4 Mo. Il pilote la dalle OLED, commute les modes d'affichage et dessine le menu OSD avec les réglages de luminosité, de contraste et des entrées.

Leon2 Sub, architecture SPARC — cœur spécialisé dans le traitement des entrées vidéo. Les protocoles HDMI et DisplayPort exigent un traitement du signal dans des fenêtres temporelles très strictes. Le cœur principal pouvant ne pas tenir ces délais, cette tâche a été confiée à un processeur distinct.

Tensilica Xtensa — processeur DSP chargé d'analyser la luminosité du signal vidéo entrant et de transmettre des recommandations à Leon2 Main pour piloter le rétroéclairage de la dalle OLED.

Ajoutez à cela le processeur et le firmware propres à la dalle OLED elle-même (SDC QMC340CA01_D01), et l'on obtient au moins cinq processeurs faisant tourner cinq systèmes d'exploitation au sein d'un seul moniteur.

Ce que l'IA a trouvé dans le code

Le firmware n'étant pas chiffré, l'auteur n'a pas eu besoin de contourner de protection. L'IA a au contraire rapidement repéré, dans le code interne :

Un menu de service, dont l'auteur lui-même ignorait l'existence. Il s'active par une combinaison simple : pousser le joystick vers le bas tout en allumant le moniteur. Ce menu conserve des données propres à chaque exemplaire : numéro de série, compteur d'heures de fonctionnement de la dalle OLED, ses paramètres de calibration, ainsi qu'une zone mémoire que le firmware nomme FE2P (Flash-emulated EEPROM).

Une entrée analogique pour le joystick : contrairement au schéma habituel à cinq boutons distincts (haut, bas, gauche, droite, pression), le joystick du moniteur est lu via une seule entrée analogique du scaler. Différents niveaux de tension codent les différentes directions.

Une émulation logicielle des boutons : le code de Leon2 Main contient une fonction permettant d'émuler par logiciel les pressions sur les boutons du moniteur, via l'envoi de commandes. L'utilité de cette fonction reste inconnue.

Des consoles UART avec un jeu complet de commandes de débogage, ce qui a grandement facilité l'analyse.

Une table de commandes de la dalle OLED : l'IA a croisé le menu de service, le menu OSD standard et le code source pour en déduire l'ensemble des commandes envoyées par le firmware à la dalle pour piloter la luminosité, le contraste et la calibration.

Ce qui reste hors de portée de l'analyse

Les algorithmes détaillés de maintenance de la dalle OLED elle-même restent une « boîte noire ». Le firmware envoie une commande à la dalle et attend sa calibration automatique, sans jamais dévoiler la logique de cette calibration. Autrement dit, la dalle SDC QMC340CA01_D01 dispose de son propre processeur et de son propre système d'exploitation embarqué, dont les spécificités restent non documentées.

Bilan de ces quatre heures d'analyse : une cartographie complète du firmware, une compréhension de l'architecture matérielle, et la prise de conscience que ce moniteur n'est pas un simple écran au sens traditionnel, mais un ordinateur embarqué qui dissimule à l'utilisateur une multitude de fonctionnalités que le fabricant n'a tout simplement jamais révélées.

Dossier

Questions clés sur cet article

Pourquoi ce moniteur s'est révélé être un ordinateur?

L'ingénieur SergeyZh s'est posé une question simple : pourquoi son moniteur gaming MSI MPG 341CQPX QD-OLED se montre-t-il peu pratique à l'usage, alors qu'il était salué pour sa qualité il y a 1,5 an ? Le moniteur est pourtant excellent : 240 Hz, quatre entrées vidéo, dalle QD-OLED large format aux couleurs éclatantes. Mais les irritants se sont accumulés : le logo MSI s'affiche pendant 3 secondes à chaque allumage, la commutation entre les entrées vidéo prend 5 à 10 secondes (le moniteur s'endort et met du temps à se réveiller), et avec un MacBook Pro capot fermé, l'écran

Que sait-on sur Une architecture logée dans une seule puce ?

Le composant central du moniteur est le scaler Novatek NT68503. Ce n'est pas une simple puce de traitement du signal vidéo : elle abrite quatre processeurs d'architectures différentes, chacun avec son propre firmware et sa propre mission. STBC (STandBy Controller), architecture 8051 — gère l'allumage et l'extinction du moniteur, le démarrage des autres cœurs, l'alimentation, ainsi que l'interaction avec les périphériques externes : boutons, joystick, USB. Leon2 Main, architecture SPARC — cœur de calcul principal, avec un firmware de 1,4 Mo. Il pilote la dalle OLED, commute

Que sait-on sur Ce que l'IA a trouvé dans le code ?

Le firmware n'étant pas chiffré, l'auteur n'a pas eu besoin de contourner de protection. L'IA a au contraire rapidement repéré, dans le code interne : Un menu de service, dont l'auteur lui-même ignorait l'existence. Il s'active par une combinaison simple : pousser le joystick vers le bas tout en allumant le moniteur. Ce menu conserve des données propres à chaque exemplaire : numéro de série, compteur d'heures de fonctionnement de la dalle OLED, ses paramètres de calibration, ainsi qu'une zone mémoire que le firmware nomme FE2P (Flash-emulated EEPROM). Une entrée analogique

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
Qu'en pensez-vous ?
Chargement des commentaires…