Software hosted on or related to freedesktop.org

The following is an incomplete list of some of the software projects that are, or were, hosted on freedesktop.org.

You can go to our GitLab instance to view and download the code, file bugs, and contribute code through merge requests.

freedesktop.org does not itself run these projects day to day: we provide hosting and infrastructure for the communities which themselves run the projects.

All projects hosted by us are available under open-source licenses under equitable terms to all parties. These projects do not require Contributor License Agreements which assign more rights to one party than another. They may require an assertion like the Developer's Certificate of Origin which is simply a more formal document to state that you are leally permitted to contribute under the project's license; you do not, however, need to assign anyone rights that you do not yourself receive to others' contributions.

Desktop middleware and frameworks

These projects provide foundational services to desktops.

  • AccountsService provides information about local users.
  • D-Bus is a message bus for inter-process and inter-service communication.
  • GeoClue provides geolocation information.
  • PolicyKit is a toolkit allowing unprivileged applications to configure and access privileged services and interfaces.
  • NetworkManager allows applications to discover, configure, and join both wired and wireless networks.
  • realmd allows clients to discover, authenticate with, and join networks such as Active Directory.
  • upower provides information about power devices, including battery and charging status.
  • Zeitgeist is a desktop event logging framework.

Desktop specifications and helpers

These specifications and their accompanying helper utilities define cross-desktop standards for interoperability.

  • desktop-file-utils contains command line utilities for working with desktop entries and .menu files
  • icon-theme contains the standard and also references the default icon theme called hicolor.
  • pyxdg is a python library to access freedesktop.org standards.
  • shared-mime-info is a package containing a large number of common MIME types, created by converting the existing KDE and GNOME databases to the new format and merging them together, and software for updating the database based on the share-mime-info specification.
  • startup-notification is a sample implementation of startup notification (telling the desktop environment when an app is done starting up).
  • xdg-utils is a set of command line utilities to simplify integration with a Free Desktop. It has simple functions for creating menus, opening files, setting mime types, and so on.
  • xdg-user-dirs is a tool to handle well known directories in the users homedir

Graphics drivers, window systems, and supporting libraries

These projects allow applications to render graphics on screen, including support for GPU acceleration.

  • Beignet is an OpenCL implementation for older Intel GPUs, now superseded by the NEO driver.
  • Cairo is a vector graphics library with cross-device output support.
  • DRM is the Linux kernel graphics subsystem, with development on the dri-devel list
  • drm_hwcomposer is a backend for Android's HWComposer running on DRM/KMS devices.
  • Mesa provides both hardware-accelerated and software implementations of the OpenGL, OpenGL ES, Vulkan, EGL, and GLX rendering APIs.
  • Monado is an implementation of the OpenXR API for virtual- and augmented-reality environments and devices.
  • Nouveau is a reverse-engineered driver for NVIDIA GPUs.
    • Piglit is a test suite for OpenGL and OpenGL ES implementations.
    • VirGL provides OpenGL and OpenGL ES acceleration to virtualised guests inside VMs.
  • Pixman is a low-level software-only 2D pixel manipulation and composition library.
  • Plymouth provides a splash screen and progress updates during early boot.
  • Wayland is a window system used by a variety of desktops.
  • X.Org is an implementation of the X Window System, known as X11.
    • XCB provides a low-level client library for the X11 protocol.
    • Xephyr is a nested X11 server, primarily used for testing.
    • xrestop is a 'top' like X Server resource usage monitor that uses the XRes extension.
    • xsettings allows configuration of settings
    • X Testing provides information on various software for testing X Servers and Clients.
    • xwininfo is a window information utility for developers of applications, toolkits, and window managers.

Input, internationalisation (i18n), and font rendering

These projects provide support for keyboard, pointer, tablet, and other input, as well as input processing and font rendering.

  • fontconfig is a library for configuring and customizing font access.
    • Xft is a library for client-side font rendering.
  • FreeType is a TrueType font rendering library.
  • libinput is a higher-level wrapper library for input devices, providing access to keyboard, pointer, touchpad, touchscreen, and tablet devices.
    • libevdev is a low-level wrapper library for Linux kernel event devices.
  • uchardet is an encoding detector library, which takes a sequence of bytes in an unknown character encoding and attempts to determine the encoding of the text.
  • UTF-8 is a project to document and evangelize the use of UTF-8 encodings for open source projects.
  • xkeyboard-config is a repository of XKB keyboard layouts, used in most desktops and window systems.

Miscellaneous projects

  • Bustle records and shows sequence diagrams of D-Bus traffic.
  • CppUnit is the C++ port of the famous JUnit framework for unit testing.
  • kmscon is a KMS/DRM based system console
  • libbsd is a library providing utility functions from BSD systems
  • pkg-config is a system for managing library compile/link flags that works with most build systems.
  • Slirp is a general purpose TCP-IP emulator widely used by virtual machine hypervisors to provide virtual networking services.
  • SPICE provides remote access to virtualised guests.
  • SyncEvolution synchronises calendar and contact information between devices and services.

Multimedia and image support

These projects provide support for capture, playback, and streaming of audio, images, and video.

  • Farstream allows networked multimedia streaming between remote parties.
  • GStreamer is a streaming media framework.
  • libnice uses the ICE protocol to establish peer-to-peer connections between parties behind NAT.
  • libopenraw is an open source library for Camera RAW file decoding and processing.
  • libspectre is PostScript rendering library.
  • media-player-info describes external media player devices.
  • Poppler is a PDF rendering library.
  • PulseAudio is a sound system and API.
  • VDPAU provides video decode acceleration and high-quality video presentation.

