Gonna have to raise the age old question about this project, because myself and a lot of other developers are only seeing the one angle.
The question is: why?
What is this project solving that System76 is willing to pay multiple developers for? It’s almost pound-for-pound a recreation of GNOME, right down to the menu system.
Rust is not a features it’s a language. It also doesn’t solve any issues with Gnome that I’m aware of.
The biggest issue in the Gnome world I’m aware of is the lack of parity with Windows with regards to display capabilities, and possibly the plugin system causing issues.
So I’m still wondering…why??? What’s the best feature anyone can point out here? It’s not resources, in fact, this Alpha performs pretty poorly on its own vs Gnome. What’s the killer feature I’m missing?
See the Ubuntu Summit 2024 talk: https://www.youtube.com/watch?v=bwrBKccfYws
It’s not resources, in fact, this Alpha performs pretty poorly on its own vs Gnome
I haven’t seen any benchmark where GNOME was more performant than COSMIC. Despite alpha status, it is already much more responsive than GNOME.
GNOME uses a single thread to render all displays in a multi-display configuration. This is often so slow that they need to rely on double or even triple buffering when the frame rate lags behind the display’s refresh rate. Meanwhile in COSMIC, thanks to the thread safety features of Rust, it was easy to implement thread-per-display multi-threaded rendering. This means that each display is rendered and composited independently on their own respective threads.
GNOME’s compositor also has an entire JavaScript runtime bundled inside of it, which it uses for drawing interfaces and handling application logic for those interfaces. All within the same process as the compositor, slowing down its event loop. COSMIC instead keeps the compositor process very lean, with all desktop interfaces running in their own isolated processes outside of the compositor via wayland’s layer-shell protocol.