El proyecto Stela proporciona un método para que los PC x86-64 ejecuten macOS mediante la creación de una capa de hardware Apple Silicon de propósito general. A diferencia de los emuladores tradicionales que se ejecutan sobre un sistema operativo anfitrión, Stela funciona como un programa de arranque UEFI que traduce el código arm64e directamente a instrucciones x86-64, permitiendo la ejecución del software de Apple en hardware estándar de Intel o AMD.
Traducción de instrucciones y modelado de hardware
En su núcleo, Stela actúa como un traductor entre dos arquitecturas de procesador diferentes. Emplea un compilador que maneja más de 3,000 codificaciones de instrucciones AArch64, mapeando los registros del invitado a los registros del anfitrión y almacenando en caché el código traducido para mejorar la eficiencia.
Para que el entorno sea funcional, Stela proporciona un modelo del hardware de Apple silicon. Actualmente simula el Mac mini (M2) para proporcionar el entorno necesario para que macOS y la mayoría de las aplicaciones se inicialicen.
“Es un programa de arranque UEFI con un traductor arm64-a-x86-64, un controlador Metal para GPUs NVIDIA y un modelo de hardware de Apple silicon.”
— GitHub - tylertms/Stela: A general purpose Apple Silicon layer for x86-64 PCs
Soporte gráfico a través del controlador Metal
Un componente crítico del proyecto es su controlador Metal, que permite al sistema interactuar con el hardware gráfico de NVIDIA. El controlador compila AIR, que es la representación intermedia de sombreadores de Metal, directamente a NIR, la representación intermedia utilizada por Mesa.
Esta implementación específica es compatible con las familias de GPU Metal3 y Apple7, dirigiéndose específicamente a las GPUs NVIDIA de las series GTX 16 y RTX 20 y modelos más nuevos.
Limitaciones actuales y rendimiento
Aunque Stela logra arrancar macOS y muchas aplicaciones, el proyecto se encuentra en una etapa temprana de desarrollo (v0.1.0). El desarrollador señala que la experiencia actual es lenta y requiere pruebas adicionales significativas para lograr estabilidad.
Los usuarios deben esperar bajas tasas de éxito en el arranque y cuellos de botella en el rendimiento, ya que el proyecto todavía está pasando por correcciones importantes de soporte de hardware y optimización.
Qué dicen los lectores de Hacker News
- Nota técnica: Un comentarista aclaró que el proyecto funciona más como una traducción inversa de Rosetta que como un compilador estándar ahead-of-time o just-in-time. comentario ↗
- Escéptico: Otro usuario cuestionó la necesidad del proyecto, afirmando que fue capaz de lograr resultados similares en macOS sin utilizar esta herramienta específica. comentario ↗
- Experiencia: Un comentarista expresó interés en usar el proyecto específicamente para ejecutar juegos móviles en un PC, mientras que otros señalaron que la versión actual es lenta y tiene errores. comentario ↗
Resumen de opiniones del hilo de Hacker News; no son hechos verificados. Leer el debate completo ↗
