Pop!_OS (Linux)
Pop!_OS is an operating system developed by System76 for STEM and creative professionals who use their computer as a tool to discover and create. Unleash your potential on secure, reliable open source software. Based on your exceptional curiosity, we sense you have a lot of it.
Whether this is your first experience with Linux, or your latest adventure, all are welcome to discuss and ask questions about Pop!_OS and COSMIC. Keep the discussions friendly though, and remember to assume good intentions whenever you reply. We're all here because we have a shared love for Linux and open source software.
Support us by buying System76 hardware for you or your company! Or by donating on the Pop!_OS website through the "Support Pop" button. Pop!_OS and COSMIC are fully funded by System76 hardware sales. All systems are assembled in the USA. With your support, we'll work to push the Linux desktop forward with COSMIC.
Links
Guides
Hardware
Recommended
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- programming.dev
- fosstodon.org (Mastodon)
- [email protected]
Community Rules
Follow the Code of Conduct
All posts on pop_os must adhere to the Pop!_OS community Code of Conduct. https://github.com/pop-os/code-of-conduct
Be helpful
Posts to pop_os must be helpful. When responding to a user asking for help, do not provide tongue-in-cheek responses like "RTM" or links to LMGTFY. Linking to direct sources that answer the asker's question is fine, but it's advised to provide some explanation as to how you got to that source.
Critique should be constructive
We within the Pop!_OS community welcome helpful criticism or ideas on ways to improve. However, basic "It's bad" or other simple negative comments don't help anyone fix anything. When voicing a complaint about something, try to point out ways the complaint could be improved or worked around, so that we can make a better product for it.
This rule applies to both Pop!_OS and its projects as well as other products available from third-parties.
Don't post malicious "advice"
It can be funny to joke about malicious commands, however this is not the venue for it. Do not advise users to run commands which will lock up their systems, steal their data, or erase their drive. Examples of this include (but are not limited to) fork bombs, rm, etc.
Posts violating this rule will be removed, even if the post is clearly in jest. Repeated offences may lead to a ban. You may understand that the command isn't serious, but a new user might not.
No personal attacks
Posts making a personal attack on any user will not be tolerated.
No hate speech
Hate speech of any kind will not be tolerated. Any violations will be removed, and are grounds for a ban.
view the rest of the comments
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?
Gnome upstream is notoriously hard to work with and will insult it's users and make up bogus reasons to reject perfectly good feature requests and bugreports.
Gnome is slow as balls. On low end hardware gnome bloody chugs compared to KDE let alone the "light weight" DEs.
Gnome is insanely slow to implement many features.
Gnome is hostile to working with upstream wayland protocols like window decore.
S76 want's their desktop to look and work a certain way, and making gnome look/work like that is difficult especially when upstream is not prepared to play ball.
Gnome devs have insulted S76 devs in public forums, have complained about S76 not funding gnome's A11y efforts despite S76 donating quite a lot to gnome over the course of 5 years, $100'000 https://old.reddit.com/r/linux/comments/xwtns5/does_it_seem_like_gnome_wants_system_76s_cosmic/ira4e8o/
Personally, not needing to deal with gnome developers alone is a feature. Rust is just a tool which makes developing your own DE, compositor included, very easy.
I would agree with those devs, and I'm not even one of them.
Again, to correct you, Rust is a language, not a tool.
I've had issues where the tiled windows go all over the place before/after connecting to external monitors in GNOME Pop shell. I can't speak for the entire Cosmic project, but as an end user who wants an established DE with native tiling windows that always work as intended, I consider the project justified
That's a bug. Report it. That's not a reason to do a complete rewrite of something.
You also mention tiling, which is not the DE, it's the window manager. Easily solved.
Neither of these issues is cause for a complete rewrite.
S76 already stated that maintaining the tiling extension for gnome was more effort then it was worth
Right. So a full rewrite of an environment makes sense. Because tiling. Not like you can't just install a tiling manager that does it better...🙄
yes, because the rest of gnome is trash too
As a WM user myself, it's a big hassle to choose system utilities, and to manually write config or environment variables to have programs understand I'm using a custom DE and just behave like it's GNOME, KDE or XFCE.
On the other hand, mainstream DE don't natively support tiling. There are extensions or plugins do that, but there are a lot of problems with that. To name a few, 1) like said, they are sometimes bugged in edge cases; 2) I could report the bug, but it takes time to fix it, during which I have to disable the plugin; 3) when the extension devs abandon the project, I have to move on with a new one, which often behaves differently; 4) when the extension or the newest version of the extension requires newer dependencies, but I can't install them because I don't want to shake the whole dependency tree for my system
All aforementioned problems can be resolved with a DE that natively supports tiling, and as of now Cosmic is the first that does it in history, letting alone supporting Wayland as well. From that perspective, the project is not "just a rewrite of what's existing already"
So it's Gnome with a built-in tiling manager? I'm not getting your justification.
I'm sure it's not, but even if it is, I'm happy for the project because it fits one of my needs in the Linux space. To other people like the Rust lovers, it's another ambitious project that uses their favorite technology. It might not sound or look so appealing to you, but at the end of the day, it's a project that has good motivation and does deliver so far, which is the backstory behind many scientific and technological advances. As someone who is not the developer, nor the employer at System76 who pays the developers, so why not just sit back and see how it ends up, as opposed to being super critical about it?
It doesn't have a purpose, is my point. I just want someone to tell me the WHY of the project, and nobody seems to be able to.
It does have a purpose. It's written all over the place. It just happens that all of the purposes don't fit your needs or interest you, so it sounds like a waste of effort. To many others, it's not
I'm not seeing what the differentiation is between this and Gnome, and even you are not giving that. Tiling is solved elsewhere.
If you can't see the difference, it's because you're not even looking.
There's already been explanations in every thread on COSMIC for the last 2 years. Along with a dozen interviews and conference talks. Why are you demanding answers here?
It can't be fixed without forking and rewriting a lot of gnome-shell's internal logic.
Also, COSMIC is not a rewrite of GNOME. Not even close. It is a completely different architecture, toolkit, language, and design system.
See the Ubuntu Summit 2024 talk: https://www.youtube.com/watch?v=bwrBKccfYws
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.
It's way more configurable/flexible than the very rigid GNOME while still being less complex than Plasma, so it falls in a sweet spot between those two extremes.
https://www.youtube.com/watch?v=EBefrrM4pis
Answer from system76