Skip to content

Releases: Ferdi265/wl-mirror

wl-mirror v0.18.5

09 Feb 22:29

Choose a tag to compare

This bugfix release contains a fix for wl-mirror not working correctly with some river window managers.

Bugfixes

  • Fixed wl-mirror exiting with an error when initial surface configure takes too long (#75)

wl-mirror v0.18.4

01 Feb 15:24

Choose a tag to compare

This bugfix release contains a fix for wl-mirror not working correctly in an edge case with libdecor.

Bugfixes

  • Fixed wl-mirror exiting with an error when no libdecor decoration plugins are installed (#74)

Packaging

This release is now only signed with the new PGP key as noted in release v0.18.2. Please switch to this key for verifying package artifacts.

wl-mirror v0.18.3

06 Aug 15:38

Choose a tag to compare

This bugfix release contains a few cleanups and a fix for a minor issue causing window rules based on window titles to not work well with wl-mirror.

Bugfixes

  • Fixed custom titles from --title only applying after the window is created and not during initial configure (#72)
  • Fixed directory variables in CMake containing trailing slashes or double slashes in some cases (#71). This did not cause any issues on any known system, but is fixed either way.

Other Changes

  • Allow spaces in output identifiers when using the output label from --region
  • Use wl-mirror's builtin output detection for ask-output-or-region in wl-present instead of manually parsing the output with IFS
  • Document the slurp -f syntax for the format supported by wl-mirror's --region option

Packaging

This release is again signed by both the new PGP key and the old PGP key. Future releases after November will only be signed using the new key. If you haven't already, please switch to verifying your release archives for new versions with the new PGP key. The new PGP key is attached to the previous release.

wl-mirror v0.18.2

27 Apr 18:06

Choose a tag to compare

This bugfix release fixes an issue that could cause crashes with future versions of wlroots. This release also introduces a new signing key since the previous key is set to expire in November. Releases will be additionally signed by the old key for as long as it is valid.

Bugfixes

  • Fix a wlroots compositor warning with wlroots 0.19.0-rc1 and newer when compiling with libdecor (#67)
  • Fix unused variable warnings when compiling without GBM (#65)

Packaging

This release introduces a new signing key since the previous key is set to expire in November. Future releases will be signed by key-id A4FAD9CEDA213AF3. The new key and old key are signed by each other, and all releases until November will be signed by both keys. The new key is also attached to this release.

Packagers should switch to verify releases using the new key for future packages. Contact me at ferdinand.bachmann@yrlf.at if you need further proof that both keys belong to the same person.

wl-mirror v0.18.1

30 Mar 15:39

Choose a tag to compare

This bugfix release fixes an crash issue on some compositors and adds optional bash and zsh completions for wl-mirror and wl-present.

New Features

  • zsh completions have been added in scripts/completions/zsh-completions (#63, thanks @mazunki!)
  • bash completions have been added in scripts/completions/bash-completions

Bugfixes

  • Fix wl-mirror crashing on some compositors with wp_viewport error "source rectangle out of buffer bounds" (#64)

wl-mirror v0.18.0

13 Mar 15:23

Choose a tag to compare

This release finally adds support for DMA-BUFs with the screencopy backend, an all-new extcopy backend for ext-image-copy-capture-v1 which will provide non-wlroots compositor support once other compositors start implementing it, and a few bug-fixes.

New Features

  • Added a new screencopy-dmabuf backend that uses DMA-BUFs instead of shared memory. (requires WITH_GBM, see below)
    • Also changed the screencopy backend to automatically choose screencopy-dmabuf over screencopy-shm when available.
  • Added new extcopy-dmabuf and extcopy-shm backends that use ext-image-copy-capture-v1 (#46). (extcopy-dmabuf requires WITH_GBM, see below)
    • Also added an extcopy backend that automatically chooses extcopy-dmabuf over extcopy-shm when available.
  • Added the CMake option WITH_GBM for using libgbm and libdrm for hardware-agnostic DMA-BUF allocation. This enables the new screencopy-dmabuf and extcopy-dmabuf backends.

Bugfixes

  • Fix a potential use-after-free when using --title together with --stream (#53, thanks @danielrainer!)
  • Rework stream input handling to be less error-prone (#54, thanks @danielrainer!)
  • Fixed missing man-page documentation for --title

Other Changes

  • Updated wayland-protocols to 1.41
  • Added common DMA-BUF and SHM buffer allocation and import code. This should make adding more backends with both DMA-BUF and SHM support much easier.
  • Added common DRM / SHM / GL format database. This should allow finding the correct format for importing textures into GL without needing tables for it in every backend.

Changes since v0.18.0-pre

  • Deduplicate initialization code for DMA-BUF / SHM variants of each backend

Upgrading

This release contains new optional dependencies on libgbm and libdrm when the WITH_GBM CMake option is set to ON. Testers should consider enabling this option to be able to use the new DMA-BUF backends.

wl-mirror v0.18.0-pre

24 Feb 22:33

Choose a tag to compare

wl-mirror v0.18.0-pre Pre-release
Pre-release

This pre-release finally adds support for DMA-BUFs with the screencopy backend, an all-new extcopy backend for ext-image-copy-capture-v1 which will provide non-wlroots compositor support once other compositors start implementing it, and a few bug-fixes.

This release is a pre-release as it contains some major changes to the handling of both shared memory and DMA-BUF capturing, as well as a new optional dependency. If you find any bugs, please report them so they can be fixed before v0.18.0 proper.

New Features

  • Added a new screencopy-dmabuf backend that uses DMA-BUFs instead of shared memory. (requires WITH_GBM, see below)
    • Also changed the screencopy backend to automatically choose screencopy-dmabuf over screencopy-shm when available.
  • Added new extcopy-dmabuf and extcopy-shm backends that use ext-image-copy-capture-v1 (#46). (extcopy-dmabuf requires WITH_GBM, see below)
    • Also added an extcopy backend that automatically chooses extcopy-dmabuf over extcopy-shm when available.
  • Added the CMake option WITH_GBM for using libgbm and libdrm for hardware-agnostic DMA-BUF allocation. This enables the new screencopy-dmabuf and extcopy-dmabuf backends.

Bugfixes

  • Fix a potential use-after-free when using --title together with --stream (#53, thanks @danielrainer!)
  • Rework stream input handling to be less error-prone (#54, thanks @danielrainer!)
  • Fixed missing man-page documentation for --title

Other Changes

  • Updated wayland-protocols to 1.41
  • Added common DMA-BUF and SHM buffer allocation and import code. This should make adding more backends with both DMA-BUF and SHM support much easier.
  • Added common DRM / SHM / GL format database. This should allow finding the correct format for importing textures into GL without needing tables for it in every backend.

Upgrading

This release contains new optional dependencies on libgbm and libdrm when the WITH_GBM CMake option is set to ON. Testers should consider enabling this option to be able to use the new DMA-BUF backends.

wl-mirror v0.17.0

14 Oct 19:50

Choose a tag to compare

This release contains a few smaller new features, some refactorings, and some bug fixes.

New Features

  • Added the CMake option WITH_LIBDECOR for using libdecor (off by default) for creating client-side window decorations (or negotiating server-side window decorations) for compositors that require them. This does not add support for Gnome and KDE yet, but is a step in that direction.
  • Added a --title option to allow custom window titles with support for placeholders such as {target_output} (#45, thank you @mazunki!)
  • Added support for controlling multiple simultaneous wl-present sessions using the WL_PRESENT_PIPE_NAME env var or --name option
  • Improved wl-present behaviour when not having pipectl installed

Bugfixes

  • Fixed negative output coordinates not working properly with regions (#50, thanks @jkub6!)
  • Fixed wl-present behaving inconsistently when running multiple sessions at once (#51)
  • Fixed wayland protocol header generation when cross-compiling by adding a FORCE_WAYLAND_SCANNER_PATH CMake variable to provide the path to the host tool (#44, thanks @zboszor)

Other Changes

  • Made release tarballs reproducible. Running ./scripts/release.sh while checked out on a tag should now result in an identical tarball as attached to this release
  • Refactored the codebase to use the prefix wlm_ for all public functions

Upgrading

For regular users, no changes are necessary. Packagers should consider enabling the WITH_LIBDECOR option or adding it as an option for systems such as Gentoo or Nix if the additional dependency is acceptable. This option might become a default in future releases when support for KDE and Gnome is added.

Releases will now also contain a "nowlp" tarball that does not include wayland-protocols (but does include wlr-protocols) for distros with strict copyright attribution requirements that don't want to manually attribute all of wayland-protocols (such as Debian).

wl-mirror v0.16.5

19 Jul 14:15

Choose a tag to compare

This bugfix release fixes wl-mirror consuming unreasonable amounts of CPU when using the stream option.

Bugfixes

  • Fix wl-mirror consuming 100% CPU on one core when using the --stream (or -S) option. Since wl-present uses the stream option, this also affected wl-present usage. (#42)

wl-mirror v0.16.4

01 Jul 13:36

Choose a tag to compare

This release contains a few improvements to the wl-present script, but no changes to wl-mirror itself.

Changes

  • Allow specifying additional options after wl-present mirror. This allows starting wl-mirror directly in fullscreen via wl-present, e.g. wl-present mirror --fullscreen-output HDMI-A-1 --fullscreen.
  • Allow overriding slurp in wl-present via WL_PRESENT_SLURP environment variable.
  • Automatically detect fuzzel as a dmenu replacement in wl-present
  • Add kanshi configuration example to README
  • Update wl-present man page