Skip to content

Releases: emersion/xdg-desktop-portal-wlr

0.7.1

29 Jan 20:45
v0.7.1
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.7.1

David Turner (2):
      Handle pipewire restarts
      Fix bug in sd-bus polling

Jan Beich (1):
      build: limit epoll-shim to timerfd

Simon Ser (5):
      man: refer to wl_output instead of zxdg_output_manager_v1
      build: drop wayland-scanner find_program() fallback
      build: drop unnecessary array
      build: use / instead of join_paths()
      build: bump version to 0.7.1

columbarius (2):
      contrib: Add portals config example
      screencast: Add support for 24bit RGB formats

cptpcrd (2):
      screencast: fix source type
      screencast: report correct position/size using xdg-output

0.7.0

15 Apr 08:33
v0.7.0
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.7.0

Ferdinand Bachmann (1):
      screencast: set type of all planes, not only first plane

Linken Dinh (1):
      add Hyprland to wlr.portal

Nick Cao (1):
      scdoc: mark as build-time dependency

Simon Ser (2):
      readme: restrict build badge to commits in the master branch
      build: bump version to 0.7.0

columbarius (14):
      screenshot: Announce version property
      screencast: remove xdg-output protocol
      screencast: add fallback for linear modifier
      screencast: Send buffer transform information via PipeWire
      screenshot: announce version 1
      screencast: Use spa_pod_dynamic_builder
      screencast: Make output functions private
      screencast: Introduce xdpw_screencast_target
      screencast: Redesign chooser api to use xdpw_screencast_target
      screencast: support portal version 3
      screencast: Introduce screencast_session_data
      screencast: Implement restore token
      screencast: Add envar to set allowed persist mode
      screencast: send damage via PipeWire

0.6.0

09 Jun 09:31
v0.6.0
Compare
Choose a tag to compare

This new release adds a lot of new features:

  • Support for DMA-BUF: this allows consumers to request GPU buffers,
    improving performance significantly.
  • Support for 10-bit color formats.
  • Support for PipeWire's swapchain, removing one buffer copy operation.

The release includes a lot of internal refactoring as well.

Full commit history
Alias Gram (1):
      chore(logging): change config file error to info

Birger Schacht (1):
      Fix typo

Guido Günther (1):
      Add phosh to portal's UseIn list

Quantum (2):
      Add support for 10-bit colour formats
      Implement xdpw_format_pw_strip_alpha for 10-bit colour

Simon Ser (1):
      build: bump version to 0.6.0

columbarius (64):
      screencast: pipewire add functions to dequeue and enqueue a buffer
      screencast: use dequeue/enqueue functions instead of on_process event to interact with pipewire
      screencast: remove pipewire on_event callback
      screencast: pipewire add import_wl_shm_buffer function
      screencast: rename xdpw_frame into xdpw_screencopy_frame
      screencast: only restart wlroots loop if stream is active
      screencast: implement buffer property checks wrt. xdpw_frame and xdpw_screencopy_frame
      screencast: use pipewire buffers directly for wlroots screencopy
      screencast: cleanup screencopy_frame
      screencast: only end the fps measurement when it was started before
      screencast: reorder screencopy callbacks
      screencast: introduce xdpw_frame_state and xdpw_wlr_stream_finish
      screencast: drop imported PipeWire buffer on remove_buffer
      screencast: don't fail when copy_buffer was unsuccessfull
      screencast: mark buffer as invalid when screencopy fails
      screencast: use asserts for fatal errors
      meson: bump required pipewire version to 0.3.34
      screencast: use the pipewire callback process to start screencast
      screencast: bump the prefered amount of pipewire buffers to 4
      screencast: fix missing return value assignement
      screencast: fix check on loop_iterate
      build: define _GNU_SOURCE for PipeWire 0.3.49
      screencast: don't use the PipeWire event to trigger screencast
      session: destroy screencast_instance directly when paused
      screencast: rename screencopy_frame to screencopy_frame_info
      screencast: introduce xdpw_buffer
      screencast: restructure the screencopy flow
      screencast: relax buffer flip
      screencast: use drm format instead of wl_shm
      screencast: disable instance sharing
      screencast: introduce build_formats
      screencast: add build_buffer function
      screencast: introduce buffer_type
      screencast: implement wlr_frame_linux_dmabuf
      screencast: support modifiers in build_format
      builds: add gbm and libdrm to the build environment
      screencast: create gbm device
      protocols: add wayland protocol linux-dmabuf-unstable-v1
      screencast: add linux_dmabuf to registry
      screencast: allocate dmabuf with implicit modifier
      screencast: announce implicit modifier via PipeWire
      screencast: add option to force implicit modifier to be linear
      screencast: HACK set an arbitrary chunk size for dmabufs
      screencast: improve logging for pipewire events
      screencast: remove swap_buffer function
      screencast: enqueue pipewire when screencopy failed
      screencast: support multiplane buffers with xdpw_buffer
      screencast: support allocation of buffers with explicit modifiers
      screencast: check if pipewire returns a modifier list
      screencast: fixate modifier from PipeWire format negotiation result
      screencast: stop assuming that allocation with implicit modifier works
      screencast: get supported format modifier pairs from wlroots
      screencast: add function to query supported modifiers for a format
      screencast: announce supported explicit modifiers
      screencast: Remove MESA hack from the old gbm api fallback
      protocols: Use protocols from the wayland-protocols dependency
      meson: bump version and replace deprecated functions
      screencast: use dmabuf_feedback
      screencast: skip duplicated format-modifier pairs
      screencast: fix handler logging for tranche_formats
      screencast: use wl_array for format-modifier-pairs
      screencast: destroy session if output is removed
      screencast: send pesentation timestamp via PipeWire
      screencast: check if a valid format was received from wlr_screencopy

