#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 25. Graphical Environment Libraries

- Prev

  WebKitGTK-2.46.6

- Next

  xdg-desktop-portal-gtk-1.15.2

- Up
- Home

# xdg-desktop-portal-1.20.0

## Introduction to xdg-desktop-portal

xdg-desktop-portal is a D-Bus service that allows applications to interact with the desktop in a safe way. Several aspects of desktop interaction, like file chooser, desktop style, etc are implemented in different D-Bus APIs, known as portals. Sandboxed applications benefit the most from this service since they don't need special permissions to use the portal APIs, but any application can use it. xdg-desktop-portal safeguards many resources and features with a user-controlled permission system. This service needs a backend implementing desktop-specific portal interfaces.

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

- Download (HTTP): https://github.com/flatpak/xdg-desktop-portal/releases/download/1.20.0/xdg-desktop-portal-1.20.0.tar.xz

- Download MD5 sum: 9f6450322a359a95018b57960d1ca4fd

- Download size: 1.1 MB

- Estimated disk space required: 21 MB (add 2 MB for tests)

- Estimated build time: 0.1 SBU (add 0.2 SBU for tests; with parallelism=4)

### xdg-desktop-portal Dependencies

#### Required

Fuse-3.16.2, gdk-pixbuf-2.42.12, JSON-GLib-1.10.6, pipewire-1.2.7, and dbus-1.16.0 (at runtime). Furthermore, a backend is needed at runtime for this package to be of any use, either xdg-desktop-portal-gtk-1.15.2 or xdg-desktop-portal-gnome-47.3 or xdg-desktop-portal-lxqt-1.1.0

#### Recommended

bubblewrap-0.11.0 and docutils-0.21.2 (for building the manual pages)

### Note

Although there is an option to build the package without bubblewrap, upstream developers and LFS editors alike highly recommend to not use this possibility, as it will create a large security issue.

#### Optional

GeoClue-2.7.2 (for the “location” portal), and pytest-8.3.4 with libportal-0.9.1, dbusmock-0.34.3, and umockdev-0.19.1 (for running tests)

#### Optional (for building the documentation)

sphinx-8.2.1 with sphinxext.opengraph, sphinx_copybutton, furo, and flatpak

## Installation of xdg-desktop-portal

Install xdg-desktop-portal by running the following commands:

    mkdir build &&
    cd    build &&

    meson setup --prefix=/usr --buildtype=release -D tests=disabled .. &&
    ninja

If the optional dependencies are installed, you can test the results by running:

    meson configure -D tests=enabled &&
    ninja test

Without the external dependencies one test, integration/dynamiclauncher is known to fail.

Now, as the `root` user:

    ninja install

Remove systemd files that are useless (as the `root` user):

    rm -rvf /usr/lib/systemd

## Command Explanations

`-D tests=disabled`: Prevents requiring several optional dependencies that are only needed for tests.

## Configuring xdg-desktop-portal

### Config Files

The main configuration files are `~/.config/xdg-desktop-portal/portals.conf`, `/etc/xdg-desktop-portal/portals.conf`, and `/usr/share/xdg-desktop-portal/portals.conf`. Several other locations can be searched for configuration files. See portals.conf(5).

### Configuration Information

The various configuration files are used to choose the backend depending of various conditions. See portals.conf(5) for details.

## Contents

Installed Programs: several daemons in /usr/libexec
Installed Librar(y,ies): None
Installed Director(y,ies): None

- Prev

  WebKitGTK-2.46.6

- Next

  xdg-desktop-portal-gtk-1.15.2

- Up
- Home