Other hardware support

These projects provide higher-level support for hardware devices.

  • cups-pk-helper provides fine-grained PolicyKit authentication integration to allow users to configure the CUPS printing services.
  • fprint offers hardware support for a variety of fingerprint readers .
  • ModemManager is a DBus system service which provides a unified high level API for communicating with mobile broadband modems.
    • libmbim is a lower-level library to manage MBIM-powered mobile broadband modems.
    • libqmi is a lower-level library to manage QMI-powered mobile broadband modems.

Projects hosted elsewhere

These projects were formerly hosted with freedesktop.org, but have moved elsewhere.

  • AppStream provides information about software for package managers and catalogues.
  • at-spi2 is a framework for applications to provide information for accessibility tools.
  • Avahi is a multicast dns network service discovery library
  • Clipart is an open source clipart repository.
  • Cogl is an abstraction on top of OpenGL and OpenGL ES.
  • colord is a colour-management daemon.
  • epoxy handles OpenGL function pointers.
  • Flatpak installs, manages and runs sandboxed desktop application bundles.
  • Galago is a desktop-neutral presence system.
  • FriBidi is a library implementing the Unicode Bidirectional Algorithm and Arabic Joining/Shaping.
  • HarfBuzz is the common ?OpenType Layout engine shared by Pango, Qt, and possibly others.
  • intltool provides scripts for translating XML files.
  • LDTP is a Linux desktop testing framework.
  • libburn is an open source library suite for reading, mastering and writing optical discs.
  • libminidump is a compressed format for core dumps.
  • LibreOffice is a cross-desktop office suite.
  • OHM is a monitor for temperature and fan sensors.
  • OpenRaster is a file format for layered raster images.
  • p11-glue is a PKCS#11 support library.
  • PackageKit allows users to discover and install software packages.
  • SCIM (Smart Common Input Method) is a platform to develop input method services.
  • systemd is a full system manager, including service and daemon management, logging, session control, and more.
  • Telepathy is a real-time communication framework (presence, messaging, voice/video-over-IP, etc.).
  • Tracker is a file indexer and metadata harvester.
  • udisks supports managing storage devices.
  • uim is an input method supporting many languages, with a focus on CJK.
  • VA-API provides a video acceleration API for all video formats.
  • xiccd is an X11 colour-management daemon.
  • XQuartz is an X11 server which runs on Apple macOS.

Inactive projects

These projects were formerly hosted here, but are no longer maintained and presented only for archival purposes. The code may or may not be available or functional, and there may be no way to contribute fixes or changes to these projects.

  • APOC provided configuration and policy control.
  • CCSS provided CSS parsing.
  • CJK-Unifonts provided CJK Unicode TrueType fonts, including Minnan and Hakka languages.
  • ConsoleKit provided login and session management, and has now been replaced by logind.
  • Desktop VFS was a Virtual File System aimed at GUI applications.
  • dolt was a wrapper around libtool to improve its performance, which is now redundant.
  • Enchant was a cross-desktop spell checker.
  • Eventuality was an "application automation meets cron" type D-Bus based framework for creating a means to schedule arbitrary "actions" performed by conforming apps.
  • glitz was an OpenGL 2D graphics library, including a GPU-accelerated Cairo backend.
  • GTK-Qt Theme Engine aimed to unify the GTK and Qt theming engines.
  • Gypsy was a daemon providing access to GPS devices.
  • HAL was an all-encompassing hardware abstraction layer.
  • Hieroglyph was a PostScript rendering library.
  • icon-slicer was a utility for generating icon themes and libXcursor cursor themes.
  • immodule for Qt was a modular, extensible input method subsystem for Qt.
  • libdlo was a userspace library for talking to DisplayLink USB graphics adapters.
  • liblazy provided convenience wrappers around common D-Bus methods.
  • liboil was a library that makes it easier to develop and maintain code written for MMX/SSE/Altivec extensions.
  • libxklavier was a utility library for X keyboard-related projects.
  • Loudmouth was an XMPP utility library.
  • OpenSync was a project to provide standardised data synchronisation between devices.
  • Papyon supported the MSN Messenger protocol.
  • pm-utils was a collection of scripts that manage suspend/resume in a distro-agnostic fashion.
  • Razor was an attempt to replace the Yum package manager for RPM-based systems.
  • Scratchbox2 was a cross-compilation environment.
  • shared-desktop-ontologies was an attempt to define standard NEPOMUK ontologies for the semantic desktop.
  • Shave made autotools build output less verbose.
  • swfdec provided support for Adobe Flash playback.
  • system-tools-backends attempted to provide distribution-agnostic system configuration.
  • Tango provides common icon design guidelines, and a theme.
  • unicode-translation aimed to translate Unicode character names and other data into many languages.
  • waimea aimed to be a standards compliant window manager for the X Window System making use of the cairo graphics library for all rendering.
  • wmctrl was a command-line tool to interact with a EWMH-compatible window manager.
  • xfullscreen was a useful module for applications or window managers supporting fullscreen modes.
  • Xoo was a wrapper around a nested X server.
  • xprint was an attempt to provide printing services to X11 clients.
  • xresponse was a tool to measure response times to a mouse click event.
  • Ytstenut was a protocol to allow synchronisation of user activity between multiple devices.