0.5.0

05 Nov 15:28
v0.5.0
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.5.0

This release contains a handful of bug fixes and minor improvements.

GermainZ (1):
      Fix potential memory corruption when reading bools

Jan Beich (1):
      ci: drop FreeBSD workaround after 22af25749e29

Simon Ser (3):
      build: bump version to 0.4.0
      Handle POLLHUP
      build: bump version to 0.5.0

Tobias Langendorf (1):
      Fix exec_before/after leaving a zombie process behind

columbarius (16):
      config: handle missing HOME env variable gracefully
      screencast: limit screencast framerate by output framerate
      screencast: respect the maximal framerate negotiated by pipewire
      screencast: don't rely on the structure of xdpw_screencast_instance to convert formats
      pipewire: move enumformat creation into seperate function
      pipewire: add the striped format inside of build_format
      pipewire: stop announcing a range as the video size
      screencast: add logging to pwr_handle_stream_param_changed in pipewire_sreencast.c
      screencast: create pwr_update_stream_param
      screencast: update pipewire params on buffer change
      screencast: announce supported buffer type
      screencast: pipewire add {add,remove}_buffer handler
      screencast: pipewire move buffer information from pwr_on_event to pwr_handle_stream_add_buffer
      screencast: pipewire remove uneeded PW_STREAM_FLAG_MAP_BUFFERS flag
      screencast: pipewire change to self allocation of shm buffers
      screencast: fix pipewire default id_node

0.4.0

01 Jun 15:32
v0.4.0
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.4.0

This release contains a few improvements and some bug fixes.

Note for packagers: the iniparser dependency has been replaced with
inih.

Note for users: some CLI options have been replaced with config options.
Quotes in the config file are no longer allowed.

Simon Ser (7):
      Remove -o and -f options
      Add wlroots to portal manifest UseIn list
      Add -r flag to slurp
      readme: update "Manual startup" section
      readme: add dbus-update-activation-environment command
      contrib/systemd: add ConditionEnvironment
      readme: update IRC channel

Stefano Ragni (1):
      wlr_screencast: fix return value on cmd failure

Tobias Jakobi (4):
      screencast: bring function names in line with the wlroots guidelines
      screencast: protect against NULL stream in xdpw_pwr_stream_destroy()
      screencast: improve cleanup on error in xdpw_screencast_init()
      screencast: move xdpw_pwr_stream_destroy() up

Tobias Langendorf (2):
      screenshot: implement `interactive` option
      screenshot: implement PickColor method

columbarius (10):
      wlr_screencopy: make sure xdg_output_manager is supported
      Revert "screencast: workaround corrupted output_list"
      config: use inih instead if iniparser
      doc: remove quotes from samples
      config: add missing keys to print_config
      screencast: add prompt to dmenu style default choosers
      config: fix memory leak config_home_fallback
      config: parse XDG_CURRENT_DESKTOP as a list
      doc: add note about the list character of env XDG_CURRENT_DESKTOP
      config: fix format specifier for max_fps

0.3.0

18 Apr 15:21
v0.3.0
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.3.0

Aleksei Bavshin (1):
      Fix gcc warnings on invalid `free` call

Dan Shick (1):
      Update CI config to build man pages

David96 (1):
      Add exec_before and exec_after

Simon Ser (12):
      Fix segfault in config_parse_file
      Fix whitespace issues in meson.build
      Drop /etc/xdg-desktop-portal-wlr/ from config file dirs
      Constify config_path arguments
      Don't use ~/.config when XDG_CONFIG_HOME is set
      Add man page
      readme: don't show PR status in CI badge
      ci: add /usr/local to search paths on FreeBSD
      build: remove intermediate static library
      build: remove dirs from iniparser find_library() call
      build: use has_headers in find_library()
      Bump to v0.3.0

