From the repo

Wayland Protocols has long had a problem with new protocols sitting for months, to years at a time for even basic functionality.

This is hugely problematic when some protocols implement very primitive and basic functionality such as frog-fifo-v1, which is needed for VSync to not cause GPU starvation under Wayland and also fix the dreaded application freezing when windows are occluded with FIFO/VSync enabled.

We need to get protocols into end-users hands quicker! The main reason many users are still using X11 is because of missing functionality that we can be shipping today, but is blocked for one reason or another.

Mesa MR to add support for the 'frog-fifo-v1' protocol :(https://github.com/misyltoad/frog-protocols)

  • merthyr1831@lemmy.ml
    ·
    edit-2
    2 months ago

    Wayland's approach has always been to make 3rd party protocols easier to opt in and out of. Sway and Hyprland both used custom protocols whilst official solutions were being designed iirc. Nothing stopping anyone from switching from one protocol to another if they implement the same thing down the line.

    At least this way, compositors may be able to use something like frog as a shared "experimental branch" which can be enabled for users who need them, but otherwise disabled whilst Wayland core isn't pressured to work faster.

    It's up to Wayland to make these projects obsolete if it causes them or users a problem.

    • drwankingstein@lemmy.dbzer0.com
      ·
      edit-2
      2 months ago

      that's just the thing, This is again, more fragmentation, Some compositors support always on top, some don't, you choose x protocol for your app, and now your app works great on sway, but not on KDE or gnome, or it works great on gnome and not kde or sway etc. As an app developer the situation is a bloody joke. My current stance is "just use xwayland because wayland will never be suitable" and thankfully with cosmic and kde both supporting "don't scale xwayland" this seems to work well.

      EDIT: they also make enough deviances from the upstream protocols that this can't really be considered a "experimental branch"

      EX: https://github.com/misyltoad/frog-protocols/blob/main/frog-protocols/frog-color-management-v1.xml vs https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/14/diffs