tce-load -i compiletc meson libadwaita-dev gst-plugins-bad-dev rust desktop-file-utils

wget https://download.gnome.org/sources/snapshot/45/snapshot-45.2.tar.xz

cd snapshot-45.2

mkdir build
cd build

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" meson --prefix=/usr/local --localstatedir=/var --buildtype=plain

ninja [10m 30.95s]
sudo ninja install

Could not use the camera portal: ZBus Error: I/O error: No such file or directory (os error 2)    

runtime dep pipewire03

## XDG Desktop Portal
Snapshot uses the camera portal to request camera access. There are desktop environment specific implementations for it, thus ensure to have the matching one installed:

* [Gnome](https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome)
* [KDE](https://github.com/KDE/xdg-desktop-portal-kde)
* [wlroots](https://github.com/emersion/xdg-desktop-portal-wlr) (Sway, Phosh, Hyprland etc.)

If Snapshot can't find any devices, you can check camera permissions in various ways, a simple one being [Flatseal](https://flathub.org/apps/com.github.tchx84.Flatseal).

## Gstreamer
Snapshot uses `GstPipeWire` components. In order to list available cameras and additional information about them, look for entries that contain `gst-launch-1.0 pipewiresrc` when running:

snapshot 45.2

  User defined options
    buildtype    : plain
    localstatedir: /var
    prefix       : /usr/local
