Jump to content

Freedesktop.org: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
I.grok (talk | contribs)
User directories: fix inverted XDG_RUNTIME_DIR description
Salad2838 (talk | contribs)
changed redirect
Tags: Mobile edit Mobile web edit
 
(4 intermediate revisions by 3 users not shown)
Line 16: Line 16:
| current_status = Online
| current_status = Online
}}
}}
'''freedesktop.org''' ('''fd.o'''), formerly '''X Desktop Group''' ('''XDG'''),<ref>{{cite web|url=https://lwn.net/2000/0427/a/freedesktop.html|title=X desktop group}}</ref><ref>{{Cite web |url=http://www.freedesktop.org/ |title=Freedesktop.org, home of the X Desktop Group |access-date=2013-08-26 |archive-date=2001-02-02 |archive-url=https://web.archive.org/web/20010202173600/http://www.freedesktop.org/ |url-status=bot: unknown }}</ref> is a project to work on interoperability and shared base technology for [[Free software|free-software]] [[desktop environment]]s for the [[X Window System]] (X11) and [[Wayland (display server protocol)|Wayland]] on [[Linux]] and other [[Unix-like]] [[operating systems]]. It was founded by [[Havoc Pennington]], a [[GNOME]] developer working for [[Red Hat]] in March 2000. Some of the project's servers are hosted by [[Portland State University]], sponsored by [[Hewlett-Packard]], [[Intel]], and [[Google]].<ref>{{cite web|title=Freedesktop|url=https://www.freedesktop.org/wiki/|website=Freedesktop.org|access-date=27 April 2017}}</ref>
'''freedesktop.org''' ('''fd.o'''), formerly '''X Desktop Group''' ('''XDG'''),<ref>{{cite web|url=https://lwn.net/2000/0427/a/freedesktop.html|title=X desktop group}}</ref><ref>{{Cite web |url=http://www.freedesktop.org/ |title=Freedesktop.org, home of the X Desktop Group |access-date=2013-08-26 |archive-date=2001-02-02 |archive-url=https://web.archive.org/web/20010202173600/http://www.freedesktop.org/ |url-status=bot: unknown }}</ref> is a project to work on interoperability and shared base technology for [[Free software|free-software]] [[desktop environment]]s for the [[X Window System]] (X11) and [[Wayland (protocol)|Wayland]] on [[Linux]] and other [[Unix-like]] [[Operating system|operating systems]]. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.<ref>{{Cite web |title=Specifications |url=https://www.freedesktop.org/wiki/Specifications/ |access-date=2023-10-27 |website=freedesktop.org}}</ref>


Widely used [[open-source software|open-source]] X-based desktop projects, such as [[GNOME]], [[KDE Plasma 5|KDE's Plasma Desktop]], and [[Xfce]], are collaborating with the freedesktop.org project. In 2006, the project released [[Portland Project|Portland 1.0]] (xdg-utils), a set of common interfaces for desktop environments.<ref>[http://desktoplinux.com/news/NS7435528984.html Portland points desktop Linux at $10 billion market] {{webarchive |url=https://web.archive.org/web/20061012184723/http://desktoplinux.com/news/NS7435528984.html |date=October 12, 2006 }}, ''DesktopLinux.com'', 11 October 2006</ref> However, freedesktop.org is a "collaboration zone" for standards and specifications where users can freely discuss ideas, and not a formal standards organization.<ref>{{cite web|title=Freedesktop|url=https://www.freedesktop.org/wiki/|website=Freedesktop.org|access-date=27 April 2017}}</ref>
The project was founded by [[Havoc Pennington]], a [[GNOME]] developer working for [[Red Hat]] in March 2000. Widely used [[open-source software|open-source]] X-based desktop projects, such as GNOME, [[KDE Plasma|KDE's Plasma Desktop]], and [[Xfce]], are collaborating with the freedesktop.org project. In 2006, the project released [[Portland Project|Portland 1.0]] (xdg-utils), a set of common interfaces for desktop environments.<ref>[http://desktoplinux.com/news/NS7435528984.html Portland points desktop Linux at $10 billion market] {{webarchive |url=https://web.archive.org/web/20061012184723/http://desktoplinux.com/news/NS7435528984.html |date=October 12, 2006 }}, ''DesktopLinux.com'', 11 October 2006</ref> freedesktop.org joined the [[X.Org Foundation]] in 2019.<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Xorg-FreeDesktop-Vote-Approved|title=X.Org To Join Forces With FreeDesktop.org While Foundation Elections Hit A Snag|access-date=9 September 2021}}</ref><ref>{{Cite web |last=Larabel |first=Michael |date=11 April 2019 |title=X.Org To Join Forces With FreeDesktop.org While Foundation Elections Hit A Snag |url=https://www.phoronix.com/news/Xorg-FreeDesktop-Vote-Approved |access-date=2023-10-27 |website=Phoronix |language=en}}</ref> Some of the project's servers are hosted by [[Portland State University]].<ref>{{cite web |title=Welcome to freedesktop.org |url=https://www.freedesktop.org/wiki/ |access-date=27 October 2023 |website=Freedesktop.org}}</ref>

freedesktop.org joined the [[X.Org Foundation]] in 2019.<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Xorg-FreeDesktop-Vote-Approved|title=X.Org To Join Forces With FreeDesktop.org While Foundation Elections Hit A Snag|access-date=9 September 2021}}</ref>


==Hosted projects==
==Hosted projects==
Line 29: Line 27:
Software related to [[windowing system]]s and graphics in general
Software related to [[windowing system]]s and graphics in general
* [[Cairo (graphics)|Cairo]], a vector graphics library with cross-device output support
* [[Cairo (graphics)|Cairo]], a vector graphics library with cross-device output support
* [[Direct Rendering Infrastructure]] (DRI), [[Linux kernel interfaces#Kernel–user space API|Linux API]] to access the graphics hardware, used by [[X Window System|X11]], [[Wayland compositor]]s, [[Mesa 3D]], etc.
* [[Direct Rendering Infrastructure]] (DRI), a [[Linux kernel interfaces#Kernel–user space API|Linux API]] to access the graphics hardware, used by [[X Window System|X11]], [[Wayland compositor]]s, [[Mesa 3D]], etc.
* [[Glamor (software)|Glamor]],<ref>{{cite web |url=http://www.freedesktop.org/wiki/Software/Glamor/ |title=Glamor |date=17 May 2013 |website=freedesktop.org |access-date=31 October 2015}}</ref> 2D graphics common driver for [[display server|X server]], it supports a variety of graphics chipsets which have supports for [[OpenGL]]/[[EGL (API)|EGL]]/[[Generic buffer management|GBM]] APIs
* [[Glamor (software)|Glamor]],<ref>{{cite web |url=http://www.freedesktop.org/wiki/Software/Glamor/ |title=Glamor |date=17 May 2013 |website=freedesktop.org |access-date=31 October 2015}}</ref> a 2D graphics common driver for [[display server|X server]] on graphics chipsets which have support for [[OpenGL]]/[[EGL (API)|EGL]]/[[Generic buffer management|GBM]] APIs
* [[Mesa 3D]], an implementation of several graphics API such as [[Vulkan]] and [[OpenGL]]
* [[Mesa 3D]], an implementation of several graphics APIs such as [[Vulkan]] and [[OpenGL]]
* Pixman,<ref>{{cite web|url=http://www.pixman.org/|title=Pixman|work=pixman.org}}</ref> 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)|cairo graphics library]] and the [[X.Org Server]]
* Pixman,<ref>{{cite web|url=http://www.pixman.org/|title=Pixman|work=pixman.org}}</ref> a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization; users include the [[cairo (graphics)|cairo graphics library]] and the [[X.Org Server]]
* [[Poppler (software)|Poppler]], a [[PDF]] rendering library
* [[Poppler (software)|Poppler]], a [[PDF]] rendering library
* [[Video Acceleration API]]
* [[Video Acceleration API]]
* [[Wayland (display server protocol)|Wayland]], protocol to replace X11; features: no [[frame tearing|tearing]], lag, redrawing or [[flicker (screen)|flicker]]
* [[Wayland (protocol)|Wayland]], a protocol to replace X11; features: no [[frame tearing|tearing]], lag, redrawing or [[flicker (screen)|flicker]]
* [[X.Org Server]]: the official reference implementation of the X11 protocol
* [[X.Org Server]], the official reference implementation of the X11 protocol
* [[XCB]], an [[Xlib]] replacement.
* [[XCB]], an [[Xlib]] replacement
* [[Xephyr]] is a [[display server]]
* [[Xephyr]], a [[display server]]
* wlroots, a modular [[Wayland compositor]] library


===Other===
===Other===
<!-- PLEASE RESPECT ALPHABETICAL ORDER -->
<!-- PLEASE RESPECT ALPHABETICAL ORDER -->
* [[D-Bus]], a message bus akin to [[Desktop communication protocol|DCOP]] (KDE 3) and [[Bonobo (GNOME)|Bonobo]] (GNOME 2)
* [[D-Bus]], a message bus akin to [[Desktop communication protocol|DCOP]] (KDE 3) and [[Bonobo (GNOME)|Bonobo]] (GNOME 2)
* [https://www.libelektra.org Elektra], a library for reading and writing configuration
* Elektra, a library for reading and writing configuration
*[[FreeType]], a text rendering library.
*[[FreeType]], a text rendering library
* [[fontconfig]] is a library for font discovery, name substitution, etc.
* [[fontconfig]], a library for font discovery, name substitution, etc.
* fprint, a library for the consumer fingerprint reader devices
* fprint, a library for consumer fingerprint reader devices
* {{anchor|geoclue}}Geoclue, a [[geoinformation service]].<ref name="geoclue">{{Cite web |url=https://www.techrepublic.com/blog/diy-it-guy/diy-get-top-quality-open-source-security-tools-in-one-distro/ |title=DIY: Get top-quality open source security tools in one distro |last=Wallen |first=Jack |date=6 December 2011 |website=News, Tips, and Advice for Technology Professionals |access-date=2019-06-21}}</ref>
* {{anchor|geoclue}}Geoclue, a [[geoinformation service]]<ref name="geoclue">{{Cite web |url=https://www.techrepublic.com/blog/diy-it-guy/diy-get-top-quality-open-source-security-tools-in-one-distro/ |title=DIY: Get top-quality open source security tools in one distro |last=Wallen |first=Jack |date=6 December 2011 |website=News, Tips, and Advice for Technology Professionals |access-date=2019-06-21 |archive-date=2021-04-18 |archive-url=https://web.archive.org/web/20210418175608/https://www.techrepublic.com/blog/diy-it-guy/diy-get-top-quality-open-source-security-tools-in-one-distro/ |url-status=dead }}</ref>
* [[GStreamer]] is a [[cross-platform]] [[multimedia framework]].
* [[GStreamer]], a [[cross-platform]] [[multimedia framework]]
* [[GTK-Qt|GTK-Qt engine]], a [[GTK+#GTK+ 2|GTK+ 2]] engine which uses [[Qt (software)|Qt]] to draw the [[graphical control element]]s, providing the same [[look and feel]] of KDE applications to GTK+2 applications.
* [[GTK-Qt|GTK-Qt engine]], a [[GTK+#GTK+ 2|GTK+ 2]] engine which uses [[Qt (software)|Qt]] to draw the [[graphical control element]]s, providing the [[look and feel]] of KDE applications to GTK+2 applications
* [[HAL (software)|HAL]] (Hardware Abstraction Layer) is a consistent cross-[[operating system]] layer; it has been deprecated and replaced by [[udev]].
* [[HAL (software)|HAL]] (Hardware Abstraction Layer), a consistent cross-[[operating system]] layer; deprecated and replaced by [[udev]]
* [[kmscon]], userspace virtual console to replace Linux console, uses [[KMS driver]] and supports [[Unicode]]
* [[kmscon]], a userspace virtual console to replace the Linux console; uses the [[KMS driver]] and supports [[Unicode]]
* [[luit]], a tool used by [[terminal emulator]]s
* [[luit]], a tool used by [[terminal emulator]]s
* [[libinput]],<ref>{{cite web |url=http://lists.freedesktop.org/archives/wayland-devel/2014-June/015589.html |title=[ANNOUNCE] libinput 0.4.0 |work=freedesktop.org |date=2014-06-24}}</ref> a library to handle input devices in [[Wayland compositor]]s 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
* [[libinput]],<ref>{{cite web |url=http://lists.freedesktop.org/archives/wayland-devel/2014-June/015589.html |title=[ANNOUNCE] libinput 0.4.0 |work=freedesktop.org |date=2014-06-24}}</ref> a library to handle input devices in [[Wayland compositor]]s 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.
* [[PulseAudio]], a sound server frontend providing software mixing, network audio, and per application volume control
* [[PipeWire]] is a low-latency server for handling [[Sandbox (computer security)|sandbox-friendly]] audio and video [[Stream (computing)|streams]] on [[Linux]], which provides an implementation of PulseAudio, [[JACK Audio Connection Kit|JACK]], and [[Advanced Linux Sound Architecture|ALSA]] as well as secure methods for [[Screenshot|screenshotting]] and [[Screencast|screencasting]] on [[Wayland (display server protocol)|Wayland compositors]].
* [[PipeWire]], a low-latency server for handling [[Sandbox (computer security)|sandbox-friendly]] audio and video [[Stream (computing)|streams]] on [[Linux]], which provides an implementation of PulseAudio, [[JACK Audio Connection Kit|JACK]], and [[Advanced Linux Sound Architecture|ALSA]] as well as secure methods for [[Screenshot|screenshotting]] and [[Screencast|screencasting]] on [[Wayland (display server protocol)|Wayland compositors]]
* [[systemd]] is a comprehensive init framework to start and manage services and sessions meant to replace older init models.
* [[systemd]], 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.
* [[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.
* [[pkg-config]], a helper program used to generate flags for compiler and linker to include necessary libraries
Also, [[Avahi (software)|Avahi]] (a free [[Zeroconf]] implementation) started as a fd.o project but has since become a separate project.
Also, [[Avahi (software)|Avahi]] (a free [[Zeroconf]] implementation) started as a fd.o project but has since become a separate project.


Line 106: Line 105:
==See also==
==See also==
{{Portal|Free and open-source software}}
{{Portal|Free and open-source software}}
* [[Comparison of open source software hosting facilities]]
* [[Comparison of source-code-hosting facilities]]
* [[Linux on the desktop]]
* [[Linux on the desktop]]



Latest revision as of 05:34, 27 September 2024

freedesktop.org
Type of site
Software development management system
Available inEnglish
Created byHavoc Pennington
URLwww.freedesktop.org/wiki/ Edit this at Wikidata
CommercialNo
LaunchedMarch 2000; 24 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]

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

[edit]

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

Windowing system and graphics

[edit]

Software related to windowing systems and graphics in general

Other

[edit]

Also, Avahi (a free Zeroconf implementation) started as a fd.o project but has since become a separate project.

Base Directory Specification

[edit]

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

[edit]

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

[edit]
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

[edit]

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[16] and CVS[17]), web hosting, Bugzilla, mailing lists, and other resources to free software projects that work toward the above goals.

See also

[edit]

References

[edit]
  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. ^ a b 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

[edit]
[edit]