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)

  • drwankingstein@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    6
    ·
    edit-2
    3 months ago

    Yay, another set of protocols that will just lead to more and more fragmentation.

    You do acknowledge one issue with Wayland, probably the biggest issue with Wayland, but then fail to acknowledge the second biggest issue with Wayland being fragmentation.

    Solve one issue by making another issue worse.

    • merthyr1831@lemmy.ml
      link
      fedilink
      English
      arrow-up
      10
      ·
      edit-2
      3 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
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        3 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

        • Virkkunen@fedia.io
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          3 months ago

          You either come up with something like frog-protocols to try and actually get things done, or you can wait for Wayland devs to endlessly bikeshed. Getting some amount of harmless fragmentation on an open source project seems much better than waiting 4 years (and counting) for them to start actually working on implementing HDR.

    • Drito@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      3 months ago

      I’m ignorant about display servers. Should applications be ported from a Wayland compositor to another Wayland compositor that has a different “protocol extension” ?

    • Mactan@lemmy.ml
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      3 months ago

      I can’t help but feel that they like Wayland the way it is, seeing as it’s certainly not changed course

      • drwankingstein@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 months ago

        this is pretty much how it works in some cases, you need to port from one protocol to another, or to a different system altogether.