# XDG Desktop Portal

> D-Bus service that allows applications to interact with the desktop in a safe way

**Wikidata**: [Q124711855](https://www.wikidata.org/wiki/Q124711855)  
**Source**: https://4ort.xyz/entity/xdg-desktop-portal

## Summary
XDG Desktop Portal is a D-Bus service that enables applications to interact with the desktop environment in a secure manner, providing a standardized way for applications to access desktop features like file system access, window management, and system notifications.

## Key Facts
- It is classified as free software distributed under terms allowing users to run, study, change, and distribute it
- The service runs on BSD Unix-like operating systems
- It is primarily used with Flatpak application containers
- Aliases include "xdg-desktop-portal" and "XDP"
- Licensed under GNU Lesser General Public License version 2.1
- Available in stable versions from 0.1 (2016-07-07) through 1.20.3 (2025-05-20)
- Primary website is https://github.com/flatpak/xdg-desktop-portal
- Nixpkgs package identifier is xdg-desktop-portal
- Instance of free software
- FreeBSD has a deskutils/xdg-desktop-portal port
- Gentoo package is sys-apps/xdg-desktop-portal
- Ubuntu packages include xdg-desktop-portal, xdg-desktop-portal-dev, and xdg-desktop-portal-tests
- Gitlab topic ID is xdg-desktop-portal
- Arch Linux has an article titled "XDG_Desktop_Portal"
- Copyrighted software with operating system classification as BSD
- Guix variable name is xdg-desktop-portal
- Debian source package started on 2016-09-22
- Debian stable packages include xdg-desktop-portal, xdg-desktop-portal-dev, and xdg-desktop-portal-tests
- Source code repository is https://github.com/flatpak/xdg-desktop-portal

## FAQs
- **What is the primary purpose of XDG Desktop Portal?** It serves as a D-Bus service enabling applications to interact with the desktop environment in a secure manner, providing standardized access to desktop features.
- **What license governs XDG Desktop Portal?** The software is licensed under the GNU Lesser General Public License version 2.1.
- **Which operating systems does it support?** It runs on BSD Unix-like operating systems and is compatible with various Linux distributions including FreeBSD, Gentoo, Ubuntu, and Arch Linux.
- **How is it packaged in Linux distributions?** It's available as packages in Nixpkgs, FreeBSD ports, Gentoo, Ubuntu, and Debian repositories.
- **What is its relationship to Flatpak?** It is primarily used with Flatpak application containers to provide desktop integration capabilities.

## Why It Matters
XDG Desktop Portal addresses the challenge of providing consistent desktop integration across different operating systems and environments. Before its development, applications needed to implement desktop features differently for each platform, leading to fragmentation and inconsistent user experiences. By creating a standardized D-Bus service, it enables applications to access desktop functionality through a common interface regardless of the underlying system or desktop environment. This standardization simplifies application development and ensures a more uniform experience for users across different Linux distributions and container environments.

## Notable For
- First D-Bus service specifically designed for desktop integration across multiple operating systems
- Standardization of desktop features like file system access, window management, and system notifications
- Integration with the Flatpak ecosystem to provide consistent desktop experience for sandboxed applications
- Cross-distribution compatibility across major Linux distributions including Debian, Ubuntu, Gentoo, and Arch Linux
- Continuous development with stable releases from 0.1 to 1.20.3 over nearly a decade

## Body
### History
XDG Desktop Portal was developed as a D-Bus service to provide a standardized way for applications to interact with desktop environments. The project began with the first stable release on July 7, 2016 (version 0.1), and has since evolved through multiple major versions. The development has been continuous, with regular updates addressing new features and compatibility requirements. The project's timeline shows consistent releases through 2025, with the latest stable version being 1.20.3 released on May 20, 2025.

### Architecture
The service operates as a D-Bus daemon that provides various desktop integration capabilities through different modules. It uses a modular design where different components handle specific functions like file system access, window management, and system notifications. The architecture is designed to be extensible, allowing new features to be added through additional modules while maintaining compatibility with existing applications.

### Ecosystem
XDG Desktop Portal integrates with multiple Linux distributions and package management systems:
- **Nixpkgs**: Identified by the package ID "xdg-desktop-portal"
- **FreeBSD**: Available as a deskutils port
- **Gentoo**: Available as sys-apps/xdg-desktop-portal
- **Ubuntu**: Included as packages xdg-desktop-portal, xdg-desktop-portal-dev, and xdg-desktop-portal-tests
- **Debian**: Available as source package starting September 22, 2016, with stable packages in the bookworm release

The service is also integrated with the Flatpak application container system, which uses it to provide desktop integration capabilities for sandboxed applications. This integration ensures that Flatpak applications have access to the same desktop features as native applications.

### Community and Development
The project is maintained through an open-source development model with contributions from various developers. The source code is hosted on GitHub under the URL https://github.com/flatpak/xdg-desktop-portal. The project has a Gitlab topic ID of xdg-desktop-portal, indicating its presence in the broader open-source community. Documentation and community support are available through various channels including the Arch Linux wiki and Gentoo wiki articles.

### Technical Details
The service implements desktop integration through several key components:
- **File system access**: Provides applications with secure access to the file system
- **Window management**: Handles window creation, positioning, and management
- **System notifications**: Enables applications to display system notifications
- **Settings access**: Allows applications to access system settings and preferences

The service operates under the GNU Lesser General Public License version 2.1, making it available under free software terms. The project maintains a comprehensive release history with stable versions from 0.1 through 1.20.3, each with specific release dates and associated documentation.

### Related Projects and Dependencies
XDG Desktop Portal has dependencies on various system components including:
- **D-Bus**: The service uses D-Bus as its communication protocol
- **Flatpak**: Primary integration with the Flatpak container system
- **Desktop environments**: Works with various desktop environments to provide consistent integration

The project has relationships with other XDG standards and desktop integration projects, contributing to the broader ecosystem of desktop application development. Its implementation follows the XDG specifications for desktop integration, ensuring compatibility with other XDG-compliant applications and systems.

## References

1. [Release 0.1. 2016](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.1)
2. [Release 0.2. 2016](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.2)
3. [Release 0.3. 2016](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.3)
4. [Release 0.4. 2016](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.4)
5. [Release 0.5. 2017](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.5)
6. [Release 0.6. 2017](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.6)
7. [Release 0.8. 2017](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.8)
8. [Release 0.9. 2017](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.9)
9. [Release 0.10. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.10)
10. [Release 0.11. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.11)
11. [Release 0.99. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/0.99)
12. [Release 1.0. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.0)
13. [Release 1.0.1. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.0.1)
14. [Release 1.0.2. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.0.2)
15. [Release 1.0.3. 2018](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.0.3)
16. [Release 1.2.0. 2019](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.2.0)
17. [Release 1.4.0. 2019](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.4.0)
18. [Release 1.4.1. 2019](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.4.1)
19. [Release 1.4.2. 2019](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.4.2)
20. [Release 1.6.0. 2019](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.6.0)
21. [Release 1.8.0. 2020](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.8.0)
22. [Release 1.8.1. 2021](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.8.1)
23. [Release 1.10.0. 2021](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.10.0)
24. [Release 1.10.1. 2021](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.10.1)
25. [Release 1.12.0. 2021](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.0)
26. [Release 1.12.1. 2021](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.1)
27. [Release 1.12.2. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.2)
28. [Release 1.12.3. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.3)
29. [Release 1.12.4. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.4)
30. [Release 1.12.5. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.5)
31. [Release 1.12.6. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.12.6)
32. [Release 1.14.0. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.0)
33. [Release 1.14.1. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.1)
34. [Release 1.14.2. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.2)
35. [Release 1.14.3. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.3)
36. [Release 1.14.4. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.4)
37. [Release 1.14.5. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.5)
38. [Release 1.14.6. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.6)
39. [Release 1.16.0. 2022](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.16.0)
40. [Release 1.18.0. 2023](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.18.0)
41. [Release 1.18.1. 2023](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.18.1)
42. [Release 1.18.2. 2023](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.18.2)
43. [Release 1.16.1. 2024](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.16.1)
44. [Release 1.18.3. 2024](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.18.3)
45. [Release 1.18.4. 2024](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.18.4)
46. [Release 1.20.0. 2025](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.20.0)
47. [Release 1.20.1. 2025](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.20.1)
48. [Release 1.20.2. 2025](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.20.2)
49. [Release 1.20.3. 2025](https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.20.3)
50. [Source](https://packages.debian.org/source/bookworm/xdg-desktop-portal)