April Tools: Hammering out new COSMIC Features

COSMIC: Alpha Countdown header with a galaxy swirl in the background.

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.

A custom COSMIC theme is dynamically applied to GTK3 and GTK4 applications.
A custom COSMIC theme is dynamically applied to GTK3 and GTK4 applications.

Custom icon themes have also been implemented, which will apply both to COSMIC and GTK applications.

The COSMIC icon theme was changed to Humanity, as evidenced by the orange icons in COSMIC Files. This is also applied to GTK applications.
The COSMIC icon theme was changed to Humanity, as evidenced by the orange icons in COSMIC Files. This is also applied to 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.

A list of applications with updates available, seen in the new COSMIC App Store. This Updates page can be selected in the sidebar.
A list of applications with updates available, seen in the new COSMIC App Store. This Updates page can be selected in the sidebar.
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.

Keyboard input sources are being searched, with Polish keyboard options being displayed when searching “Pol”.
Keyboard input sources are being searched, with Polish keyboard options being displayed when searching “Pol”.
Context drawers now display selections for the alternate characters and compose keys. Here, Caps Lock is selected as the alternate character key.
Context drawers now display selections for the alternate characters and compose keys. Here, Caps Lock is selected as the alternate character key.

The system’s device name is now editable in the About settings page, using a new editable text input widget in libcosmic.

The device name on this system was changed to “Pop-Dev-One.”
The device name on this system was changed to “Pop-Dev-One.”

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.

This user clicked the Firefox icon in their dock, which triggered previews to appear of their 3 open windows. These previews include a thumbnail image and brief title for each open window.
This user clicked the Firefox icon in their dock, which triggered previews to appear of their 3 open windows. These previews include a thumbnail image and brief title for each open window.
When a window is dragged to the edge of the screen, a hint will indicate how the window will be drawn after releasing the mouse.
When a window is dragged to the edge of the screen, a hint will indicate how the window will be drawn after releasing the mouse.
In this case, the window was dragged to the right edge, and was then laid out in a vertical half-tile arranged in the right half of the screen.
In this case, the window was dragged to the right edge, and was then laid out in a vertical half-tile arranged in the right half of the screen.

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.

A shopping list is displayed in a checklist layout in the COSMIC Tasks app.
A shopping list is displayed in a checklist layout in the COSMIC Tasks app.

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.

Pop!_OS COSMIC was tested against Pop!_OS 22.04 LTS, on the System76 Thelio with AMD Radeon 6600 XT, as well as the System76 Thelio Spark with NVIDIA 3060 Ti graphics. In Cyberpunk 2077, the two scored within <1 FPS of the other  on both desktops.
Pop!_OS COSMIC was tested against Pop!_OS 22.04 LTS, on the System76 Thelio with AMD Radeon 6600 XT, as well as the System76 Thelio Spark with NVIDIA 3060 Ti graphics. In Cyberpunk 2077, the two scored within <1 FPS of the other on both desktops.

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