Stefano Ragni (1):
      pipewire: Fix building EnumFormat spa object

Zsolt Donca (1):
      Control how many frames are captured per second

columbarius (8):
      Add support for config file
      screencast: add outputchooser with config option
      man: add entry for chooser_cmd and chooser_type
      screencast: workaround corrupted output_list
      wlr_screencast: create clean xdpw_wlr_output and free on remove
      wlr_screencast: call wlr_remove_output only if global is an output
      wlr_screencast: add xdg_output_listener after output registration if possible
      wlr_screencast: remove wl_display_dispatch

danshick (1):
      Fix link to trigger-screen-shot.py

0.2.0

15 Feb 09:24
v0.2.0
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.2.0

Christopher Snowhill (1):
      Add Wayfire to portal UseIn list, as it is also supported

Isaac Freund (1):
      Add river to portal UseIn list

Jan Beich (4):
      build: introduce sd-bus-provider option
      build: add basu as sd-bus provider
      screencast: prefix macros to avoid conflict with system definitions
      ci: add FreeBSD job

Manuel Romei (1):
      Revert "Remove unnecessary check from wlr_screencast.c" (#54)

Marian Buschsieweke (4):
      core: fix error handling in main
      core/main: Add static qualifier to internal func
      core/main: Use EXIT_FAILURE / EXIT_SUCCESS
      core/main: Clean up option handling

Maxim Baz (1):
      systemd: ensure service is stopped on exit of graphical session

Simon Ser (3):
      Fix freeze on skipped frame
      Remove extraneous whitespace
      Add --replace flag

Tobi Fuhrimann (1):
      Link official Arch Linux package in readme

columbarius (19):
      Destroy wlr_buffer only on quit or error in wlr_screencast.c
      Only recreate simple_frame on change in wlr_screencast.c
      munmap simple_frame.data only if needed in wlr_screencast.c
      Fix log messages in wlr_screencast.c
      Refresh buffer on change in wlr_screencast.c
      Change refresh logic and add tests in wlr_screencast.c
      Add functions to clean simple_buffer.{data,buffer} in wlr_screencast.c
      Remove unecessary checks in wlr_screencast.c
      Change loglevel for existing buffer in wlr_screencast.c
      Add comments to wlr_frame_buffer_clear in wlr_screencast.c
      Rename wlr_frame_buffer_clear to wlr_frame_buffer_destroy in wlr_screencast.c
      Remove TODO from wlr_sreencast.c
      Remove unnecessary check from wlr_screencast.c
      Fix linewidth in wlr_screencast.c
      Add pipewire buffers_dataType parameter in pipwire_screencast.c
      Bump minimum pipewire version
      Update to wlr-screencopy-unstable-v1 version 3
      Remove SPA_PARAM_BUFFERS_dataType
      Fix cursor_mode checks in screencast.c

danshick (2):
      Update contrib to mention XDG_DESKTOP_PORTAL_DIR
      Update README to include repology badge

0.1.0

05 May 14:20
v0.1.0
b82d3fc
Compare
Choose a tag to compare
xdg-desktop-portal-wlr v0.1.0

This is the first xdg-desktop-portal-wlr release. It supports
screenshots and screencasts.

Aleksei Bavshin (1):
      Add D-Bus and systemd service files

Dan Shick (12):
      Add yml exception to editorconfig
      Add thread for wlr screensharing
      Use variable framerate, add CLI option to override pixelformat metadata
      Add xdg_output protocol for output selection
      Add proper logging
      Remove thread for pipewire and all locking. Add support for elogind in meson.
      Add proper event loop. Remove last threads. Update CI with pipewire.
      Fix CI with libpipewire02, libdrm. Remove png.h unused import. Cleanup style.
      Add pipewire 0.3 support. Workaround pipewire bugs.
      Remove pipewire workarounds after upstream fix
      Check cast instance refcount before attaching
      Globally define _POSIX_C_SOURCE in meson.build Fix musl issue with time.h

James Edwards-Jones (2):
      Use sd_bus_message_append shorthand for screenshot
      Add tooling to README

Simon Ser (11):
      readme: add links, improve formatting
      Add session boilerplate
      ci: add .build.yml
      readme: add CI badge
      build: disable some annoying warnings
      Import .editorconfig from wlroots
      ci: add Alpine build (#30)
      Advertise format with alpha channel stripped
      Remove --pixelformat flag
      Replace void * with correct type in start_screencast
      build: bump version to 0.1.0

danshick (2):
      Screencast session support (#22)
      Add documentation

emersion (5):
      Initial commit
      First commit
      Add D-Bus boilerplate for Screenshot
      Invoke grim when taking screenshot
      Add missing request.c

obayemi (1):
      build: add missing libdrm dependency