Technologies

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 3 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.

UDisks2

Storage device management.

UPower

Power device discovery and management.

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.