GNOME
Desktop environment major version incompatibility (GNOME 2 to 3)
6GNOME 2 was completely incompatible with GNOME 3, breaking all installed addons and presenting a completely different UI, creating a disruptive upgrade experience.
Desktop environment version stagnation and lack of updates
6Some Linux distributions ship with outdated desktop environments (like very old GNOME versions) and fail to provide timely updates. Using unacceptable base versions (e.g., 22.4 in 2025) creates a poor user experience and limits access to modern features.
Limited language support for desktop environment development
6Desktop environment frameworks restrict language choices: KDE requires C++ and Qt, GNOME favors JavaScript, with Rust largely unsupported and minimal learning resources. Developers using Kotlin, Swift, Java, or Objective-C are unable to contribute.
Desktop environment degradation and poor UI/UX on Linux
5Major Linux desktop environments (Unity, GNOME 3, KDE 4/5) have either declined in quality or become overly heavyweight. UI antipatterns are common, and the overall desktop experience has worsened in recent years.
Poor UI functionality and lack of working metadata indexing compared to competitors
4Ubuntu's base system UI lacks functional features that competitors offer. Metadata indexing solutions (Beagle, Tracker) are either slow resource hogs or broken and not properly integrated with the system, leaving Ubuntu without competitive UI functionality.
GNOME keyring breaks SSH agent functionality
4GNOME keyring daemon automatically runs and breaks SSH agent, requiring developers to create wrapper scripts to disable its SSH component as a workaround.
Inconsistent UI toolkit theming across GNOME applications
3Not all GUI applications respect system themes consistently, and there is no single GUI toolkit that properly inherits system theming without appearing like a 'cheap hack'. This creates a visually inconsistent user experience.