HOME

TheInfoList



OR:

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software
desktop environment In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
s for the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
(X11) and Wayland on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and other
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating systems An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body. The project was founded by
Havoc Pennington Robert Sanford Havoc Pennington (born c. 1976) is an American computer engineer and entrepreneur. He is known in the free software movement due to his work on HAL, GNOME, Metacity, GConf, and D-Bus. History Havoc Pennington graduated from ...
, a
GNOME A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
developer working for
Red Hat Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
in March 2000. Widely used
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
X-based desktop projects, such as GNOME, KDE's Plasma Desktop, and
Xfce Xfce or XFCE (pronounced as four individual letters, ) is a Free and open-source software, free and open-source desktop environment for Linux and other Unix-like operating systems. Xfce aims to be fast and Lightweight software, lightweight whil ...
, are collaborating with the freedesktop.org project. In 2006, the project released Portland 1.0 (xdg-utils), a set of common interfaces for desktop environments. freedesktop.org joined the X.Org Foundation in 2019. Some of the project's servers are hosted by
Portland State University Portland State University (PSU) is a public research university in Portland, Oregon, United States. It was founded in 1946 as a post-secondary educational institution for World War II veterans. It evolved into a four-year college over the next ...
.


Hosted projects

freedesktop.org provides hosting for a number of relevant projects. These include:


Windowing system and graphics

