Exploring System76's New Rust Based Desktop Environment

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • iced

    A cross-platform GUI library for Rust, inspired by Elm

    Can you clarify what you mean by "these projects never do"? Your comment comes across as dismissive. Especially since I already noted that it was lacking a11y in my original comment.

    Anyway although a11y and i18n support have not been implemented, they are planned.

    https://github.com/iced-rs/iced/issues/250

  • cosmic-comp

    Compositor for the COSMIC desktop environment

    Yet it also seems to be using an "x11 backend" (only) for now... not sure what to make of this. Potentially it's just too early to expect the code to be entirely coherent around one design.

    https://github.com/pop-os/cosmic-comp/blob/main/src/backend/...

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • gtk-rs

    Provides Rust bindings for GTK libraries

    There are also some macros to provide an easy and safe interface to the GLib type system.

    All of this directly applies to gtk-rs.

    Overall, the bindings are well documented and with many examples. There's even a book. Also, there's a great community around them.

    Bindings website: https://gtk-rs.org/

  • sciter

    Sciter: the Embeddable HTML/CSS/JS engine for modern UI development

    Then they would need to either

    1) do the yak-shaving and create a whole new GUI stack in Rust (which would be an absolute boon to the Rust community but will be a tremendous effort), or

    2) switch to Qt (and basically become KDE)

    Thinking about it, maybe Sciter (https://sciter.com/) would be an okay foundation to build a DE in (lightweight stack, flexible theming, solid Rust bindings). But then it isn’t open source (only the interface is, you need to pay for source access), so maybe not.

  • termite

    Termite is obsoleted by Alacritty. Termite was a keyboard-centric VTE-based terminal, aimed at use within a window manager with tiling and/or tabbing support.

    History and experience tells a different story [1]. Never trust a library that is maintained by GNOME.

    1.: https://github.com/thestinger/termite

  • hidpi-daemon

    Daemon to manage HiDPI and LoDPI monitors on X

    > System76 with Pop_OS! has an opportunity to tackle topics head on like "we can make fractional scaling work somewhat decently across all apps" (IIUC currently requires shipping a forked XWayland, unfortunately)

    I'm excited to see System76's implementation of fractional scaling in this new desktop environment. Since they have actually sold laptops with 1080p and sometimes 4K displays, they have a real incentive to get this feature working smoothly on Wayland.

    System76 previously developed a HiDPI daemon for X11 to be used with GNOME Shell:

    - Blog post: https://blog.system76.com/post/174414833678/all-about-the-hi...

    - Help page: https://support.system76.com/articles/hidpi-multi-monitor/

    - Source: https://github.com/pop-os/hidpi-daemon

    It handles multiple scaling factors, including fractional ones, flawlessly across displays.

    If the next version of COSMIC supports fractional scaling on Wayland as well as this daemon does on X11, this alone would make the entire project will be worth it. GNOME Shell still hides fine-grained fractional scaling behind an experimental flag for both X11 and Wayland, with X11 needing a patch for Mutter.

  • nvidia-docker

    Packaging for https://github.com/NVIDIA/nvidia-docker (by pop-os)

    You mean the one that was forked 12 days ago?

    https://github.com/pop-os/nvidia-docker/commit/aa9fbcff6e6e5...

    This changes nothing about my story and the naivety of the Pop OS developers thinking it could be replaced with their bespoke custom tooling. nvidia-container-toolkit was only merged with nvidia-docker in December. Previous versions were separate.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • pop

    A project for managing all Pop!_OS sources (by pop-os)

    I am actually participating in a thread right now where contributors are happily trying to solve this issue. Their devs are very helpful if you reach out.

    https://github.com/pop-os/pop/issues/1708

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts