Basically title, with System76 moving from gnome to their new rust built COSMIC environment what are your thoughts?
I’m incredibly interested in COSMIC DE! For multiple different reasons, actually.
- Rust - I’m very interested to see how performant/memory-efficient this DE will be compared with other DEs. Also, I wonder how the Iced toolkit will evolve and be adopted in other projects.
- Benefits over GNOME - I’m looking forward to seeing how much out-of-box customizability and features come with COSMIC over GNOME (which I’m currently using).
- Maintainability going forward - Since the DE basically started from scratch and is using a much better language for robust software, I wonder how much easier and faster it would be to maintain the desktop environment. This potential improved maintainability could be huge in overtaking over DEs sometime soon.
I agree completely. I’m also thrilled for the HDR support in it.
How is rust more memory efficient than c or c++?
It’s not, perhaps they meant memory-safe?
The DE might be more memory efficient given the hindsight and freedom a fresh slate brings, but not strictly due to rust.
There’s several things that make Rust more ideal for writing software that makes efficient use of resources than C or C++.
One of these is how cumbersome it is to use tagged unions in C/C++. They’re integrated as a first class citizen in Rust in the form of enums, and both the standard library and all Rust projects as a whole utilize them extensively. An example would be the
Cow<'a, T>
type. The compiler also has some clever tricks like zero-sized types which can reduce the size of types which contain them.On the surface, the borrowing and ownership model is useful for guaranteeing memory safety. Yet if you take that a step further, it’s the perfect tool for finely optimizing resource usage with confidence. In comparison, defensive programming practices are the norm in C and C++ because resource management is risky. So applications written in Rust are more likely to be better optimized.
And the GNOME project doesn’t just use C/C++ right? It uses Javascript for developing all sorts of components and Python for scripting/misc utilties. That’s what I meant by more memory-efficient.
Hey, do you have plans to open any communities into Lemmy?
We created https://kbin.social/m/pop_os I haven’t been able to contact the owner of https://lemmy.ml/c/pop_os
If the author of the community isn’t responding, I believe you can pop a request over at https://lemmy.ml/c/community_requests to have it transferred to you.
I welcome new and innovative DEs. I am tired of how some organizations handle things. I must however, acknowledge that with every additional major DE comes further fragmentation. COSMIC seems to really care and for that reason I am rooting for them. The negative effects, however, are always in the back of my mind.
Yeah same. I like the idea, the concept, and from their blog posts the execution. I just wonder if we will see an app community around rust/iced/slint or if we will be using other apps from other toolkits. (Which isn’t a bad thing, but an ecosystem is good)
I don’t think DE really causes too much fragmentation.
Maybe I’m wrong, but I’ve never had something not run due to using cinnamon over kde.
Now, with flatpaks becoming more popular, programs should look the same across DEs. I know the design language will be different, but that’s basically how it is on Mac and windows already.
My perspective on fragmentation comes from that of a developer. It’s good that you’ve never had something not run due to DE choice, because we work hard to make sure that you can. It’s just hard to test all the different combinations and make sure they all work.
Thanks for the insight. I didn’t consider that.
I’m looking forward to it.
On the technical side, they are using pure Rust to build the DE, and the Rust GUI ecosystem has been greatly improved by their hard work. If their product turns out to be successful, Iced may eventually become “the Qt of Rust”.
As a user I like their design shown in current demos, and a Wayland-first DE with first class nvidia support is really needed.
A new toolkit that’s a genuine competitor of Qt would be nice indeed.
NVIDIA graphics is already well supported by cosmic-comp for those that want to give it a go on Pop!_OS. I’m typing from a laptop with NVIDIA hybrid graphics in the discrete graphics mode. Hybrid and integrated graphics modes are also working well. In addition to the iced library, slint is already a decent alternative to QML.
System76 is doing huge leaps for Linux as a whole. They already offer the best bios on the market. I am keenly looking to buy their upcoming Virgo laptop when it’s ready.
I think it has potential, and more choice isn’t a bad thing. It will be interesting to see how it goes up against the more established DE’s once is has launched.
Skeptical. Writing a graphical UI toolkit is a freight train of work. I’m positively curious about anything that’s not GTK but I’m not sure going with a new toolkit is the right decision. Qt is the mature kid on the block that’s been proven in more environments than I can count. Moreover it’s a complete application framework with a ton of convenience libraries needed for speedy development already included. I guess those can be supplanted in the form of separate Rust libs. Personally I’d have gone with Qt for such a project but I’d be happy to be proven wrong.
This is coming from personal experience/opinion, but after trying to create a simple app in GTK4 Rust bindings I was so confused because of how alien the programming style was compared to typical Rust programming. After trying Iced it was much simpler and made so much more sense, no silly decorators or anything, you can define the view and the update loop separately, and interactions are handled by messages using pattern matching. The inheritance based OOP doesn’t work well with Rust, and Iced has none of it, because it was made for Rust specifically.
I’m guessing QT bindings are similarly in a different style of programming and can’t imagine that meshing well with native Rust code. Iced has a lot of merits to it and having the opportunity to both help it develop and use a native Rust framework in a Rust project makes a lot of sense.
I’m really in support of everything that System76 is doing. Outside of Framework I think they’re one of the more interesting enthusiast projects. I think what makes me particularly excited for Cosmic is that it will be under the GPL3 license, and that it will use GTK.
Likewise! Funny enough, my daily driver is a Framework laptop with Pop!_OS.
Me too, it’s a great combo with a few tweaks (for fingerprint support and power)!
It will not be using GTK for first party applets and applications. COSMIC is being built with libcosmic, which is a cosmic-themed widget library built on top of iced. The design team also has a collaboration with Slint so that Slint can be used to make applications with the same look and feel as libcosmic.
At first I was excited, not because of the desktop environment itself, but rather because of the headache pain points in gnome and KDE that it sought to fix. Things like fractional scaling and native HDR support as well as being built around Wayland all played to cosmics benefit. Unfortunately for cosmic, however, KDE has really improved quite drastically this past year and fixed pretty much every pain point I had with it. They seem to be shaping up to blow cosmic out of the water before it even arrives with plasma six. Gnome is doing gnome and by that I mean they fucked off and are doing their own stupid thing. I hope cosmic does well, but it would have to be the third coming of Jesus Christ to get me to switch again
I’m excited to see it, not to use it. I’m much happier with GNOME or Sway on Fedora. Unless they provide a way to use it on other distros (which I don’t see happening, since they have no reason to), I don’t plan on trying it. However, I am excited to see the Rust GUI situation improve by them using it!
I don’t see why it wouldn’t be available to use on other distros. The current Cosmic Shell can be installed on any. Even if they don’t maintain the package for each distro, someone else will.
According to my experience a bunch of Rust programs should not be too hard to run on other distros. At least NixOS will have the option very quick after it’s release, I believe.
I wish that it could just be as easy as running a few Cargo commands. Though, I have not taken a look at how the project is made/programmed or anything. I wish it could be as simple as
- Install deps
cargo build
cargo install
(or similar command)
We use casey/just as a better makefile alternative. Shared system library dependencies will be listed in the
debian/rules
file, and most things should compile and install withjust && sudo just install
.That’s very nice to hear. So it’ll be easy to get up and running with Cosmic even if I’m on a different distribution?
It’s already packaged on multiple distributions, albeit in an unofficial capacity. If you are on Pop!_OS, you can install the
cosmic-session
package today, then enable Wayland in the gdm3 config. We have anapt-manage
tool which you can use to add development branches. A popdev branch is created for each branch on GitHub pushed by a team member. Which can be useful to quickly add a branch to validate a fix by a developer.
A couple of months ago our company decided to standardise on only one GNU/Linux distro and they chose PopOS. While the default desktop is better then stocj GNOME it was still far away to what I am used from the powerful, featureful and customizable KDE Plasma so after about two weeks I switched to KDE Plasma (unfortunately they have an extremely old version in their repos, but still much better).
I can only guess that Cosmic will be on pair to their current improved GNOME but will still be way lacking compared to what even an old KDE Plasma offers. And I would also much more like to see if they put more attention to keeping more updated KDE Plasma and KDE software packages in their repo. Even for Cosmic I think they would be much better of basing it on the extremely flexible and configurable KDE Plasma base and make it a heavy modification of this.
There is a community KDE spin in the works, with a more up to date plasma experience. https://fosstodon.org/@pop_os_kde_spin
What do you prefer on KDE? I’ve only tried once and found it felt messy and overcomplicated compared to COSMIC. Maybe that’s just the Mac user in me wanting fewer choices haha
Basically how much more features it has and you miss in any other desktop. Especially in macOS, which we were forced to use at old company, I struggled with missing stuff and utterly stupid window manager. Yeah KWin window manager is especially nice in KDE Plasma. But also how much it has this LEGO-bricks like way of creating the desktop itself. All the desktop is basically constructed from small widgets and small widget containers which can behave in a very different way. So widgets (Plasmoids) are not only an addon to add to the wallpaper, they actually build up the entire desktop. And by this you can really make the desktop behave very close to what every individual person wants. Sure there are some presets that can emulate Windows or GNOME or macOS desktop, but yeah you can reconstruct that and have it your way. The similar story is there also with the apps GNOME/GTK versions usually just are to limited in functionality as far as my taste goes and I end up missing way too many.
P.S. I remembered another thing. Despite having more features and all KDE Plasma is also performing faster and is using less resources on the computers. So just another thing I like more.
Nice, thanks!
I find it really fun to just customise everything
The only reason I use GNOME at all is the Pop Shell GNOME extension. They’re building that functionality into COSMIC, which is great. Long as the project doesn’t wither on the vine, I’m looking forward to taking it for a spin.
I feel mixed. The shift towards COSMIC DE got me off of POP_OS. I wanted the newer Gnome features, and that stopped being their focus. I don’t wanna wait 2-3 years for a great DE when I already know I like Gnome. I switched to Fedora and use Pop Shell, and am really happy with my OS now. I also felt like the public shade between Gnome devs and S76 devs was tacky. With that said, I bet Cosmic is going to be great eventually. It’ll be great to have DE in the ecosystem with a focus on performance, UI, customizability, and actually looking good. Even if I don’t use it, I bet it’ll push the other big DEs to get better. Friendly competition is good. Also, it’s ridiculous that you have to go with a WM to get tiling, and that it’s not easier to get in Gnome. Real glad Pop Shell is still available, but I don’t think anyone’s maintaining it so it can’t last.
Howdy, I’m the maintainer of the gnome-shell-extension-pop-shell Fedora package, which is likely how you installed it on Fedora since it’s not available from extensions.gnome.org. I’m glad you’re finding it useful.
The pop-shell upstream is still being maintained by System76 engineers. Development work has slowed down since they started working on COSMIC DE, but they’re still fixing bugs and reviewing/merging contributions. When COSMIC DE was announced I asked them how long they would keep maintaining their GNOME extensions, and they said at least until the end of life of the PopOS versions the extensions are shipped in. So pop-shell has still got some life left in it, even for a few years after COSMIC DE becomes their default in a new release.
Thank you so much for your efforts in packaging it for Fedora, and for the clarity on the status! I deeply appreciate it.
Eh, I’ve always went back to KDE in my years of distro hopping and stuff. I’ll probably play with it for a while and then just return to my status quo.
I love the looks so far, and all of their ideas with it appeal to me. I used Plasma for a while for its customization, but felt that even the best tiling extensions were lacking. If COSMIC follows through on the tiling features, it’ll be a no-brainer for me.
Super excited for it! System76 does a lot of amazing work for the community, and I love what they’ve shown so far. I daily drive Pop OS on a pang12 system76 laptop with a Launch keyboard (bit of a fanboy haha)