## 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|https://gitlab.freedesktop.org/]] 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|https://developercertificate.org]] 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|Software/AccountsService]] provides information about local users. * [[D-Bus|Software/dbus]] is a message bus for inter-process and inter-service communication. * [[GeoClue|https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home]] provides geolocation information. * [[PolicyKit|Software/PolicyKit]] is a toolkit allowing unprivileged applications to configure and access privileged services and interfaces. * [[NetworkManager|https://wiki.gnome.org/Projects/NetworkManager]] allows applications to discover, configure, and join both wired and wireless networks. * [[realmd|https://www.freedesktop.org/software/realmd/]] allows clients to discover, authenticate with, and join networks such as Active Directory. * [[upower|https://upower.freedesktop.org]] provides information about power devices, including battery and charging status. * [[Zeitgeist|https://zeitgeist.freedesktop.org]] 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|Software/desktop-file-utils]] contains command line utilities for working with desktop entries and .menu files * [[icon-theme|Software/icon-theme]] contains the standard and also references the default icon theme called hicolor. * [[pyxdg|Software/pyxdg]] is a python library to access freedesktop.org standards. * [[shared-mime-info|Software/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|Software/startup-notification]] is a sample implementation of startup notification (telling the desktop environment when an app is done starting up). * [[xdg-utils|Software/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|Software/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|Software/Beignet]] is an OpenCL implementation for older Intel GPUs, now superseded by the NEO driver. * [[Cairo|https://www.cairographics.org]] is a vector graphics library with cross-device output support. * DRM is the Linux kernel graphics subsystem, with development on the [[dri-devel list|https://lists.freedesktop.org/mailman/listinfo/dri-devel]] * [[drm_hwcomposer|https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer]] is a backend for Android's HWComposer running on DRM/KMS devices. * [[Mesa|http://www.mesa3d.org]] provides both hardware-accelerated and software implementations of the OpenGL, OpenGL ES, Vulkan, EGL, and GLX rendering APIs. * [[Monado|https://monado.freedesktop.org]] is an implementation of the OpenXR API for virtual- and augmented-reality environments and devices. * [[Nouveau|https://nouveau.freedesktop.org/]] is a reverse-engineered driver for NVIDIA GPUs. * [[Piglit|https://piglit.freedesktop.org]] is a test suite for OpenGL and OpenGL ES implementations. * [[VirGL|https://virgil3d.github.io]] provides OpenGL and OpenGL ES acceleration to virtualised guests inside VMs. * [[Pixman|http://www.pixman.org]] is a low-level software-only 2D pixel manipulation and composition library. * [[Plymouth|Software/Plymouth]] provides a splash screen and progress updates during early boot. * [[Wayland|https://wayland.freedesktop.org]] is a window system used by a variety of desktops. * [[X.Org|http://www.x.org]] is an implementation of the X Window System, known as X11. * [[XCB|https://xcb.freedesktop.org]] provides a low-level client library for the X11 protocol. * [[Xephyr|Software/Xephyr]] is a nested X11 server, primarily used for testing. * [[xrestop|Software/xrestop]] is a 'top' like X Server resource usage monitor that uses the XRes extension. * [[xsettings|Software/xsettings]] allows configuration of settings * [[X Testing|Software/XTesting]] provides information on various software for testing X Servers and Clients. * [[xwininfo|Software/wininfo]] 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|Software/fontconfig]] is a library for configuring and customizing font access. * [[Xft|Software/Xft]] is a library for client-side font rendering. * [[libinput|Software/libinput]] is a higher-level wrapper library for input devices, providing access to keyboard, pointer, touchpad, touchscreen, and tablet devices. * [[libevdev|Software/libevdev]] is a low-level wrapper library for Linux kernel event devices. * [[uchardet|Software/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|Software/utf-8]] is a project to document and evangelize the use of UTF-8 encodings for open source projects. * [[xkeyboard-config|Software/XKeyboardConfig]] is a repository of XKB keyboard layouts, used in most desktops and window systems. ### Miscellaneous projects * [[Bustle|https://gitlab.freedesktop.org/bustle/bustle]] records and shows sequence diagrams of D-Bus traffic. * [[CppUnit|Software/cppunit]] is the C++ port of the famous JUnit framework for unit testing. * [[kmscon|Software/kmscon]] is a KMS/DRM based system console * [[libbsd|https://libbsd.freedesktop.org/]] is a library providing utility functions from BSD systems * [[pkg-config|Software/pkg-config]] is a system for managing library compile/link flags that works with most build systems. * [[Slirp|https://gitlab.freedesktop.org/slirp]] is a general purpose TCP-IP emulator widely used by virtual machine hypervisors to provide virtual networking services. * [[SPICE|https://spice-space.org]] provides remote access to virtualised guests. * [[SyncEvolution|https://syncevolution.org/]] 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|http://www.freedesktop.org/wiki/Software/Farstream]] allows networked multimedia streaming between remote parties. * [[GStreamer|https://gstreamer.freedesktop.org/]] is a streaming media framework. * [[libnice|https://nice.freedesktop.org/wiki/]] uses the ICE protocol to establish peer-to-peer connections between parties behind NAT. * [[libopenraw|Software/libopenraw]] is an open source library for Camera RAW file decoding and processing. * [[libspectre|Software/libspectre]] is PostScript rendering library. * [[media-player-info|https://www.freedesktop.org/wiki/Software/media-player-info/]] describes external media player devices. * [[Poppler|https://poppler.freedesktop.org]] is a PDF rendering library. * [[PulseAudio|https://www.freedesktop.org/wiki/Software/PulseAudio/]] is a sound system and API. * [[VDPAU|Software/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|Software/cups-pk-helper]] provides fine-grained PolicyKit authentication integration to allow users to configure the CUPS printing services. * [[fprint|Software/fprint]] offers hardware support for a variety of fingerprint readers . * [[ModemManager|Software/ModemManager]] is a DBus system service which provides a unified high level API for communicating with mobile broadband modems. * [[libmbim|Software/libmbim]] is a lower-level library to manage MBIM-powered mobile broadband modems. * [[libqmi|Software/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|https://github.com/ximion/appstream]] provides information about software for package managers and catalogues. * [[at-spi2|https://gitlab.gnome.org/GNOME/at-spi2-core]] is a framework for applications to provide information for accessibility tools. * [[Avahi|http://www.avahi.org]] is a multicast dns network service discovery library * [[Clipart|http://www.openclipart.org/]] is an open source clipart repository. * [[Cogl|https://www.cogl3d.org/]] is an abstraction on top of OpenGL and OpenGL ES. * [[colord|https://github.com/hughsie/colord]] is a colour-management daemon. * [[epoxy|https://github.com/anholt/libepoxy]] handles OpenGL function pointers. * [[Flatpak|https://flatpak.org/]] installs, manages and runs sandboxed desktop application bundles. * [[FreeType|https://www.freetype.org/]] is a TrueType font rendering library. * [[Galago|http://www.galago-project.org]] is a desktop-neutral presence system. * [[FriBidi|https://fribidi.org/]] is a library implementing the Unicode Bidirectional Algorithm and Arabic Joining/Shaping. * [[HarfBuzz|https://github.com/harfbuzz/harfbuzz]] is the common [[OpenType|OpenType]] Layout engine shared by Pango, Qt, and possibly others. * [[intltool|https://launchpad.net/intltool]] provides scripts for translating XML files. * [[LDTP|https://github.com/ldtp]] is a Linux desktop testing framework. * [[libburn|https://dev.lovelyhq.com/libburnia/web/wikis/home]] is an open source library suite for reading, mastering and writing optical discs. * [[libminidump|https://github.com/tylerwhall/libminidump]] is a compressed format for core dumps. * [[LibreOffice|https://www.libreoffice.org]] is a cross-desktop office suite. * [[OHM|https://openhardwaremonitor.org]] is a monitor for temperature and fan sensors. * [[OpenRaster|https://www.openraster.org/]] is a file format for layered raster images. * [[p11-glue|https://github.com/p11-glue]] is a PKCS#11 support library. * [[PackageKit|https://github.com/hughsie/PackageKit]] allows users to discover and install software packages. * [[SCIM|https://github.com/scim-im/]] (Smart Common Input Method) is a platform to develop input method services. * [[systemd|https://github.com/systemd]] is a full system manager, including service and daemon management, logging, session control, and more. * [[Telepathy|https://telepathy.freedesktop.org/wiki/]] is a real-time communication framework (presence, messaging, voice/video-over-IP, etc.). * [[Tracker|https://wiki.gnome.org/Projects/Tracker]] is a file indexer and metadata harvester. * [[udisks|https://github.com/storaged-project/udisks]] supports managing storage devices. * [[uim|https://github.com/uim/uim/wiki]] is an input method supporting many languages, with a focus on CJK. * [[VA-API|https://01.org/vaapi]] provides a video acceleration API for all video formats. * [[xiccd|https://github.com/agalakhov/xiccd]] is an X11 colour-management daemon. * [[XQuartz|https://www.xquartz.org]] 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|https://apoc.freedesktop.org]] provided configuration and policy control. * CCSS provided CSS parsing. * [[CJK-Unifonts|Software/CJKUnifonts]] provided CJK Unicode TrueType fonts, including Minnan and Hakka languages. * [[ConsoleKit|https://freedesktop.org/wiki/Software/ConsoleKit/]] provided login and session management, and has now been replaced by logind. * [[Desktop VFS|Software/dvfs]] was a Virtual File System aimed at GUI applications. * dolt was a wrapper around libtool to improve its performance, which is now redundant. * [[Enchant|http://www.abiword.org/enchant/]] was a cross-desktop spell checker. * [[Eventuality|Software/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|Software/glitz]] was an OpenGL 2D graphics library, including a GPU-accelerated Cairo backend. * [[GTK-Qt Theme Engine|Software/gtk-qt]] aimed to unify the GTK and Qt theming engines. * [[Gypsy|https://gypsy.freedesktop.org]] was a daemon providing access to GPS devices. * [[HAL|Software/hal]] was an all-encompassing hardware abstraction layer. * [[Hieroglyph|https://hieroglyph.freedesktop.org/]] was a PostScript rendering library. * [[icon-slicer|Software/icon-slicer]] was a utility for generating icon themes and libXcursor cursor themes. * [[immodule for Qt|Software/immodule-qt]] was a modular, extensible input method subsystem for Qt. * [[libdlo|Software/libdlo]] was a userspace library for talking to [[DisplayLink|DisplayLink]] USB graphics adapters. * [[liblazy|Software/liblazy]] provided convenience wrappers around common D-Bus methods. * [[liboil|http://liboil.freedesktop.org/]] was a library that makes it easier to develop and maintain code written for MMX/SSE/Altivec extensions. * [[libxklavier|Software/LibXklavier]] was a utility library for X keyboard-related projects. * [[Loudmouth|https://github.com/mcabber/loudmouth]] was an XMPP utility library. * OpenSync was a project to provide standardised data synchronisation between devices. * [[Papyon|https://www.freedesktop.org/wiki/Software/papyon/]] supported the MSN Messenger protocol. * [[pm-utils|https://pm-utils.freedesktop.org]] was a collection of scripts that manage suspend/resume in a distro-agnostic fashion. * [[Razor|https://razor.freedesktop.org]] was an attempt to replace the Yum package manager for RPM-based systems. * [[Scratchbox2|Software/sbox2]] was a cross-compilation environment. * [[shared-desktop-ontologies|http://oscaf.sourceforge.net/]] was an attempt to define standard NEPOMUK ontologies for the semantic desktop. * Shave made autotools build output less verbose. * [[swfdec|https://swfdec.freedesktop.org/wiki/]] provided support for Adobe Flash playback. * [[system-tools-backends|https://system-tools-backends.freedesktop.org]] attempted to provide distribution-agnostic system configuration. * [[Tango|http://www.tango-project.org]] provides common icon design guidelines, and a theme. * [[unicode-translation|Software/unicode-translation]] aimed to translate Unicode character names and other data into many languages. * [[waimea|Software/waimea]] aimed to be a standards compliant window manager for the X Window System making use of the [[cairo|http://cairographics.org]] graphics library for all rendering. * [[wmctrl|Software/wmctrl]] was a command-line tool to interact with a [[EWMH|Specifications/wm-spec]]-compatible window manager. * [[xfullscreen|Software/xfullscreen]] was a useful module for applications or window managers supporting fullscreen modes. * [[Xoo|Software/xoo]] was a wrapper around a nested X server. * [[xprint|Software/xprint]] was an attempt to provide printing services to X11 clients. * [[xresponse|Software/xresponse]] was a tool to measure response times to a mouse click event. * [[Ytstenut|https://www.freedesktop.org/wiki/Software/Ytstenut/]] was a protocol to allow synchronisation of user activity between multiple devices.