En 2021 CutefishOS dio mucho que hablar: un escritorio con barra de menús global, Dock y aspecto de macOS, hecho desde cero en Qt. La última versión, la 0.8, salió en enero de 2022, y en 2023 el código dejó de recibir cambios. Ahora ha vuelto con otro nombre, Cutefish, sobre Debian 13, y con un objetivo que hasta hace poco sonaba a broma: ejecutar apps de Mac sin modificarlas ni recompilarlas.
La capa que lo hace se llama Reef. Es un desarrollo propio, todavía no se puede descargar y por ahora es de código cerrado. Aun así, lo que enseña el proyecto merece una mirada atenta.
Quién está detrás
Es la misma gente de antes. La organización cutefishos de GitHub es la de 2021, sus repositorios (cutefish-core, filemanager, cutefish-compositor…) mantienen las etiquetas de la 0.1 a la 0.8 y el commit más reciente de antes del parón es de junio de 2023. Casi todo el código, antes y ahora, es de Reion Wong, que fundó el proyecto. El dominio nuevo, cutefish.org, se registró el 19 de octubre de 2026, y el mismo día se creó el repositorio que empaqueta la distribución.
Desde entonces el blog ha publicado cuatro entradas en dos semanas: cómo se construye la distro (20 de octubre), un servidor para que los agentes de IA manejen el escritorio (20 de octubre), la presentación de Reef (23 de octubre) y su «primer hito» (2 de noviembre).
Qué es Cutefish hoy
La web lo resume como «una distribución Linux para quien se siente en casa con un Mac». Por debajo hay bastante más cambio del que parece:
- Base Debian 13 «trixie». La ISO nightly del 8 de noviembre trae el kernel 6.12.116 de Debian y el resto de paquetes del archivo oficial. Cutefish añade los suyos en un repositorio APT propio,
trixie-nightly. - Escritorio propio de arriba abajo: compositor (
cutefish-compositor), gestor de sesiones, instalador, gestor de archivos, terminal, editor, calendario, calculadora, reproductor de vídeo y monitor del sistema. - Toolkit nuevo. Las apps ya no son QML como en 2021: usan
cutefish-toolkit, un toolkit nativo en C++ que dibuja con Skia, la biblioteca gráfica de Chrome y Android. Qt 6 sigue instalado para que las apps de Qt encajen con el resto mediantecutefish-qt-plugins. - Licencias: BSD-3-Clause en casi todo el código (núcleo, compositor, toolkit, ajustes, gestor de archivos) y GPL-3.0 en la terminal y los iconos.
No hay versión estable. Lo que hay son ISO nightly de Cutefish 1.0 para amd64 (1,56 GB) y arm64 (1,61 GB) que se compilan cada noche, y la página de descargas avisa de que «nada de esto es una versión oficial todavía». Se puede verificar que una ISO salió del flujo de compilación del proyecto y no se ha tocado después con gh attestation verify. Quien ya use Debian 13 puede añadir el repositorio e instalar solo el escritorio con apt install cutefish-desktop.
Reef: apps de Mac sin emulador
Una app de Mac casi no hace nada por su cuenta. Para abrir una ventana, pintar texto o saber qué día es, llama a macOS: AppKit para ventanas y controles, Foundation para texto, fechas y ficheros, Core Graphics para dibujar, SwiftUI para las interfaces modernas… Nada de eso existe en Linux. Reef consiste en escribir una versión propia de esas interfaces que se comporte igual que la de Apple, porque si la respuesta difiere un poco, la app coloca mal la ventana, no pinta nada o se cierra.
La idea es la misma de Wine con Windows: no se emula el procesador, se reimplementan las bibliotecas. El código de la app corre directamente en la CPU, como un programa de Linux. Para conseguirlo Reef incluye:
- un cargador para el formato de binarios de Mac, Mach-O (Linux usa ELF);
- un runtime de Objective-C y soporte para Swift;
- una biblioteca de sistema de bajo nivel;
- y sus propias versiones de AppKit, Foundation y del resto de frameworks, incluida una implementación parcial de SwiftUI.
El tamaño da una idea del esfuerzo. El 23 de octubre Reef tenía más de 300.000 líneas en más de 70 frameworks, y AppKit y Foundation pasaban de 70.000 líneas cada uno. Diez días después el proyecto hablaba de unas 460.000 líneas propias en más de 80 frameworks.
Las apps de Mac no se ven como invitadas: abren en una ventana normal, ponen sus menús en la barra de menús de Cutefish, salen en el Dock y el compositor les aplica las mismas sombras y animaciones que a las nativas.
Qué funciona ya
En la presentación del 23 de octubre:
- Itsycal (calendario en la barra de menús): completo, con su icono de estado, el calendario, el menú contextual y los ajustes.
- TextMate y Hex Fiend: abren y editan ficheros.
- CotEditor: abre, edita y guarda, con resaltado de sintaxis, inspector, búsqueda y ajustes.
- Things 3: funciona, aunque sin terminar. Parte de su interfaz la dibuja el SwiftUI de Reef.
En el «primer hito» del 2 de noviembre se sumaron:
- NetNewsWire, completo y con el contador de no leídos en el Dock. Es la primera app que usa WebKit, el motor web de Safari, portado por el proyecto (el repositorio
cutefish-webkitapareció el 5 de noviembre). - Ghostty, la terminal, con su renderizador para Metal, el inspector y los shaders personalizados.
- Keka, que crea y extrae zip y tar.gz, y Speedtest de Ookla, con pruebas completas e historial.
- CotEditor ya recuerda ventanas y documentos sin guardar, y admite pestañas y pantalla completa.
Todas se instalan desde la misma imagen de disco que descarga un usuario de Mac.
Cuánto cuesta en rendimiento
El proyecto compara CotEditor sobre Reef con el editor nativo de Cutefish en el mismo portátil, y no esconde que hay distancia:
| Prueba | CotEditor en Reef | Editor de Cutefish |
|---|---|---|
| Arranque hasta el primer fotograma | 235 ms | 115 ms |
| Abrir un fichero de 20.000 líneas | 0,50 s | 0,12 s |
| CPU para escribir 80 caracteres | 1,4 s | 0,17 s |
| Fotograma al hacer scroll | 4,4 ms → 3 ms | 1,2 ms |
La última fila mezcla las dos entradas: 4,4 ms el 23 de octubre y 3 ms el 2 de noviembre. En esa segunda entrada también cuentan que CotEditor bajó de 245 a 146 MB de memoria con un fichero de 20.000 líneas, que Ghostty redimensiona a 2,4 ms por fotograma (antes 6,7 ms) y que NetNewsWire, Ghostty y CotEditor arrancan entre 10 y 40 ms antes.
Lo que no va a funcionar
El límite lo pone Apple, no Reef: nada que pase por los servidores de Apple. Eso deja fuera iCloud, «Iniciar sesión con Apple», las compras dentro de la app y las suscripciones de la App Store. Las apps que solo se venden en la Mac App Store no se pueden instalar. Las que venden su licencia por su cuenta o sincronizan con servicios propios no tienen ese problema.
Tampoco es un macOS completo. Reef solo apunta a apps gráficas y solo en Cutefish: se apoya en su toolkit, su compositor y su escritorio, y no pretende ejecutar herramientas de línea de comandos. Ahí se separa de Darling, el proyecto veterano que intenta ejecutar software de macOS en cualquier Linux. Cutefish dice no usar código ni de Darling ni de Wine.
El blog no dice qué arquitecturas admite Reef. Como no emula la CPU, lo esperable es que un PC x86-64 use la parte Intel de cada app y un equipo arm64 la parte Apple Silicon. Casi todas las apps de Mac se distribuyen como binarios universales con las dos. Es una deducción nuestra, no un dato del proyecto.
¿De dónde sale el código?
Reef no es de código abierto «por ahora». Lo que sí declara es qué piezas libres de Apple lleva, cada una con su licencia: Core Foundation (de swift-corelibs-foundation), libdispatch y Swift, las tres Apache 2.0, y el compresor LZFSE (BSD-3-Clause). Además incluye libc++, libc++abi, libunwind, SQLite, curl y Tcl, y cuenta que estudia el código que Apple publica en apple-oss-distributions para que su comportamiento coincida.
Con esto hay que matizar lo de «software libre». El escritorio de Cutefish lo es. La pieza que más llama la atención, de momento, no.
Y los agentes de IA, también
La otra novedad es cutefish-computer-use, un servidor MCP que viene con el escritorio y permite que agentes como Claude Code, Codex o Claude Desktop vean la pantalla, hagan clic, escriban y muevan ventanas. A diferencia de otras soluciones, no graba la pantalla ni simula un teclado: el control pasa por el propio compositor. La primera vez Cutefish pide permiso y el agente no puede contestar ese diálogo. Mientras actúa aparece un botón de parada en la barra de estado, y cualquier movimiento del ratón o pulsación del usuario lo pausa. Tampoco puede tocar diálogos de contraseña, avisos de permisos ni la pantalla de bloqueo. Los permisos concedidos se revisan en Ajustes › Privacidad.
Qué pensamos
Si Reef cumple, Cutefish deja de ser «otra distro que se parece a macOS» y pasa a ser la única que ejecuta parte de su software. Eso cambia mucho para quien vuelve a Linux y echa de menos dos o tres apps concretas. Pero hay que leerlo con calma: la capa no se puede probar, no tiene fecha («llegará a Cutefish lo antes posible») y su código está cerrado. Además, el proyecto depende casi por completo de una persona y ya estuvo parado tres años. Y reimplementar las interfaces de Apple es mucho trabajo. Wine lleva más de treinta años con las de Windows.
Lo que sí se puede probar ya es el escritorio, y para eso basta una ISO nightly en una máquina virtual. Lo hemos añadido al catálogo en su ficha de Cutefish, con el historial de la 0.1 a la 0.8 y la rama 1.0 nightly. Si te interesan las alternativas con aspecto de Mac ya estables, mira elementary OS 8.1. Para la base, tienes Debian 13. Y si la parte que te atrae es ejecutar software de otro sistema, nuestra guía de gaming en Linux con Proton explica cómo hace Wine eso mismo con Windows.
Fuentes: blog de Cutefish: Running Mac apps on Cutefish (23-oct-2026), Mac apps on Cutefish: the first milestone (2-nov-2026), How Cutefish is built y Letting agents use the desktop (20-oct-2026); descargas y lista de paquetes de la ISO nightly; organización cutefishos en GitHub; Darling y Wine.
