top | item 32492514

RavynOS – Finesse of macOS, freedom of FreeBSD

769 points| behnamoh | 3 years ago |ravynos.com | reply

363 comments

order
[+] adastra22|3 years ago|reply
This looks like not a reskin of an existing FreeBSD or Linux windows system, but an actual reimplementation of macOS. Very interesting if they can pull it off!

I wonder though, why start with old Objective-C cocoa APIs instead of Swift?

[+] grishka|3 years ago|reply
Objective-C is the ABI of all UI-related macOS frameworks and it would probably always be. Even if you're writing in Swift, as long as you're using AppKit, you're using Objective-C classes under the hood. There's no such thing as "Swift Cocoa APIs". And SwiftUI is an abstraction layer on top of, again, AppKit/UIKit/WatchKit, which are themselves all written in Objective-C.
[+] kitsunesoba|3 years ago|reply
The greater bulk of the macOS userland is still written in Objective-C.
[+] cxr|3 years ago|reply
It's a BSD. (Knowing that, you probably wouldn't ask them, "Why C and not C++?") As a language (and ecosystem*) Objective-C is mature and lacks complexity in a way that doesn't apply to Swift.

* They definitely did not start with Objective-C and a blank slate here; they're folding in monumental amounts of third-party code

[+] eyelidlessness|3 years ago|reply
I wonder if Cocoa is that language specific or if it’s become legacy tech. When Swift was announced and when I explored it for personal projects, I was very much calling Cocoa APIs. They definitely catered to ObjC-isms, but my impression was that all of the underlying UI frameworks were being preserved even if they might gain additive APIs to be used less awkwardly in Swift.
[+] rattray|3 years ago|reply
I really hope they build some kind of application registry, including listing projects that don't yet work on RavynOS, so that the community can see which packages are most in-demand, what % of apps that people want are supported, reviews from others on stability for the platform, etc.

