The developers of the Cutefish distribution, which develops the macOS-style desktop environment of the same name, announced the development of the Reef for running macOS apps on Linux. Programs built for macOS are installed from dmg files and integrated with the main Linux desktop.
Applications run without emulators, virtual machines, or proprietary macOS components. Reef is being developed from scratch without using the developments of the Darling project and without reverse engineering proprietary Apple software. During the development process, functionality is implemented based on the capabilities required to run specific applications – developers try to run some program, identify broken functions and implement them. The Reef code has not yet been published publicly, but they promise to soon add the layer to the distribution kit Cutefish.
The layer created by the Cutefish project has about 460 thousand lines of code and uses more than 80 external libraries, including macOS components supplied by Apple under open licenses, such as Core Foundation (swift-corelibs-foundation), Grand Central Dispatch (swift-corelibs-libdispatch), standard language library Swift, libraries Libc, lzfse, objc4, linker dyld and kernel xnu. The project also uses WebKit, LLVM libc++, libc++abi, libunwind, curl and Tcl. The Core Data API is implemented on top of SQLite, and the Metal graphics API is implemented on top of OpenGL. A network framework is provided, support for auto-saving windows and macOS-style inertial scrolling.
Programs already launched on top of Reef include the NetNewsWire RSS reader, the Ghostty terminal emulator, the Keka archiver, the CotEditor and TextMate text editors, the Itsycal calendar, and the notes system
Things 3 and Speedtest. When testing performance, programs for macOS still run several times slower, for example, the CotEditor executable file for Linux starts in 115 ms, and for macOS in 235 ms, the difference in the time of opening a file with 20 thousand lines is 0.12 seconds. vs. 0.50 sec., keystroke response is 18 ms vs. 21 ms, and scroll rendering time is 1.2 ms vs. 4.4 ms.

