Published release of the project ravynOS 0.6, developing the operating system a FreeBSD-based system aimed at achieving compatibility with macOS applications and providing a macOS-style user shell. The developments of the project are distributed under the BSD license. The size of the bootable iso image is 760 MB (x86_64).
The stated goals of the project are to achieve compatibility with macOS applications at the source level and executable files. In the first case, it is possible to recompile the code of macOS applications for execution in ravynOS, in the second – embedding changes into the kernel and toolkit for launching Mach-O executable files compiled for x86-64 and arm64 architectures.
From file systems, ZFS and file systems used in macOS are supported HFS+ and APFS. In addition to the FreeBSD-specific /usr and /usr/local hierarchies, macOS-specific /Library, /System, and /Volumes directories are created. User home directories are located in the /Users hierarchy. Each home directory has a ~/Library subdirectory for applications that use the Apple Cocoa API.
For compatibility with macOS, a partial implementation of the Cocoa API and Objective-C runtime is provided (located in the directory /System/Library/Frameworks), as well as compilers and linkers additionally modified to support them. In addition to the layer for compatibility with macOS, ravynOS also offers the ability to run applications for Linux, based on the Linux environment emulation infrastructure offered in FreeBSD (Linuxulator).
Applications can be designed as self-contained app packages (App Bundle) in the format AppImage, placed in the /Applications or ~/Applications directories. The programs do not require installation or use of a package manager – just drag and drop and launch the AppImage file. At the same time, support for traditional FreeBSD packages is retained.
The graphical environment is built on the basis of its own window server, using stripped-down labwc composite server (removed support for server-side window decoration and skins), wlroots and the Wayland protocol. Graphical applications can use the Qt and Cocoa frameworks. The interface uses typical macOS concepts, such as a top bar with a global menu, an identical menu structure, keyboard shortcuts, a similar-style Filer file manager, and support for commands such as launchctl and open.
Changes compared to release 0.5 include:
- The base system has been updated to the FreeBSD 15-STABLE branch.
- Introduced a minimalistic GUI with a new top SystemUIServer panel and bottom Dock panel.
- Includes a prototype terminal emulator Terminal.app.
- Ensures that LoginWindow login manager starts immediately after loading. When booting in live mode, you can log in to the system without a password using the liveuser login.