April Tools: Hammering out new COSMIC Features
We’re eager and excited for the approaching release of COSMIC, the new Rust-based desktop environment for Pop!_OS and other distros. So let’s skip the intro and get straight into the updates, yeah?
Updates to Pop!_OS 22.04 LTS
While Pop!_OS technically follows Ubuntu’s release cycle, we keep the core technologies updated on a semi-rolling release basis. This month, the official release of Pop!_OS has been updated with version 6.8.0 of the Linux kernel, which includes driver support for Intel Xe and Intel Arc graphics, as well as drivers for a future AMD Zen 5 chipset and additional networking optimizations.
As a result, systems like the new Lemur Pro running Pop!_OS now support Intel’s new line of Core Ultra Series processors. Meanwhile, Phoronix benchmark testing on the Thelio Major with AMD Ryzen Treadripper 7980X revealed a significant performance boost over the 6.6.6 kernel.
Kernel 6.8.2 is currently in testing along with Mesa 24.0.3, and both will be released when ready! The new Mesa driver implements new Vulkan and OpenGL APIs, keeping Pop!_OS current with the best Linux gaming experiences available.
Updates to the COSMIC Pre-Alpha
Theming
Theming support has been added for apps built with GTK (both GTK 3 & GTK 4), as well as apps packaged in flatpak. Custom themes will be applied to GTK applications if the global theme option is enabled by the user, which can be turned on in the Appearance settings.
Custom icon themes have also been implemented, which will apply both to COSMIC and GTK applications.
Labeling has also been implemented for cycling between Light Mode and Dark Mode based on the time of day.
New COSMIC App Store
We’re building a new app store for COSMIC. Keeping with designs for COSMIC apps, the COSMIC App Store features a sidebar for exploring featured applications, browsing applications by category, managing installed apps, and performing updates.
Simplified Window Movement
Dragging your cursor to a window’s title bar to move it takes an unneeded level of precision. To maintain focus — as well as comfort on trackpads — simply clicking any region of a window while holding Super will allow dragging it to your preferred location and quickly get back to your important task.
COSMIC Settings
The Keyboard settings page has been implemented! This enables adding and reordering the session’s keyboard input sources, such as language-specific layouts, regional layouts, or alternative layouts like DVORAK. Furthermore, inputting special characters is also supported via an alternate character key (ex. Left Alt + C to type “ć”) or compose key (ex. Right Alt, then S to type “ś”. Keyboard shortcuts are currently in progress.
The system’s device name is now editable in the About settings page, using a new editable text input widget in libcosmic.
Meanwhile, the ability to reset Dock and Panel Settings to default has also been added.
Power State Alerts
Sounds and notifications have been added for low battery, critically low battery, and plugging/unplugging the charger.
On-Screen Displays
OSD implementations for adjustments to brightness, volume, and airplane mode are now complete!
COSMIC Apps
Implementation is still underway for COSMIC Edit, Terminal, and Files. These apps allow us to test the COSMIC development experience, add libcosmic widgets, and fine-tune the design system.
Third Party Contributions
The COSMIC community has been kicking space-themed tuchus with their work! Ryanabx
worked on touchpad gestures for switching workspaces, thumbnail previews for open windows in the dock, as well as quick-snap window maximizing and tiling when you drag a window to the outer edge of the screen. This includes half-tiles and quarter-tiles.
Meanwhile, Edfloreshz created a COSMIC Tasks app for creating to-do lists and tracking progress. This project allowed us to make some vital additions to the libcosmic widget library, and we provided some contributions of our own. The author has created a website for it here.
Edfloreshz has also created an ongoing list of third party COSMIC projects in the works, including a clipboard manager and fan-control GUI by wiiznokes. Not yet added to this list is this emoji selector built by leb-kuchen.
Compositor Updates
- The compositor (cosmic-comp) saw a number of fixes to Xwayland.
- NVIDIA fixes with the addition of the new linux-drm-syncobj-v1 Wayland protocol, to be applied with the next NVIDIA 555 driver.
- More reliable screen capture with the implementation of cosmic-screencopy-v2 (also removes obstacles from cosmic-workspaces development)
- Support added for keyboard LEDs, such as a Caps Lock indicator
- Touchscreen improvements
- Drag and resize windows with touch
Additional Fixes & Improvements
- COSMIC applets are now compiled as a multicall binary, which increased performance and reduced disk usage by 115 MB
- Drag & drop support was implemented in iced, libcosmic, and COSMIC Files
- Middle-clicking an application in the app list opens a new window
Preliminary performance comparisons
Though there’s plenty of optimization left to be done, we wanted to see how the Pop!_OS COSMIC pre-alpha compared to Pop!_OS 22.04 LTS. So far, benchmark tests in Unigine Superposition and Cyberpunk 2077 with both AMD and NVIDIA graphics has seen a within 1% FPS difference between the two sessions.
COSMIC at LFNW
A reminder that System76 CEO Carl Richell and UX Architect Maria Komarova will be at LinuxFest Northwest this year to showcase COSMIC DE. Hosted at Bellingham Technical College in Washington state, the conference features exhibits and events featuring organizations across Linux, open source, InfoSec, and privacy.
The talk takes place on Saturday, April 27th at 11a.m. PDT. We’ll see you there!
Like what you see?
Share on Social Media