Skip to content

ravynOS 0.5.2 "Sneaky Snek"

Latest
Compare
Choose a tag to compare
@mszoek mszoek released this 17 Nov 16:01
· 27 commits to main since this release

ravynOS "Sneaky Snek" Developer Preview Release v0.5.2 🐍

Welcome to the 0.5.2 Developer Preview of ravynOS!

⚠️ As usual, this is an unstable pre-release of upcoming stuff intended for people helping build the system. It is not complete. It contains bugs - sometimes serious ones - including application and desktop crashes and even kernel panics. You have been warned.

This release brings a functional, although minimal, desktop environment with SystemUIServer (top menu bar), LoginWindow, and Dock. A very basic proof-of-concept Terminal.app is also bundled.

You should see a login screen shortly after booting, where you can log in as liveuser with no password. After login, you should see a desktop with menu bar, Dock, and wallpaper.

You can exit WindowServer by pressing Command-Shift-Q (Command is usually your OS logo key) followed by Alt-F2 for a console login prompt in case things get funky.

picture of the desktop

The notes below are a summary of the changes from v0.5.2. Full Changelog.

Base system updates

FreeBSD base updated to commit 2001bef. libarchive updated to 3.7.7. A security issue was fixed in bhyve's nvme module. Deprecated fdisk and it will tell you when it runs. Improvements to loader.efi. ELF parsing functions from kldxref are now broken out into libkldelf for easier reuse. LLVM updated to 19.1.2. Many more changes - please see the commit logs for details.

Old wallpaper images of questionable license have been removed, and replaced with freely licensed ones from Trenta.io and original images contributed by Kush. You'll find these in /System/Library/Desktop Pictures as usual.

Stale settings from /etc/rc.conf on the ISO were removed.

Font Awesome Free 6 was added to /System/Library/Fonts as it is used for certain menu symbols.

CoreGraphics

A fairly complete implementation of Quartz Display Services and Quartz Window Services has been added.

The nonstandard and hacky CGWindow class was removed.

CGWindowLevel.h was updated to match Apple's spec.

AppKit

Large parts of platform-agnostic code were removed and CGWindow functionality merged into NSWindow. Migrated NSApplication to use the new Quartz APIs in various places.

Window position and size requests are now respected again since Wayland is gone.

Default font size for NSTextView/Field/etc was increased for readability.

Window controls now show their inner symbol when the mouse hovers on them.

Menu code related to drawing was moved to SystemUIServer, where it belongs and the view code was refactored. NSMenu and NSMenuItem stay in AppKit. Menus are now shared with SystemUIServer using Mach IPC instead of a unix socket.

Foundation

An error in creating missing folders when writing user preference files atomically was fixed.

WindowServer

WindowServer now allocates a new VT for itself and prevents switching while running. On exit, it should restore the original VT and re-enable switching. However, sometimes the original VT does not get reactivated - press Alt-F2 after exiting WindowServer if it does not return to a console.

Switching between apps now happens when pressing Command-Tab.

The multiple window levels (from CGWindowLevel.h) are now supported.

SystemUIServer

dmidecode 3.6 was brought in to the source tree for the About This Computer window. ClockView was rewritten in a better way.

Dock

Dock is back! Much work is still needed here but it's back.

Tools and Misc

A simple CLI screen capture utility has been added at /usr/bin/grabscr. Just provide a filename and it will write a PNG image of the main display to the file.

Bug fixes, Limitations and Known issues

See open issues for the full list.

Global display coordinates are not implemented. Only one display is currently supported.

NSWindow and WindowServer do not currently support OpenGL. This will be added back once we have acceleration again. (Long term plans are to support Metal.)

Using a PS/2 mouse or keyboard emulation with virtio may cause input lag. Use USB devices.

Please see the wiki for system requirements, install instructions and where to find things.

Ask questions or give feedback in the Discussions area. Please report any bugs to the Issues tracker. Your help in fixing said bugs would be appreciated too! Thanks!

Get It!

Download from GitHub or your closest mirror:
NomadLogic - US West | Clarkson - US East | HS Fulda - Germany | NTNU - Norway | dotSrc - Denmark

Torrents are also available courtesy of FOSSTorrents

SHA256: 3a3b42545e5fbb5b9483f83903ac85afc193e6b652d93dbc7ee6e5fc0af951da ravynOS_0.5.2_f15_amd64.iso

Unstable "nightly" builds are also available for developer testing:
Download from NomadLogic - US West | Clarkson - US East | HS Fulda - Germany | NTNU - Norway | dotSrc - Denmark

Torrents of the snapshot builds are available too! Thanks to @RangerRick for setting these up.

Acknowledgements

As usual, thank you to our community of sponsors, designers, developers, testers, and users, and mirror hosts for supporting the project. Special thanks to everyone who didn't give up on the project while my life was crazy. ❤️