freedesktop.org (fd.o) is a project to work on interoperability and shared base technology for
free-software desktop environments for the
X Window System (X11) and
Wayland on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
and other
Unix-like operating systems
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also inc ...
. It was founded by
Havoc Pennington, a
GNOME
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its charac ...
developer working for
Red Hat
Red Hat, Inc. is an American software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide.
Red Hat has become ...
in March 2000. The project's servers are hosted by
Portland State University, sponsored by
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware componen ...
,
Intel, and
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
.
Widely used
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
X-based desktop projects, such as
GNOME
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its charac ...
,
KDE's Plasma Desktop, and
Xfce, 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. However, freedesktop.org is a "collaboration zone" for standards and specifications where users can freely discuss ideas, and not a formal standards organization.
freedesktop.org was formerly known as the X Desktop Group, and the abbreviation "XDG" remains common in their work.
freedesktop.org joined the
X.Org Foundation in 2019.
All freedesktop.org projects are covered by
Coraline Ada Ehmke's
Contributor Covenant code of conduct which aims to ensure a harassment-free and
inclusive environment for developers by prohibiting offensive language and behavior.
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 ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo met ...
, a vector graphics library with cross-device output support
*
Direct Rendering Infrastructure (DRI),
Linux API to access the graphics hardware, used by
X11,
Wayland compositors,
Mesa 3D, etc.
*
Glamor, 2D graphics common driver for
X server, it supports a variety of graphics chipsets which have supports for
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
/
EGL/
GBM APIs
*
Mesa 3D, an implementation of
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
* Pixman, is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. Important users of pixman are 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 in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
rendering library
*
Video Acceleration API
Video Acceleration API (VA-API) is an open source application programming interface that allows applications such as VLC media player or GStreamer to use hardware video acceleration capabilities, usually provided by the graphics processing uni ...
*
Wayland, protocol to replace X11; features: no
tearing, lag, redrawing or
flicker
*
X.Org Server: the official reference implementation of the X11 protocol
*
XCB, an
Xlib replacement.
*
Xephyr is a
display server
Other
*
D-Bus, a message bus akin to
DCOP (KDE 3) and
Bonobo (GNOME 2)
Elektra a library for reading and writing configuration
*
FreeType, a text rendering library.
*
fontconfig is a library for font discovery, name substitution, etc.
* fprint, a library for the consumer fingerprint reader devices
* Geoclue, a
geoinformation service
A location-based service (LBS) is a general term denoting software services which use geographic data and information to provide services or information to users. LBS can be used in a variety of contexts, such as health, indoor object search, en ...
.
*
GStreamer is a
cross-platform
In 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 platforms. Some cross-platform software ...
multimedia framework.
*
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 ...
s, providing the same
look and feel of KDE applications to GTK+2 applications.
*
HAL
HAL may refer to:
Aviation
* Halali Airport (IATA airport code: HAL) Halali, Oshikoto, Namibia
* Hawaiian Airlines (ICAO airline code: HAL)
* HAL Airport, Bangalore, India
* Hindustan Aeronautics Limited an Indian aerospace manufacturer of fight ...
(Hardware Abstraction Layer) is a consistent cross-
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
layer; it has been deprecated and replaced by
udev.
*
kmscon, userspace virtual console to replace Linux console, uses
KMS driver
The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations su ...
and supports
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
*
luit
luit is a 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 set of strings or ...
, a tool used by
terminal emulators
*
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 is a sound server frontend meant to provide software mixing, network audio, and per application volume control.
*
systemd
systemd is a software suite that provides an array of system components for Linux operating systems. Its main aim is to unify service configuration and behavior across Linux distributions; Its primary component is a "system and service manager ...
is a comprehensive init 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 is 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 ma ...
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](_blank)
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'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 may survive reboot and logout 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 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 and
CVS
CVS may refer to:
Organizations
* CVS Health, a US pharmacy chain
** CVS Pharmacy
** CVS Caremark, a prescription benefit management subsidiary
* Council for Voluntary Service, England
* Cable Video Store, former US pay-per-view service
* CVS F ...
), web hosting,
Bugzilla, mailing lists, and other resources to free software projects that work toward the above goals.
See also
*
Comparison of open source software hosting facilities
*
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