Skip to content

0.6.0

Compare
Choose a tag to compare
@emersion emersion released this 09 Jun 09:31
· 51 commits to master since this release
v0.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