Since nvidia drivers do not properly implement implicit sync, this protocol not existing is the root cause of flickering with nvidia graphics on Wayland. This MR being merged means that Wayland might finally be usable with nvidia graphics with the next driver release.

EDIT: Nvidia dev posted that support is planned in the 555 driver, with beta release planned for May 15: https://github.com/NVIDIA/egl-wayland/pull/104#issuecomment-2010292221

  • imnapr@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    26
    ·
    8 months ago

    God I fucking hope so man. I’m so tired of Nvidia not working on Wayland properly. It’ll be so nice to have VRR and gSync on Wayland without the awful flickering.

  • pr06lefs@lemmy.ml
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    8 months ago

    Questions from someone still on xmonad/x11, with 3 computers that have nvidia cards:

    Do all nvidia cards have trouble in wayland currently, or is it just some subset?

    Is it really unususable, or just really annoyingly flickery?

    Would my card be usable now (without this merge) if I was using the nouveau driver?

    Once this is merged, will all nvidia cards work in wayland? Or do we not really know yet.

    • unique_hemp@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      15
      ·
      8 months ago

      Nouveau should have already been fine, this should fix the proprietary driver’s issues. AFAIK this is a core issue of the proprietary driver, so should affect all cards.

      I tried Wayland on my 16xx series GPU, Electron apps were only annoying, but games were unplayable. The desktop itself and Wayland native apps worked fine, though.

    • SuperIce@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      8 months ago

      The Nvidia driver on Wayland has been decent for a couple of years and stabilized a lot over the past ~6 months. The flickering issue was specific to XWayland. Normal Wayland apps don’t have flickering problems (not quite sure why tbh), but XWayland apps would often rapidly flicker between 2 frames since it only supported implicit sync, which confused the Nvidia driver, which only supports explicit sync. Now with a Wayland protocol for explicit sync, XWayland can be updated to support it and resolve the flickering there.

    • blipblip [he/him, they/them]@hexbear.net
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 months ago

      I only have experience with my current GPU (3070 ti) and only in Hyprland, but the only flickering I have is in steam windows, everything else works flawlessly on 535 driver. Still excited that it may be fixed soon!

      • dimath@ttrpg.network
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        On 3060 mobile, there is flickering in steam and chrome, but it’s usable. In chrome I believe it can be fixed by disabling hardware acceleration.

    • matcha_addict@lemy.lol
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      For what it’s worth, I have only minor issues on wayland with nvidia, and all were fixable by changing some configuration option or something.

      Maybe my demands aren’t too heavy, but I do play games. I also use gentoo which makes fixing things easier.

      • unique_hemp@discuss.tchncs.deOP
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        Maybe if your games are Wayland native or you’re still running the 535 driver? I saw fbdev=1 as a workaround, but that made things very jello-y.

    • Sina@beehaw.org
      link
      fedilink
      arrow-up
      0
      ·
      8 months ago

      It’s not really card related, but rather it just comes up sometimes in niche circumstances. I only had this on my second monitor and then it went away with an nvidia driver update. (since then i moved to amd)

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    13
    arrow-down
    3
    ·
    edit-2
    8 months ago

    The root cause of Nvidia flicker is Nvidia ecosystem being a total shitshow. This has nothing to do with drivers and how bad they are, or how Nvidia refuses to open source even the base of their desktop card drivers, or that the few tools they contribute to in in the OSS space to work around that are awful, or that the entire Linux environment for Nvidia is all about the datacenter (what an insane mess that is).

    Good luck Nvidia+Linux fanboys.

    • unique_hemp@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      14
      ·
      8 months ago

      Well, this is the root cause of this specific issue if you treat nvidia’s part of the stack as some barely changable black box (which is what it is right now). It’s not that I disagree open source drivers would be better, I just already own an nvidia GPU :/

      • zurohki@aussie.zone
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 months ago

        I’d argue the root cause was Nvidia insisting that X11 was the future, they’d never support Wayland, and refusing to participate in any of the design processes. As a result when they got dragged kicking and screaming into supporting Wayland, nothing that had been developed without Nvidia suited their hardware or drivers.

        They first tried to throw their weight around by forcing EGLStreams on everyone, failed, and they’ve been scrambling to catch up ever since.

    • dimath@ttrpg.network
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      edit-2
      8 months ago

      Sure, I agree, but Nvidia proprietary driver is still the best for gaming, isn’t it?

      • CalcProgrammer1@lemmy.ml
        link
        fedilink
        arrow-up
        10
        arrow-down
        1
        ·
        8 months ago

        The AMD radv driver is best for gaming at the moment IMO. If you’re stuck with NVIDIA hardware then yes, the proprietary driver is the best for gaming as the open source driver is quite slow, but the good news is that this is rapidly changing after being stagnant for 5+ years. NVK is the new open source NVIDIA Vulkan driver in Mesa and it just recently left experimental to be included officially in the next Mesa release. Also, NVIDIA’s GSP firmware changes mean that the open source nouveau kernel driver can finally reclock NVIDIA GPUs to high performance clocks/power states thus it could achieve performance parity with the proprietary driver with enough optimization. On my RTX 3070 laptop it is still significantly slower and some games don’t work yet, but there is no flickering or tearing that I experience with the proprietary driver. Unfortunately for GTX 10 series users, these cards do not use GSP firmware and have no means of reclocking still so they will be stuck using only proprietary drivers for the forseeable future.

    • SuperIce@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      We also need support for the new protocol in Nvidia’s driver. Support will be available in driver 555, the beta of which will be released on May 15. So there’s still some time to wait until it’s fully fixed.

    • visor841@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      Currently yes, tho Wine has gotten pretty far with Wayland support, so it wouldn’t be too surprising to see Wine Wayland be useable for gaming in the next year or two.

    • unique_hemp@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      I saw a comment from an nvidia dev somewhere that XWayland support is enough to resolve the flickering, but compositor support is needed for best performance.

  • TheFinn@discuss.tchncs.de
    link
    fedilink
    arrow-up
    1
    ·
    8 months ago

    I’m all for progress, I hope it helps people, but I haven’t had any issues with my Nvidia card and my two monitors on Wayland.

  • kugmo@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    so was the problem wayland not doing something correctly or nvidia not doing something correctly 🤔

    • AProfessional@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      8 months ago

      Well correct is a matter of opinion.

      Nvidia doesn’t support implicit sync, because they view explicit sync as more correct, it lets the driver do fewer things that might be wrong and perform better. This is true.

      The Linux world often assumes implicit sync works. This was never true.

        • LeFantome@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          8 months ago

          Well, kind of. This is an example of everybody doing it one way and NVIDIA doing something else. So, we should not lose sight of this being NVIDIA being a poor team player and expecting the world to revolve around them.

          That said, you can argue that the way NVIDIA wants to work is more correct and that a “complete” Wayland implementation should support that approach.

          It is totally fair to see this as a missing feature in Wayland ( so “just wayland things” ). However, a more collaborative NVIDIA could have absolutely made a better experience for their users in the meantime ( as AMD has for example ).

          Taken in combination, this is why so many of the “I use Wayland and it works just fine” people do not use NVIDIA and why so many of the “Wayland is not ready” people are NVIDIA users.

          Reading the tea leaves, things should generally work for most people by the time the major distros make their releases in the fall ( eg. Ubuntu 24.10 ). By then, many of these improvements to Wayland will have made their way to shipping code. At the same time, improvements to both the NVIDIA proprietary drivers and NVK will have done the same. The fact the Wayland support in Wine will have matured by then may also be a factor.