Software related to windowing systems and graphics in general *
Cairo Cairo ( ; , ) is the Capital city, capital and largest city of Egypt and the Cairo Governorate, being home to more than 10 million people. It is also part of the List of urban agglomerations in Africa, largest urban agglomeration in Africa, L ...
, a vector graphics library with cross-device output support *
Direct Rendering Infrastructure The Direct Rendering Infrastructure (DRI) is the framework comprising the modern Linux graphics stack which allows unprivileged user-space programs to issue commands to graphics hardware without conflicting with other programs. The main use ...
(DRI), a Linux API to access the graphics hardware, used by X11, Wayland compositors,
Mesa 3D Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open-source software, open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware ...
, etc. * Glamor, a 2D graphics common driver for
X server X server may refer to: * a display server for the X Window System * X.Org Server, the X.Org Foundation's display server for the X Window System * HPE Integrity Superdome X Server, a line of HPE Integrity Servers HPE Integrity Servers is a ser ...
on graphics chipsets which have support for
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
/ EGL/ GBM APIs *
Mesa 3D Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open-source software, open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware ...
, an implementation of several graphics APIs such as
Vulkan Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
and
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
* Pixman, a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization; users include the cairo graphics library and the X.Org Server * Poppler, a
PDF Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
rendering library * Video Acceleration API * Wayland, a protocol to replace X11; features: no
tearing Tearing is the act of breaking apart a material by force, without the aid of a cutting tool. A tear in a piece of paper, fabric, or some other similar object may be the result of the intentional effort with one's bare hands, or be accidental. ...
, lag, redrawing or flicker * X.Org Server, the official reference implementation of the X11 protocol * XCB, an
Xlib Xlib (also known as libX11) is an X Window System protocol client library (computer science), library written in the C (programming language), C programming language. It contains subroutine, functions for interacting with an X Server (computi ...
replacement *
Xephyr Xephyr is a display server software implementing the X11 display server protocol based on KDrive which targets a window on a host X Server as its framebuffer. It is written by Matthew Allum. Xephyr is an X-on-X implementation and runs on X.O ...
, a display server * wlroots, a modular Wayland compositor library


Other

*
D-Bus D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple Process (computing), processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org pro ...
, a message bus akin to DCOP (KDE 3) and
Bonobo The bonobo (; ''Pan paniscus''), also historically called the pygmy chimpanzee (less often the dwarf chimpanzee or gracile chimpanzee), is an endangered great ape and one of the two species making up the genus ''Pan (genus), Pan'' (the other bei ...
(GNOME 2) * Elektra, a library for reading and writing configuration * FreeType, a text rendering library * fontconfig, a library for font discovery, name substitution, etc. * fprint, a library for consumer fingerprint reader devices * Geoclue, a geoinformation service *
GStreamer GStreamer is a Pipeline (computing), pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one f ...
, a
cross-platform Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
multimedia framework A multimedia framework is a software framework that handles Electronic media, media on a computer and through a network. A good multimedia framework offers an intuitive Application programming interface, API and a modular architecture to easily a ...
* GTK-Qt engine, a GTK+ 2 engine which uses Qt to draw the
graphical control element A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct m ...
s, providing the
look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
of KDE applications to GTK+2 applications * HAL (Hardware Abstraction Layer), a consistent cross-
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
layer; deprecated and replaced by
udev udev (userspace ) is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the directory. At the same time, udev also handles all user space events raised when hardware devices ...
* kmscon, a userspace virtual console to replace the Linux console; uses the KMS driver and supports
Unicode Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
*
luit luit is a utility software, utility program used to translate the character set of a computer program so that its output can be displayed correctly on a terminal emulator that uses a different character set. Whereas iconv converts the character ...
, a tool used by
terminal emulator A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote term ...
s * libinput, a library to handle input devices in Wayland compositors and to provide a generic X.Org input driver. It provides device detection, device handling, input device event processing and abstraction to minimize the amount of custom input code compositors need to provide the common set of functionality that users expect. * PulseAudio, a sound server frontend providing software mixing, network audio, and per application volume control * PipeWire, a low-latency server for handling sandbox-friendly audio and video
streams A stream is a continuous body of surface water flowing within the bed and banks of a channel. Depending on its location or certain characteristics, a stream may be referred to by a variety of local or regional names. Long, large stream ...
on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, which provides an implementation of PulseAudio, JACK, and ALSA as well as secure methods for screenshotting and
screencasting A screencast is a digital recording of computer screen output, also known as a video screen capture or a screen recording, often containing audio narration. The term ''screencast'' compares with the related term ''screenshot''; whereas screenshot ...
on
Wayland compositors Wayland may refer to: Computers * Wayland (protocol), a graphical display system for Unix-like computers Fiction * Jace Wayland, a character in the ''Mortal Instruments'' book series * Wayland (''Star Wars''), a planet in the ''Star Wars'' fic ...
*
systemd systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manage ...
, a comprehensive
init In Unix-based computer operating systems, init (short for ''initialization'') is the first process started during booting of the operating system. Init is a daemon process that continues running until the system is shut down. It is the direc ...
framework to start and manage services and sessions meant to replace older init models * Xft, anti-aliased fonts using the FreeType library, rather than the old X core fonts *
pkg-config pkg-config is a software development tool that queries information about libraries from a local, file-based database for the purpose of building a codebase that depends on them. It allows for sharing a codebase in a cross-platform way by using ...
, a helper program used to generate flags for compiler and linker to include necessary libraries Also, Avahi (a free
Zeroconf Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manu ...
implementation) started as a fd.o project but has since become a separate project.


Base Directory Specification

''XDG Base Directory Specification'' (XDG BDS) introduces a range of variables where user-specific files used by programs should be found.XDG Base Directory Specification
freedesktop.org, accessed: 2021-05-15.
Many tools and applications utilize these variables by default.


User directories

Besides the variables mentioned below, XDG BDS also specifies that users' local binary files may be installed into . Systems compliant with the spec are expected to make this directory available in their
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
's environment variable. ; : For user application's own data files : Default to ; : For user's app configuration files : Default to ; : For user-specific app session data, which should be stored for future reuse : Default to : May include logs, recently used files, application-specific information (e.g. window layout, views, opened files, undo history, etc.), akin to session data that should be stored by app by request of system session manager, like X session manager ; : For user-specific apps cache files : Default to ; : For user-specific app runtime files like sockets which must not survive reboot and full logout/login cycles


System directories

; : Colon-separated list of preference-ordered paths to search for data files in : Default to ; : The same as above but for config files : Default to


Stated aims

The project aims to catch interoperability issues much earlier in the process. It is not for legislating formal standards. Stated goals include: * Collect existing specifications, standards, and documents related to X desktop interoperability and make them available in a central location. * Promote the development of new specifications and standards to be shared among multiple X desktops. * Integrate desktop-specific standards into broader standards efforts, such as
Linux Standard Base The Linux Standard Base (LSB) was a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the software system structure, including the Filesystem Hierarchy Standard. LSB was based ...
and the ICCCM. * Work on the implementation of these standards in specific X desktops. * Serve as a neutral forum for sharing ideas about X desktop technology. * Implement technologies that further X desktop interoperability and free X desktops in general. * Promote X desktops and X desktop standards to application authors, both commercial and volunteer. * Communicate with the developers of free operating system kernels, the X Window System itself, free OS distributions, and so on to address desktop-related problems. * Provide source repositories (
git Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
and CVS), web hosting,
Bugzilla Bugzilla is a web-based general-purpose bug tracking system and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License. Released as open-source software by Netscape Communications in 19 ...
, mailing lists, and other resources to free software projects that work toward the above goals.


See also

*
Comparison of source-code-hosting facilities A source-code-hosting facility (also known as forge software) is a file archive and web hosting facility for source code of software, documentation, web pages, and other works, accessible either publicly or privately. They are often used by open- ...
* Linux on the desktop


References


Sources


The Big freedesktop.org Interview
(Rayiner Hashem & Eugenia Loli-Queru, OSNews, 24 November 2003)


External links

* {{Software in the Public Interest Free and open-source software organizations Free software websites Projects established in 2000 X Window System