Could bootstrap this by looking at everything in Homebrew (including casks) and sharing whether it seems to work on RavynOS yet (or whether it's ambiguous, and how you can help disambiguate).

[+] LeSaucy|3 years ago|reply
The biggest gap from developers will be the lack of docker on freebsd.
[+] bowsamic|3 years ago|reply
Personally I find this kind of idea to be a dead end, since so much of what makes macOS special is really beyond the capabilities of anyone other than Apple. For example, total vertical integration, e.g. calling up kernel team and ask them to make a change for WebKit. SerenityOS also does this because Andreas Kling worked at Apple, realising that vertical integration is fundamental. But then there are other things, like incredible hardware integration with things like the trackpad and CoreAudio, as well as precise control over the CPU and power. I'll be interested to see if this goes anywhere but in my opinion there are better places to go, such as for example SerenityOS, which I think is a kind of operating system that is far more suitable for the space of people who don't want to buy Apple.

I'm generally a bit sceptical of this "copy macOS" idea. It isn't a particularly amazing operating system, it is mainly just very well supported by third parties considering that it is a unix. You won't have that if you recreate it in this way, and I'm not sure if you will be left with a very good experience.

[+] daitangio|3 years ago|reply
Agree. Also I see some video on SerenityOS and I find a very good teaching environment/gym to see a such vertical integration.

Last but not least HaikuOS deserves some forward look

[+] weikju|3 years ago|reply
Looks like this is a rebrand from the Airyx project that was posted before [1]

[1] https://news.ycombinator.com/item?id=28068542

[+] schleck8|3 years ago|reply
They had a trademark issue because there is a German company called Airyx that uses an almost identical domain on top of that (airyx.com vs airyx.de)
[+] Nursie|3 years ago|reply
Thanks, yeah that slightly confused me because the screenshots on the sight all talk about Airxy, rather than RavynOS.

Other than that it looks interesting, a sorta-Mac-aesthetic sorta-BSD.

[+] _abox|3 years ago|reply
Hmm. I'm not sure what to think of all this special build stuff. I moved from macOS to FreeBSD + KDE mainly because I felt that macOS was becoming too dumbed down.

And I actually like the UI and configurability of KDE.

So no, I'm not going to use it but it probably could have made me move to FreeBSD a few years earlier. But with this kind of 'copycat' I always wonder if they manage to support a large enough ecosystem to make it work well. After all the biggest selling point of macOS is traditionally the 'just works' principle. Using FreeBSD as a daily driver I know the hardware/driver side needs a lot of tinkering. Which I don't mind, but macOS users would.

I also wonder about their business model, it seems to be a company?

[+] shortformblog|3 years ago|reply
I tried running this last night on an i7-8550u, and eh, I didn’t get far. I got it to boot to a GUI, but nothing else loaded, not even an installer. And because the screen was 4k, my cursor (and everything else) was tiny. I think this is a cool project but just worth noting that this is a proof of concept right now rather than a complete thing. Best of luck to the RavynOS team.
[+] numbers|3 years ago|reply
Can it get the font rendering to the level that macOS or iOS have? If yes, then it's getting there. The few things that scream to me that I'm not using a mac:

1. Antialiasing of fonts, how crisp and clear does it look on my screen? Windows has struggled with this especially after ClearType.

2. Alignment of elements in various applications. The traffic light window controls look way too far into the app's header. Find a happy medium, copy macOS's spacing.

3. Is the contrast in colors strong enough to tell me this was designed by someone who has some design (hopefully color theory background) or was it just an attempt to use many colors?

[+] ayushnix|3 years ago|reply
It's basically impossible to have crisp fonts without a high DPI integer scaled monitor. The target monitor hardware for Windows and MacOS is vastly different.
[+] hbn|3 years ago|reply
> The traffic light window controls look way too far into the app's header. Find a happy medium, copy macOS's spacing.

I noticed that too on the screenshots page. And it's weird cause it looks right under the "features you'd love" section on the main page. It looks like most of those images (the traffic light buttons, global menus, folder icons) are faked to look like macOS but then the screenshots don't actually look like that.

[+] denysonique|3 years ago|reply
There used to be Infinitaly that somewhat helped with that.

If you find your fonts rendered to thin compared to macOS you may try changing some of the freetype settings, such as:

    FREETYPE_PROPERTIES="truetype:interpreter-version=35 autofitter:no-stem-darkening=0 cff:no-stem-darkining=0"
[+] graphenus|3 years ago|reply
1. Doesn't macOS turn off font antialiasing for retina displays? I believe retina displays (with desktop scaling) is the real solution to crispy fonts.
[+] mike_k|3 years ago|reply
It is interesting how you only have purely visual "signs" on your list ). It can't be only this for a tech crowd. There is so much more about the way software is shipped, configured & used.

Also, the hardware. (It is much harder to make it work reasonably well across so many platforms without an army of full time devs.)

[+] pabs3|3 years ago|reply
Some of the words in the screenshots make it sound like this is a skinned version of KDE. Konsole, Kate, Plasma for example:

https://ravynos.com/screenshots.html

[+] fsw|3 years ago|reply
> PLEASE NOTE: On 2022-02-14, we decided to abandon the current path of using X11/KDE desktop components and write from scratch a new UI that will align better with our goals. A very early UI on the new WindowServer is starting to take shape as of 2022-07-27. Thanks for your patience as we work to make ravynOS the best possible version.
[+] frostwarrior|3 years ago|reply
Today's KDE can be almost identical to a MacOS desktop, if you customize it properly.

I'm a KDE user since 2010 and a week ago I purchased an M1 Pro (hopefully to install Asahi in the future). My desktop was basically a top bar with global menu, a few widgets and Latte Dock.

If I didn't know that Mac came up with the functionality before, I would think that it is Mac that feels like a skinned KDE

[+] KolmogorovComp|3 years ago|reply
Nice project, however I’m worried about their scope (reimplementing the MacOs APIs?) being too large for their team, to achieve that level of ‘finessse’ a billion-worth company has made decades achieving.

