Valve prévoit de relier le cache de code traduit de FEX à Steam Pre-Caching : le code x86 préparé pour ARM pourrait ainsi être disponible avant la première exécution locale d’une application. L’ingénieur logiciel de Valve Pierre-Loup Griffais a décrit ce projet, rapporté par PCWorld le 7 novembre 2026. PCWorld indiquait alors que Valve n’avait annoncé ni calendrier ni résultat de performance pour cette intégration.
Le pré-cache déplacerait la préparation du code traduit avant le premier lancement ; le cache FEX documenté, lui, réutilise du code déjà généré lors des exécutions suivantes.
Ce projet prolonge les travaux de Valve autour de SteamOS sur ARM, évoqués dans notre précédent article sur SteamOS et ARM.
Ce que le cache FEX conserve
FEX traduit les instructions processeur x86 d’une application en instructions ARM. Cette traduction peut être générée à la volée, au moment où le programme en a besoin : c’est le principe de la compilation « juste à temps », ou JIT. La note de version FEX 2609, publiée le 7 septembre 2026, décrit une option qui enregistre le code JIT généré dans une base de données au format FOZ, puis le recherche lors des exécutions suivantes.
Cette version documente aussi deux moyens d’activer le cache dans FEX : la variable d’environnement FEX_DISKCACHE=1 et l’option JSON DiskCache. Ce sont des paramètres de FEX, pas des commandes Steam annoncées pour l’intégration prévue.
Le cache concerne le code du processeur, pas les shaders du processeur graphique. PCWorld distingue ces deux types de travail et rappelle que d’autres facteurs, comme le chargement des ressources ou les limites du processeur, peuvent également provoquer des saccades.
À la limite de 1 GB, FEX arrête d’ajouter du code
La note FEX 2610, publiée le 7 octobre 2026, fixe à 1 GB la limite par défaut du cache disque. Quand elle est atteinte, FEX arrête d’y stocker du code ; la limite peut être modifiée dans les options INI. La même version décrit un cache mémoire optionnel pour les blocs de code fréquemment utilisés, notamment lorsque de la mémoire vive est disponible.
FEX 2610 indique aussi que les mises à niveau suppriment les anciens caches devenus inutiles pour la nouvelle version. Pour un fichier ELF qui contient un GNU build ID, FEX utilise cet identifiant comme clé partielle afin d’aider à éviter la réutilisation d’un cache périmé lorsque le fichier est remplacé.