Releases: emersion/xdg-desktop-portal-wlr
Releases · emersion/xdg-desktop-portal-wlr
Release list
0.8.4
xdg-desktop-portal-wlr v0.8.4
Scarab Systems (1):
screencast: default SelectSources to monitors
Scott Leggett (1):
screencast: fix stream freezing on PipeWire buffer starvation
Simon Ser (3):
screencast: print error message on Y-invert flag
screencast: guard xdpw_pwr_enqueue_buffer() in PAUSED
build: bump version to 0.8.4
0.8.3
0.8.2
xdg-desktop-portal-wlr v0.8.2
Bonsaiiv (1):
screencast: check for capture source manager in ext_register_session_cb()
Martin Piatka (1):
screencast: set READABLE/MAPPABLE flag on pw buffers
Raidon Chrome (1):
Fix screensharing on pipewire 1.6.x Skip framerate when framerate == 0 in fixate_format and build_format Prevent division by zero in pwr_handle_stream_param_changed
Simon Ser (1):
build: bump version to v0.8.2
awy (1):
Add mew chooser
cptpcrd (3):
screencast: fix damage reporting via SPA
screencast: report per-frame damage via SPA
screencast: only apply current buffer's own accumulated damage
nabnut (1):
include fuzzel as chooser
0.8.1
xdg-desktop-portal-wlr v0.8.1
Marcel Märtens (2):
screencast: accept bare toplevel identifier for simple choosers
doc: reflect behavior change in chooser_cmd in man page and config.sample
Simon Ser (4):
screencast: drop xdpw_wlr_output.{make,model}
screencast: include output description in menu chooser
screencast: add backwards compatibility for simple output choosers
build: bump version to 0.8.1
0.8.0
xdg-desktop-portal-wlr v0.8.0
Aleksei Bavshin (1):
contrib: fix typo in the portals config example
Kenny Levinsen (18):
Use GBM_MAX_PLANES in xdpw_buffer
Accumulate frame damage in per-buffer wl_array
pipewire: Build stream parameters dynamically
pipewire: Prepare for supporting multiple formats
Introduce xdpw_buffer_constraints
screencast: Simplify shutdown/error flow
ext_image_copy_capture_v1: Initial implementation
xdpw_buffer: Store allocated buffer modifier
screencopy: Reintroduce buffer constraint check
Track toplevels
Drop unnecessary wl_list_for_each_reverse_safe()
Select and capture toplevels
Free drmDevice after creating the GBM device
NULL xdpw_buffer when removing a buffer
Throttle fps from start of frame capture
Return zero delay from first fps_limit_measure_end
Only reallocate gbm device if it changed
screencast: Restrict source types to those supported
Lily Foster (1):
screencast: fix SelectSources type bitmask check
Mildred Ki'Lya (1):
readme: list supported portals, explain new portal config
Simon Ser (27):
build: simplify scdoc invocation
build: simplify sd-bus-provider=auto
screencast: simplify wl_drm format code conversions
build: add summary for auto-detected features
build: don't use cc.get_supported_arguments() for -D flag
screencast: simplify xdpw_gbm_device_create()
Add wmenu chooser
Move screencast chooser into separate file
Split chooser out read/close into separate function
Make xdpw_output_chooser.cmd const
Setup pipes in spawn_chooser()
Call fdopen() inside spawn_chooser()
readme: drop CI badge
Add xdpw_screencast_target.type
Move xdpw_screencast_target.with_cursor out of union
Drop union from xdpw_screencast_target
Don't share first output by default
Generalize xdpw_output_chooser for non-outputs
Add format_str()
Print error when chooser selects unknown target
Handle chooser cancellation
Don't print getline() error on EOF for chooser
Drop xdpw_buffer.bo
Send session Closed signal
Remove unused xdpw_screencast_wlr_session.frame_callback field
readme: exclude unsupported distros from Repology status
build: bump version to 0.8.0
Thomas Weißschuh (6):
colorchooser: force grim to only return a single pixel
colorchooser: clean up reply messages on failures
colorchooser: clean up xdpw request
screenshot: clean up reply messages on failures
screenshot: remove variable-length-array
screenshot: clean up xdpw request
Tomasz Hołubowicz (1):
Add rofi chooser
columbarius (5):
screencast: Use PipeWire to drive screencast
screencast: Refactor xdpw_wlr_* api
screencast: Store transformation as part of the frame
Group wlr_screencopy attributes in structs
Separate wlr_screencopy code into separate file
llyyr (1):
pipewire: use a wrapper function for timer callback
0.7.1
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
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
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
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
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