A Complete Solution
GNOME’s technologies have been used to build a range of highly successful consumer products. They can be adopted as a fully-featured software stack, or on a pick and choose basis. Whichever option is taken, their continuous development as a part of GNOME 40 means that they are actively maintained, continuously tested, and are always evolving in response to real-world user-driven demands.
If you are interested in adopting any of these technologies, or would like to support their ongoing development, the GNOME Foundation can assist you.
Our Technologies
The majority of GNOME’s technologies originated in and are actively developed by GNOME. Others are hosted elsewhere, with GNOME community members being active contributors. This willingness to work beyond community borders and actively shape an entire stack is one of the hallmarks of the GNOME project.
Linux Kernel
GNOME technologies are highly compatible with the Linux kernel. GNOME project members are active kernel contributors, and we are helping to shape the future of this important project.
systemd
GNOME has a close relationship with systemd. A number of systemd features originated in the GNOME project, and ongoing collaborations ensure effective integration with this core technology.
GLib
Core object system used in GNOME, which provides a large set of utility functions.
D-Bus
The message bus system: a simple way for applications to talk to one another. D-Bus also helps coordinate process lifecycle.
OSTree
Continuous operating system integration and testing, and next-generation operating system installation, distribution and update framework.
Flatpak
Next-generation application distribution and installation technology. Allows the creation of sandboxed, cross-platform applications.
X11 and Wayland
GNOME has been a prominent user and contributor to the primary Linux display servers, and we are at the forefront of Wayland adoption.
ATK
Core accessibility framework, which provides interfaces for assistive technologies.
GTK
GNOME’s graphical user interface toolkit, which allows the creation of modern, dynamic interfaces. Features include CSS styling, live introspection, OpenGL, multitouch, and accessibility support.
GNOME Shell
System user interface for launching and switching applications, viewing notifications and system status. Closely integrated with Mutter, GNOME’s window manager.
Storage, Data, and File Access
dconf and GSettings
Settings storage framework, optimized for fast read speeds.
Tracker
System-wide search engine, search tool and metadata storage system.
GIO
Virtual file system (VFS), with APIs for accessing and manipulating files. Allows access through Samba (Windows), AppleTalk (MacOS X), and a
number of mobile devices (MTP for Android, iOS).
Multimedia
PulseAudio
Sound system with advanced capabilities such as transferring audio between machines, changing the sample format or channel count and mixing several sounds into one. Also supports Bluetooth headsets and speakers.
GStreamer
Multimedia framework for audio and video playback, recording, streaming and editing. GStreamer is capable of hardware-accelerated video decoding.
Grilo
Plugin-based media discovery framework, with support for YouTube, Jamendo, Flickr, Vimeo, Apple trailers, Podcasts, UPnP/DLNA and Last.FM album art.
Networking, Web, and Connectivity
NetworkManager
Core networking technology, with support for Wi-Fi, wired, 3G and Bluetooth, as well as bonds and bridges. Mobile broadband support is provided by ModemManager.
Libsoup
HTTP client/server library, with asynchronous and synchronous APIs and SSL support.
WebKitGTK+
A full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers.
UPnP
GNOME’s Universal Plug and Play (UPnP) solution allows audio, video and pictures to be shared with other devices. Can also be used as a media renderer that may be controlled remotely by a UPnP or DLNA Controller.
Avahi
mDNS/DNS-SD protocol suite that allows service discovery on a local network. Supports chat, printer discovery, printing and file sharing, and is compatible with technology found in Apple’s OS X.
BlueZ
The official Linux Bluetooth stack.
Contacts, Calendaring, and Communication
Telepathy
Flexible and modular real-time communications framework.
Evolution Data Server
System address book and calendar system.
Folks
Contact aggregation service, which combines contacts from multiple sources.
GeoClue
Location services for applications, based on Wi-Fi access points, GPS, 3G modems and GeoIP.
Development Technologies
Gjs
Gjs allows software and applications using the GNOME stack to be written in JavaScript. It is based on Mozilla’s Spidermonkey JavaScript engine.
Vala
Vala is a programming language with a syntax that is similar to C#. It allows access to existing C libraries, particularly those from the GNOME stack.
Other
CUPS
Local and network printing service.
GNOME Keyring
Password, key and certificate storage.
GDM
GNOME’s display manager: manages graphical display servers and user login.