Moreover in my opinion the contributor pool might be thin, most potentially interested users would prefer using MacOs, and most linux users being notoriously not fond of the lack of configuration. Happy to be proven wrong!

[+] Underphil|3 years ago|reply
I'd concur on that last part, for sure. As a Linux user, the fit and finish of MacOS really doesn't appeal to me. The hardware, on the other hand...
[+] pjmlp|3 years ago|reply
How is this going to have a better future than GNUStep, while being up to date with macOS frameworks?
[+] spidey1|3 years ago|reply
How does this compare to Hello System? [1]

[1] https://hellosystem.github.io/docs/

[+] Diris|3 years ago|reply
From the FAQ[0]

----------------

helloSystem: We have been in fact working with helloSystem! As some people have noticed, Release 0.2.X was basically helloSystem. (That was the second PoC. The first had been built on vanilla FreeBSD and had no GUI at all.) Under the hood, however, release 0.2.2 has a partial implementation of Cocoa, a modified compiler & linker that support frameworks, and several other additions that make it distinct. We have similar philosophies, and share technology and cooperate where it makes sense (e.g. Filer), but the project goals are quite different.

helloSystem wants to create a computer that is simple to use, open, elegant, small and fast. Older Mac OS X and Classic are an inspiration to what that might look like, but they are not explicitly trying to create an open-source Mac. In fact, they're mostly avoiding Objective-C and XML plists and other Mac technology in favor of simpler and/or more modern ways (e.g. Qt, C++, JSON).

ravynOS is explicitly trying to be compatible with Mac software at a source and eventually a binary level, without losing support for FreeBSD/X11 software, and to implement a very similar experience on the desktop and at the command line. For example, on ravynOS you can type open -a MyApp image.jpg and have image.jpg open in MyApp. You will find things in (mostly) the same directories as a Mac, like ~/Library or /System/Library/Fonts. This project is not as concerned about keeping the OS as small and simple as possible, and more concerned about making it clean, secure, performant, and compatible - implementing many of the features I use daily in macOS while skipping the lock-in and "tabletization" of the computer.

Some of the more technical differences between ravynOS and hello are:

- ravynOS uses a patched kernel with support for Mach, just like xnu, and a compiler suite that supports Frameworks and has preliminary support for Mach-O as well as

- ravynOS has a package repo with software built to "standard" paths like /System, /etc, and /usr instead of the FreeBSD repos which are built into /usr/local

- ravynOS desktop is being written from scratch with Cocoa, Mach, and OpenGL on a Wayland compositor, where hello's desktop is based on openbox, Menu and Filer (originally from LXQt) plus other lightweight services for notifications (dunst), screen color temperature (redshift) etc

- helloSystem uses a simplified .app structure whereas ravynOS uses real Bundles for .app

- helloSystem tends to use typical Unix paths and files, while ravynOS is moving towards typical Mac paths and files

- ravynOS tries to provide the same APIs as macOS

[0] https://ravynos.com/faq.html

[+] aldrich|3 years ago|reply
I'm curious to know why they have chosen to use FreeBSD as a base as opposed to Darwin/XNU on which macOS itself is based.

Nothing against FreeBSD (happy user here) so there's probably some good reasoning behind this.

[+] jamil7|3 years ago|reply
From the FAQ:

The short answer is "hardware support". ravynOS should run on most commodity x86_64 hardware using FreeBSD's very stable and performant drivers.

The longer answer is that plus I don't see any real advantage to using xnu. We have merged in Mach support now (big thanks to NetBSD, NextBSD and the iX Systems folks for that) so the xnu approach just seems to add complexity and the effort of writing and maintaining drivers.

Considering how big this project is already, I opted to stick with the BSD kernel - at least for now

