Introduction

Lume est un outil de ligne de commande (CLI) et un framework pour macOS qui permet de créer et d'exécuter des machines virtuelles (VM) avec une installation non supervisée. Il utilise le Virtualization Framework d'Apple pour exécuter des VM macOS et Linux à une vitesse proche de la vitesse native sur les processeurs Apple Silicon.

Contexte Technique

Lume repose sur le Virtualization Framework d'Apple, qui fournit une virtualisation accélérée par matériel sur les processeurs Apple Silicon. Cela offre une exécution native des instructions CPU, une graphique paravirtualisée avec une prise en charge de base de la carte graphique via la couche de virtualisation d'Apple (limitée à la famille de cartes graphiques 5), un stockage efficace avec des fichiers de disque sparse qui ne consomment que l'espace réellement utilisé et non la taille allouée, ainsi que la prise en charge de Rosetta 2 pour exécuter des binaires Linux x86 dans des VM Linux ARM.

Analyse et Implications

Lume offre plusieurs avantages, notamment la possibilité de tester des logiciels sur différentes versions de macOS sans avoir besoin de maintenir plusieurs machines physiques, d'automatiser des tâches macOS en combinant Lume avec une installation non supervisée pour créer des VM préconfigurées, et d' en testant les builds macOS dans des VM isolées avant de les pousser vers des environnements CI distants. De plus, Lume peut être utilisé pour sandboxer des opérations à risque en exécutant des logiciels non fiables ou des scripts destructeurs dans des VM, puis en les supprimant.

Perspective

Il est important de noter que Lume nécessite un processeur Apple Silicon pour fonctionner et ne sera pas compatible avec les Mac Intel ou d'autres plates-formes. Pour les utilisateurs intéressés, la documentation de Lume propose un guide de démarrage rapide pour installer Lume et créer une première VM. Les limitations et les conditions de succès de Lume, telles que la compatibilité avec les différentes versions de macOS et la prise en charge des fonctionnalités matérielles, seront des aspects à surveiller pour une adoption plus large.