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