[+] gattilorenz|3 years ago|reply
Probably because Darwin is half abandoned, while FreeBSD is actively maintained and with plenty of drivers
[+] fithisux|3 years ago|reply
Possibly driver support. But I would feel better if at some point they co-operate with PureDarwin to run on real XNU.
[+] Sakos|3 years ago|reply
I don't know why the mobile version crawls when I scroll past the images on my high-end Samsung.
[+] Kayou|3 years ago|reply
Same on MacOS and Firefox with a 4K screen ans same on Firefox and a Pixel 6, scrolling lags hard on the section with pictures. Making a bad first impression of this new OS.
[+] mattnewton|3 years ago|reply
There is a subtle translucency effect applied to the top bar that picks up and scatters the large svg’s behind it. I haven’t seen how it’s implemented, but it might not be performant on all web engines.
[+] seabrookmx|3 years ago|reply
Same with my Pixel 5 and FF mobile.
[+] ineedtosleep|3 years ago|reply
The images are svgs. Probably heavy processing from that.
[+] stakkur|3 years ago|reply
The challenge of course will always be hardware—notice the evolution of Asahi Linux on Apple hardware and how difficult it is. Then, throw in the device driver hellscape (wifi cards, drives, sound, video, etc.)

This OS sounds like a dream for me, but I have to imagine it will take many years and a lot of willing experimenters to make it usable. I wish I had that kind of time.

[+] oleganza|3 years ago|reply
I don't get it. The landing page promises finesse and then the very first screenshot displays horror typography and UI a-la linux 1998.

https://ravynos.com/images/airyx_0.3_installer_confirm.png

[+] netr0ute|3 years ago|reply
The website didn't actually claim they had implemented those features yet, just that it's their goals.
[+] pramsky|3 years ago|reply
Those are screenshots from the old GUI which used X11/KDE. They are working on a new one which do not have any screenshots up yet.
[+] amrox|3 years ago|reply
For the page:

> You will need real hardware to run it.

Why doesn't it work in a VM?

[+] kkielhofner|3 years ago|reply
It is strange. Just downloaded and tried to boot in a KVM+Qemu VM targeting FreeBSD 13 (virsh). Booted but kernel hung with an obscure launchd dispatching job message. I haven't used FreeBSD consistently since the 4.x days so I have no idea what this means.

Looks interesting enough to play around with but for such an ambitious project VM support should be one of the first dev priorities not only for dev and testing but for users wanting to take it for a spin.

[+] tailspin2019|3 years ago|reply
I’m going to do some good old Hacker News bike-shedding here…

Whenever I see something that looks like a poor copy of something else, it has an immediate (negative) effect on me from quite deep down.

It’s a variation of the uncanny valley I think.

The UI screenshots on the landing page all look like “best effort” copies of macOS UI elements but are just slightly off and that “slightly off” feeling really sits badly with me. This is not a intellectual judgement but an instinctive gut reaction.

I totally get what they’re trying to do, but I think it would be worth creating just a tiny bit more distance from the macOS design language because if you try to be a direct carbon copy of macOS, it’s just going to fail at at that.

It’s a bit like when you see cheap knock-off products replicating those of mainstream brands. The knock-offs could actually be quite well made but because they’re imitating other products they just don’t ever look right, and the failed imitation aspect overshadows everything else.

I wonder what others think (especially the macOS users amongst us).

Aside from that, I think the idea of the project is cool. It just needs more of its own identity I think.

[+] GoOnThenDoTell|3 years ago|reply
> built with our core technologies of Cocoa, Qt, and Mach

Does this mean a mach emulation layer on top of or in the freebsd kernel?

[+] dmix|3 years ago|reply
> ravynOS uses a patched kernel with support for Mach, just like xnu, and a compiler suite that supports Frameworks and has preliminary support for Mach-O
[+] nu11ptr|3 years ago|reply
I like the honest, modest, realistic goals of this project. Looks interesting.
[+] fourstepper|3 years ago|reply
Hi, I just wanted to let you know that the ravynos.com's top part of the page performs very poorly under Firefox, most likely due to some animation overload. Was firefox considered in the tests?
[+] bogwog|3 years ago|reply
It's due to the use of the blur backdrop-filter which seems to have been enabled by default on release builds of Firefox relatively recently.

Interestingly, it's a feature introduced to CSS way back in 2015. There must have been some major blockers on getting that out the door if it took ~7 years.