Freedesktop.org

Last updated
freedesktop.org
Freedesktop-logo.svg
Type of site
Software development management system
Available in English
Created by Havoc Pennington
URL www.freedesktop.org/wiki/ OOjs UI icon edit-ltr-progressive.svg
CommercialNo
LaunchedMarch 2000;23 years ago (2000-03)
Current statusOnline

freedesktop.org (fd.o), formerly X Desktop Group (XDG), [1] [2] 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 and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body. [3]

Contents

The project was founded by Havoc Pennington, a GNOME developer working for Red Hat in March 2000. Widely used open-source X-based desktop projects, such as GNOME, 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. [4] freedesktop.org joined the X.Org Foundation in 2019. [5] [6] Some of the project's servers are hosted by Portland State University. [7]

Hosted projects

freedesktop.org provides hosting for a number of relevant projects. [8] [9] These include:

Windowing system and graphics

Software related to windowing systems and graphics in general

Other

Also, Avahi (a free Zeroconf 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. [14] Many tools and applications utilize these variables by default. [15]

User directories

Besides the variables mentioned below, XDG BDS also specifies that users' local binary files may be installed into $HOME/.local/bin. Systems compliant with the spec are expected to make this directory available in their CLI's PATH environment variable. [14]

XDG_DATA_HOME
For user application's own data files
Default to $HOME/.local/share
XDG_CONFIG_HOME
For user's app configuration files
Default to $HOME/.config
XDG_STATE_HOME
For user-specific app session data, which should be stored for future reuse
Default to $HOME/.local/state
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
XDG_CACHE_HOME
For user-specific apps cache files
Default to $HOME/.cache
XDG_RUNTIME_DIR
For user-specific app runtime files like sockets which must not survive reboot and full logout/login cycles

System directories

XDG_DATA_DIRS
Colon-separated list of preference-ordered paths to search for data files in
Default to /usr/local/share/:/usr/share/
XDG_CONFIG_DIRS
The same as above but for config files
Default to /etc/xdg/

Stated aims

The project aims to catch interoperability issues much earlier in the process. It is not for legislating formal standards. Stated goals include:

See also

Related Research Articles

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

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 graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

<span class="mw-page-title-main">Portage (software)</span> Gentoo package management system

Portage is a package management system originally created for and used by Gentoo Linux and also by ChromeOS, Calculate, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project was concerned with using Portage to manage other operating systems, such as BSDs, macOS and Solaris. The most notable of these implementations is the Gentoo/FreeBSD project.

<span class="mw-page-title-main">XQuartz</span> Version of the X.Org X server for macOS

XQuartz is an open-source version of the X.Org X server, a display server for the X Window System that runs on macOS. It formally replaced Apple's internal X11 app. The name "XQuartz" derives from Quartz, part of the macOS Core Graphics framework, to which XQuartz connects these applications. XQuartz allows cross-platform applications using X11 for the GUI to run on macOS, many of which are not specifically designed for macOS. This includes numerous scientific and academic software projects.

X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.

GLX is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishing to use OpenGL to do so within a window provided by the X Window System. GLX distinguishes two "states": indirect state and direct state.

The Enlightenment Foundation Libraries (EFL) are a set of graphics libraries that grew out of the development of Enlightenment, a window manager and Wayland compositor. The project's focus is to make the EFL a flexible yet powerful and easy to use set of tools to extend the capabilities of both the Enlightenment window manager and other software projects based on the EFL. The libraries are meant to be portable and optimized to be functional even on mobile devices such as smart phones and tablets.

<span class="mw-page-title-main">Xgl</span> Display server implementation

Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or Beryl. The project was started by David Reveman of Novell and first released on January 2, 2006. It was removed from the X.org server in favor of AIGLX on June 12, 2008.

Fontconfig is a free software program library designed to provide configuration, enumeration and substitution of fonts to other programs. Fontconfig was originally written and maintained by Keith Packard, and is currently maintained by Behdad Esfahbod.

D-Bus is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, initiated by GNOME developer Havoc Pennington to standardize services provided by Linux desktop environments such as GNOME and KDE.

<span class="mw-page-title-main">Tiling window manager</span> Window manager with non-overlapping frames

In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more common approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor.

<span class="mw-page-title-main">Tango Desktop Project</span> Open source initiative

The Tango Desktop Project was an open-source initiative to create a set of design guidelines and to provide a consistent user experience for applications on desktop environments. The project created a set of icons known as the Tango Icon Library and that were described as a "proof of concept". The Tango Desktop Project was a project of freedesktop.org, and was closely linked with other freedesktop.org guidelines, such as the Standard Icon Theming Specification.

A compositing manager, or compositor, is software that provides applications with an off-screen buffer for each window. The compositing manager composites the window buffers into an image representing the screen and writes the result into the display memory. A compositing window manager is a window manager that is also a compositing manager.

The Portland Project is an initiative by freedesktop.org aiming at easing the portability of application software between desktop environments and kernels by designing cross-platform APIs and offering implementations thereof as libraries to independent software vendors (ISVs).

<span class="mw-page-title-main">PulseAudio</span> Sound server for Unix-like operating systems

PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, including Windows Subsystem for Linux on Microsoft Windows and Termux on Android; various BSD distributions such as FreeBSD, OpenBSD, and macOS; as well as Illumos distributions and the Solaris operating system. It serves as a middleware in between applications and hardware and handles raw PCM audio streams.

<span class="mw-page-title-main">Wayland (protocol)</span> Display system intended to replace X11

Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.

In computing, SPICE is a remote-display system built for virtual environments which allows users to view a computing "desktop" environment – not only on its computer-server machine, but also from anywhere on the Internet – using a wide variety of machine architectures.

Mir is a computer display server and, recently, a Wayland compositor for the Linux operating system that is under development by Canonical Ltd. It was planned to replace the currently used X Window System for Ubuntu; however, the plan changed and Mutter was adopted as part of GNOME Shell.

Client-side decoration (CSD) is the concept of allowing a graphical application software to be responsible for drawing its own window decorations, historically the responsibility of the window manager.

References

  1. "X desktop group".
  2. "Freedesktop.org, home of the X Desktop Group". Archived from the original on 2001-02-02. Retrieved 2013-08-26.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  3. "Specifications". freedesktop.org. Retrieved 2023-10-27.
  4. Portland points desktop Linux at $10 billion market Archived October 12, 2006, at the Wayback Machine , DesktopLinux.com, 11 October 2006
  5. "X.Org To Join Forces With FreeDesktop.org While Foundation Elections Hit A Snag" . Retrieved 9 September 2021.
  6. Larabel, Michael (11 April 2019). "X.Org To Join Forces With FreeDesktop.org While Foundation Elections Hit A Snag". Phoronix. Retrieved 2023-10-27.
  7. "Welcome to freedesktop.org". Freedesktop.org. Retrieved 27 October 2023.
  8. "FreedesktopProjects". freedesktop.org. Retrieved 2013-09-22.
  9. "Software". freedesktop.org. Retrieved 2013-09-22.
  10. "Glamor". freedesktop.org. 17 May 2013. Retrieved 31 October 2015.
  11. "Pixman". pixman.org.
  12. Wallen, Jack (6 December 2011). "DIY: Get top-quality open source security tools in one distro". News, Tips, and Advice for Technology Professionals. Archived from the original on 2021-04-18. Retrieved 2019-06-21.
  13. "[ANNOUNCE] libinput 0.4.0". freedesktop.org. 2014-06-24.
  14. 1 2 XDG Base Directory Specification, freedesktop.org, accessed: 2021-05-15.
  15. "XDG Base Directory - ArchWiki". wiki.archlinux.org. Retrieved 2021-10-08.
  16. "freedesktop.org git". Gitweb.freedesktop.org. Retrieved 2013-09-22.
  17. "ViewVC Repository Listing". WebCVS.freedesktop.org. Archived from the original on 2013-10-08. Retrieved 2013-09-22.

Sources