84282e9b5f
This implements the modifier fixation procedure. The producer of a stream has to ensure that it can create a buffer with the negotiated properties. To do that we will take the result of the intersection of supported modifiers by PipeWire and select the "best" modifier from that list. To do this we do the following allocations and fixate on the modifier of the created buffer should the allocation suceed. * Try to allocate a buffer with explicit modifiers using the list provided by PipeWire * Walk the list of modifiers and do single allocations for implicit and linear modifiers using the old api. If none of the allocations above succeed we fall back to shm buffers. This is implemented in the next commit. If an allocation was successfull we fixate the modifier with fixate_format(). This function creates an EnumFormat like build_format, but will only announce support for a single modifier. It is used to finish the negotiation process by announcing it together with EnumFormats of our full supported formats. |
||
---|---|---|
.builds | ||
contrib | ||
include | ||
protocols | ||
src | ||
.editorconfig | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
meson.build | ||
meson_options.txt | ||
org.freedesktop.impl.portal.desktop.wlr.service.in | ||
README.md | ||
wlr.portal | ||
xdg-desktop-portal-wlr.5.scd |
xdg-desktop-portal-wlr
xdg-desktop-portal backend for wlroots
Building
meson build
ninja -C build
Installing
From Source
ninja -C build install
Distro Packages
Running
Make sure XDG_CURRENT_DESKTOP
is set. Make sure WAYLAND_DISPLAY
and
XDG_CURRENT_DESKTOP
are imported into D-Bus. If you're running Sway, this
can be added to your config file:
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
When correctly installed, xdg-desktop-portal should automatically invoke xdg-desktop-portal-wlr when needed.
Configuration
See man 5 xdg-desktop-portal-wlr
.
Manual startup
At the moment, some command line flags are available for development and testing. If you need to use one of these flags, you can start an instance of xdpw using the following command:
xdg-desktop-portal-wlr -r [OPTION...]
To list the available options, you can run xdg-desktop-portal-wlr --help
.
FAQ
Check out or FAQ for answers to commonly asked questions.
Please see the screencast compatibility guide for more information on compatible applications and how to get them working.
If you have a question or problem that is not mentioned in those documents, please open an issue or come chat with us in #sway on Libera Chat.
Contributing
If you're interested in testing or development, check out CONTRIBUTING.md for more information.
License
MIT