Skip to content

Update for wlroots 0.19#28

Open
jchv wants to merge 5 commits intoswaywm:masterfrom
jchw-forks:wlroots-0.19
Open

Update for wlroots 0.19#28
jchv wants to merge 5 commits intoswaywm:masterfrom
jchw-forks:wlroots-0.19

Conversation

@jchv
Copy link
Copy Markdown
Contributor

@jchv jchv commented Feb 19, 2026

Now that wlroots 0.20 is out out soon, it would probably be a good idea to start getting this working with at least wlroots 0.19, if only so that anyone who forks off of this library has a better start. When wlroots 0.20 is in Nixpkgs, I might take another look if I get a chance and see how hard getting it up to 0.20 will be.

  • Fixes some cases where event handlers are not cleaned up before destroy properly, since wlroots 0.19 now asserts that this is done properly in more cases.
  • Removes deprecated wlr_matrix API usage, since it is now private. The same functionality could be trivially replicated in native Go code anyways.
  • Updates the nix flake and all of the pkg-config lines.
  • Updates the nix flake to adhere to the latest nixpkgs attribute names for X.org dependencies.

I did my best to test that everything works and makes sense. For example, I tried to replicate all crashes that would be caused by not cleaning up event handlers when testing to make sure that my changes actually worked. So, I think this really is correct. The only part I know is untested is the XWayland part since tinywl doesn't have an XWayland server.

Screenshot_20260218_235609

jchv added 5 commits February 18, 2026 23:46
wlroots 0.19 adds some new assertions to ensure that event handlers are
all unregistered before an object is destroyed:

https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/8f56f7ca43257cc05c7c4eb57a0f541e05cf9a79

There is at least one case where this is not handled properly right now.

Also, clean up uses of `man.add` that can be simplified into `man.track`
calls.

This should work just fine before the upgrade.
wlr_matrix is removed in wlroots 0.19, so clean up this unused API. It
can easily be replicated in Go by anyone who needs it, anyways.
Mostly just updates the pkg-config line. But also:

- Remove obsolete parameter in call to wlr_output_begin_render_pass

- Replace removed wlr_xdg_surface_get_geometry API call with just
  accessing wlr_xdg_surface.geometry
The xorg package in nixpkgs has been deprecated in favor of new X11
attributes that are all lowercase and in the main scope. Adjust
flake.nix attribute references accordingly.
Uses the new upstream NixOS installer action, which no longer has the
diagnostic-endpoint option, so we no longer need to manually opt out of
it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant