Wayland seems ready to me but the main problem that many programs are not configured / compiled to support it. Why is that? I know it’s not easy as “Wayland support? Yes” (but in many cases adding a flag is enough but maybe it’s not a perfect support). What am I missing? Even Blender says if it fails to use Wayland it will use X11.

When Wayland is detected, it is the preferred system, otherwise X11 will be used

Also XWayland has many limitations as X11 does.

  • Leaflet@lemmy.world
    link
    fedilink
    English
    arrow-up
    65
    ·
    3 months ago

    Blender’s Wayland support is not great because they’re doing stuff from scratch. They’re not using an existing toolkit like GTK, Qt, Electron, or even something like SDL to get Wayland support.

    But if you’re using an existing toolkit things are much easier and support is automatically there, you just need to do testing to ensure everything works.

    The common biggest things that still use Xwayland are Chromium based apps and programs running under wine/proton. Chromium has an experimental Wayland mode that works well enough, but definitely has some bugs, especially around windowing. Wine Wayland is in the works.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      edit-2
      3 months ago

      Thanks for the insight.

      Yeah Blender seems like an exception.

      Also that means I play lots of Wine/Proton games and many web apps / Electron don’t care.

  • leopold@lemmy.kde.social
    link
    fedilink
    arrow-up
    33
    ·
    3 months ago

    Because it doesn’t matter for most apps. XWayland works fine.

    Even Blender says if it fails to use Wayland it will use X11.

    What are you trying to say? Of course it does. Pretty much every Linux app still supports X11, because a lot of people are still using X11. Only exception I’m aware of is Waydroid.

  • visor841@lemmy.world
    link
    fedilink
    arrow-up
    32
    ·
    3 months ago

    Also XWayland has many limitations as X11 does.

    If an app has only ever supported X11, then it probably doesn’t care about those limitations (the apps that do care probably already have a Wayland version). And if an app doesn’t care about the extra stuff Wayland has to offer, then there’s not really a reason to add the extra support burden of Wayland. As long as they work fine in XWayland, I think a lot of apps won’t switch over until X11 support starts dropping from their toolkit, and they’ll just go straight to Wayland-only.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      7
      arrow-down
      2
      ·
      3 months ago

      Yeah I agree. Maybe some day X11 will be seen as something legacy that needs to be deprecated. But not now…

      • gazby@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        12
        ·
        3 months ago

        Plasma deprecated their X11 session in v6 pending removal in the future, and Redhat has already dropped it in Fedora & will do for EL in the next release.

        • Leaflet@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          ·
          3 months ago

          Plasma didn’t deprecate X11. Though some developers hinted that the Xorg session will probably be dropped before Plasma 7 and before Qt drops X11. But nothing concrete.

          • gazby@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            9
            ·
            3 months ago

            Oh indeed not deprecated, my bad. Wayland is default and “preferred” (how they’re deciding what to prefer I can’t imagine), and X11 is confirmed to be removed in a future release.

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

        X11 has exactly one developer who’s a vaccine denying turbocunt German, everyone else has dropped it and it’s codebase is practically unknown territory with security risks.

        Look man, it’s dead already

  • Billegh@lemmy.world
    link
    fedilink
    arrow-up
    28
    arrow-down
    1
    ·
    3 months ago

    Because Wayland is fundamentally very different from the older X protocol, and many programs don’t even directly do X. They leverage libraries that do it for them. Those libraries are a huge part of the lag. Once GTK and Qt and the like start having a stable Wayland interface, you’ll see a huge influx of support.

    A big part of the slowness is why Wayland is a thing to begin with. X hid a lot of the display hardware from apps. Things like accessing 3d hardware had to be done with specialized display clients. This was because X is natively a remote display tool. You can use X to have your program show its display somewhere else. Wayland won’t do that because that’s not the point. Applications that care will have goals for change. Applications don’t care will support it once someone else does it for them.

    Right now, the only things that would benefit from Wayland are games and apps that make heavy use of certain types of hardware. Half of those don’t care about linux, while the other half is OK with X and xwayland.

  • wiki_me@lemmy.ml
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    1
    ·
    3 months ago

    good is the enemy of excellent. X11 works for most users (almost all the users?) well. You can see that with the adoptions of other standards like the C++ standards and IPV6 which can feel like forever.

    Another thing I think one of the X11 maintainers mentioned iirc is that they have been fairly gentle with deprecation. some commercial company could have deprecated X11 and left you with a wayland session that is inferior in some ways.

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

      Wayland “leaves blind users behind” due to its security oriented design. A protocol or portal of some kind is going to need to be created to solve this problem, but progress here is severely lacking.

      • _edge@discuss.tchncs.de
        link
        fedilink
        arrow-up
        12
        arrow-down
        1
        ·
        edit-2
        3 months ago

        Not an expert, not an insider. Just commenting to inform about what i know.

        When wayland was designed, security was a concern and it was handled differently than in X decades ago. That is good.

        Under X any application can be a screenreader and see your data. This was okay when you trusted everything on your machine, but is a problem today.

        Under wayland’s original design, no application could be a screenreader. That’s bad. It took way too long to agree on how to make exceptions to the rule, e.g. for screen readers, screen sharing in video calls, etc.

      • nyan@sh.itjust.works
        link
        fedilink
        arrow-up
        5
        ·
        3 months ago

        Also out of the loop, but my guess is that Wayland hasn’t defined a specific API for the purpose yet, and their security model doesn’t allow programs to see the content of other programs’ windows. X11 doesn’t attempt to keep programs from seeing what other programs put on screen, so no specific API is needed there.

  • D_Air1@lemmy.ml
    link
    fedilink
    arrow-up
    25
    arrow-down
    3
    ·
    edit-2
    3 months ago

    As someone who tries to look under the hood for a lot of the open source software I run, one thing that I have noticed is that there are a lot of cases where the general sentiment seems to be port to what. Wayland still doesn’t support a number of things that some applications require. A lot of developers that I have interacted with would rather have the app run through XWayland rather than have a wayland version of the app with less features or certain features grayed out.

    In the case of one project in paticular, that being the Sunshine game streaming project. I have personally witnessed. Them implementing a solution for wlroots based compositor. Having that solution eventually break as wlroots based projects deprecate the protocol they were using in favor of a new one and now that protocol is looking like it too is old news and is going to be deprecated in favor of a newer and better protocol. What I am getting at here is that protocols not existing isn’t the only problem, but things are still very much in development. Even applications that implemented wayland support are being put in positions where they need yet another rewrite because things are far from finalized and still moving pretty fast.

    • Zamundaaa@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      14
      ·
      3 months ago

      In the case of one project in paticular, that being the Sunshine game streaming project

      That’s a terrible example, because they completely ignore the many many years old standardized APIs (screen casting and remote desktop portals) that they could use, in favor of doing hacky and broken things that require root access instead.

      • bastion@feddit.nl
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        2 months ago

        Even then, is that a documentation and centralized standards issue? Was there some list they could have/should have looked to that said ‘this is how that is implemented on Wayland vs X’?

        • Zamundaaa@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 months ago

          The github repo has tons of issues about the problems caused by the hacks (from the cursor not being recorded, to it not working in Flatpak, not working with virtual displays, to even preventing graphical sessions from starting!) with the suggested solution of just using the remote desktop portal… I don’t know what the problem is, but it’s not a lack of knowledge.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      7
      ·
      3 months ago

      So summarizing Wayland is not ready yet for everyone and current Wayland support can easily be broken with newer releases?

  • MNByChoice@midwest.social
    link
    fedilink
    arrow-up
    27
    arrow-down
    8
    ·
    3 months ago

    It is not enough to make a better product.

    It is not enough to create all tooling and libraries to seamlessly migrate to the new product, but it helps.

    There also needs to be a great big positive reason to make the change. Paying developers, huge user base, the only hardware support, great visuals, etc.

    Until I cannot run software on X11, I won’t switch over knowingly.

    • nexussapphire
      link
      fedilink
      English
      arrow-up
      16
      ·
      3 months ago

      Once the desktops switch to Wayland and all distros ship with Wayland by default, support should slow.

      Ideally, developers stop improving xwayland over time and go into maintenance mode for a bit. Once it goes into maintenance mode, developers should naturally fall off as it winds down.

      If every desktop makes a very public announcement about the xwayland protocol being put into maintenance mode, actively supported apps should switch over. It’s up to the public how long they want to keep maintaining xwayland (open source etc).

      • Psyhackological@lemmy.mlOP
        link
        fedilink
        arrow-up
        4
        ·
        3 months ago

        So, even though KDE Plasma has significantly advanced Wayland, a stronger push is still needed to drive the change further.

        • nexussapphire
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 months ago

          I don’t think kde plasma was the only one. Anyway, it just feels natural for xwayland to stop pushing for feature parody and for focus to switch over to Wayland after a while.

          The biggest target for developers is the Ubuntu/Debian platform so their switch to Wayland should motivate other projects and paid applications to at least take notice.

          New projects will try to support both but typically will focus more on Wayland. There’s already an unintentional incentive to partially support xdg protocols Wayland relies on thanks to flatpak.

      • vrighter@discuss.tchncs.de
        link
        fedilink
        arrow-up
        5
        arrow-down
        3
        ·
        edit-2
        3 months ago

        xwayland cannot ever be removed, because wayland, by design, will not have enough functionality to replace it. So one can either support X desktop environments with their own individual bugs, or one X implementation that has the needed features and works consistently for all DEs

        • nexussapphire
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          3 months ago

          If developers drop off there’s not much we can do. It’ll eventually have to be removed or become a bigger security risk than developers say it is already.

          Support on the x server itself has dropped off precipitously since Wayland hit the mainstream and most small x11 DEs are trying to build off of WM like wayfire or wlroots.

          • vrighter@discuss.tchncs.de
            link
            fedilink
            arrow-up
            1
            ·
            3 months ago

            I do not care about security risks. If something made its way onto my system, I’ve already lost. I just want one implementation of something that gets the job done. And by “gets the job done” I mean it allows us to do things better, not disallow us from even having the option to do things because someone had their tinfoil hat on too tight. Ffs you can’t even set your window icon. I don’t care if kde has implemented that feature. If I use that, I’d be supporting kde, not wayland. It won’t work on other des and so the maintenance burden increases drastically.

            • nexussapphire
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 months ago

              Your arguments kinda weak, no offense. I do have a solution for you though. If you want to stick with a version of Linux that’s guaranteed to support xorg for eight years, I’d recommend Rocky linux! When that reaches EOL I guess you could just stay on it.

              Enterprise plans on being fully switched over to Wayland by the next major version. You won’t be able to install xorg on redhat for example. The biggest contributors to xorg(Enterprise) are going to shift focus to xwayland to support legacy software on wayland.

              Besides it’s exciting finally catching up to truly hardware accelerated desktops like Mac OS 10.0 and windows vista. At its heart xorg is a purely single threaded software accelerated bitmap based windowing system from 84. They’ve had to rewrite small but incredibly complex chunks of the code just to try to keep up with the modern world. Just look at the history of 3D acceleration in x11.

              Your free to give it a good go though! The very same team that actively maintained xorg threw in the towel ten years ago when they diverted resources towards a new windowing protocol and they’re not going back.

              • vrighter@discuss.tchncs.de
                link
                fedilink
                arrow-up
                1
                ·
                3 months ago

                new features are fine. But first and foremost, is not breaking existing apps, or committing to porting them yourself. So if desktop apps need to do xyz, then wayland needs to support doing xyz. period. No ‘but that’s insecure’, no ‘but why would you want to do that’ (for setting a window icon or positioning the window ffs). Support existing applications. I’m not saying it should support x protocols. But it should offer replacement features for existing apps to be ported to. And it needs to be wayland. Because it’s already the case that certain functionality is implemented for gnome, or kde, with incompatible apis, to fill in the void left by wayland itself. If I want an app to work as I want it, consistently, everywhere? X, with all its warts, is my only choice.

                As an example, the accessibility protocols. They’re good to have. Except they’re opt-in. So incompatible with existing apps. Some apps need to restrict access. They could declare that and make use of additional functionality. But no, choose a default that break everything instead.

                The argument that apps just need to be ported also assumes the app is still maintained. Are you willing to do the work yourself if not? Probably not. You’re just the one looking down on people like me for wanting functionality in existing apps to be “not literally impossible to implement”

                • nexussapphire
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  3 months ago

                  This whole argument ignores xwayland and the fact that new features are added as a standard of Wayland literally every day.

                  For as long as xwayland is supported you can use your old apps. Wayland actually supports different window icons for multi window apps. But Wayland has always supported window icons, kde just had an annoying bug they finally fixed. Chromium and electron apps kinda just didn’t support window icons very well in wayland for a while.

                  For accessibility, it’s been broken on Linux for literally years but there’s an active effort to make it better and more universal than it ever could have been on x11. The effort of building a fully featured accessibility stack is being led by the gnome team with help from the free desktop organization and kde.

                  This is my last response, this conversation isn’t going anywhere anyway. I’m not the one transitioning the Linux world to Wayland, I don’t see why you could blame me for it anyhow.

        • nexussapphire
          link
          fedilink
          English
          arrow-up
          13
          ·
          edit-2
          3 months ago

          They’re already starting to go that way, in a couple years Linux mint is even going to support Wayland. Ubuntu and fedora has already defaulted to Wayland. Fedora is actually deprecating xorg in a few releases. Budgie wants to have full support next year.

          There isn’t much more than the testing they already have to do every release. Infact not having to support legacy code will free up resources for the whole Linux community as well as cutting the time in half for validating packages on distros. Every package that runs on xorg also runs on wayland, they have to test both.

          Granted some have custom tools they’ll be working on but it’s going to be a while before every major DE supports Wayland. I’m curious, you think the distros have to implement their own version of Wayland?

          • MNByChoice@midwest.social
            link
            fedilink
            arrow-up
            3
            arrow-down
            5
            ·
            3 months ago

            you think the distros have to implement their own version of Wayland?

            Nope. They do have to test their own shit.

            Why make a change when one can just not?

            • Sentau@discuss.tchncs.de
              link
              fedilink
              arrow-up
              7
              ·
              3 months ago

              Considering that Ubuntu, Fedora and any distro with Gnome or KDE as the default DE already come with Wayland as the default, it is clear they have been testing their own shit when it comes to Wayland and then shifting to Wayland by default.

                • Sentau@discuss.tchncs.de
                  link
                  fedilink
                  arrow-up
                  6
                  ·
                  3 months ago

                  Well it was you who implied that a distro shipping the DE with wayland has to do extra testing that they don’t do. I just replied stating that distros are testing and validating for wayland to be the default.

                  X works for me.

                  Good. No one is stopping you from using it.

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

      Until I cannot run software on X11, I won’t switch over knowingly.

      Please explain

      • mesamune@lemmy.world
        link
        fedilink
        English
        arrow-up
        17
        arrow-down
        3
        ·
        edit-2
        3 months ago

        Most people use their os to run their programs. So if their programs don’t work without x11 people won’t switch.

        • ijhoo@lemmy.ml
          link
          fedilink
          arrow-up
          12
          arrow-down
          3
          ·
          3 months ago

          Why would someone stay with x even though it’s deprecated, architecturally broken and unmaintainable

            • ijhoo@lemmy.ml
              link
              fedilink
              arrow-up
              4
              arrow-down
              5
              ·
              3 months ago

              Right. And I’m interested if there are some legitimate needs for you to run x until it stops working.

              Or is this just a revolt?

              • sfera@beehaw.org
                link
                fedilink
                arrow-up
                4
                arrow-down
                1
                ·
                3 months ago

                I don’t think it’s a revolt. Why would they put effort into changing something which works for them with the risk of breaking things? They also wrote “knowingly” which probably means that they won’t have an issue with a switch if their distro manages to make a seamless transition.

                Some people just want to get their stuff done, without diving into technical details. And as long as that works for them, they won’t actively change anything.

                • ijhoo@lemmy.ml
                  link
                  fedilink
                  arrow-up
                  3
                  arrow-down
                  3
                  ·
                  3 months ago

                  Why would they put effort into changing something which works for them with the risk of breaking things?

                  The sentiment is similar to climate change deniers. Why would we stop with fossil fuels when they work, people have jobs, etc. And why would we risk breaking the power grid?

                  And as long as that works for them, they won’t actively change anything.

                  Wayland on gnome and Ubuntu is already the default. It seems to me you have to actively change the default to x.

                  It would be interesting to see in which scenario x is better than wayland. The only reason I can think of is an (old) Nvidia card. With new Nvidia’s I guess the statement would otherwise be ‘i will not use it until they fix Wayland’

          • un_aristocrate@jlai.lu
            link
            fedilink
            Français
            arrow-up
            5
            arrow-down
            2
            ·
            3 months ago

            Is it really ? It works as expected and never crashes. Xorg’s git is active.

            Xorg was started in 2004 and Wayland in 2008 At this point they’re almost the same age…

            • ijhoo@lemmy.ml
              link
              fedilink
              arrow-up
              3
              ·
              3 months ago

              Depends on the timeline.

              X crashed way more for me on kde than Wayland on gnome. ‘Never’ is quite the statement.

    • foreverunsure@pawb.social
      link
      fedilink
      English
      arrow-up
      12
      ·
      3 months ago

      It’s the opposite for me. X11 is unusable on my laptop because it doesn’t support fractional scaling well, whereas on my desktop it doesn’t allow for a multi monitor setup with different refresh rates. Both dealbreakers are not present with Wayland. Though your point still stands; NVIDIA GPUs continue to suck more with Wayland than X11 for example.

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

        I’m not defending x11, both wayland and x11 are trash, it’s just whichever trash pile you find yourself most comfortable in.

        On x11, fractional scaling is more or less just handled by the gui toolkit. It does suck that you need to set an env var for it, but IMO that isn’t too bad.

        the multi monitor stuff does suck for sure. It’s not an issue for me personally. One thing that is a massive issue for me is x11’s terrible handling of touch, I use touch screens daily so that’s a massive issue for me, wayland compositors are also typically quite a bit faster then x11 + wms on low end systems now too (not to be confused with total resource usage/lightness).

        Wayland has a lot of things going for it, but it also has a lot going against it. Both are terrible. Arcan save us (oh how a man can dream)

      • winterayars@sh.itjust.works
        link
        fedilink
        arrow-up
        4
        ·
        3 months ago

        Someone above mentioned screen reader support for blind use accessibility stuff. For users who are blind, this is critical.

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

          This is actually one thing that doesn’t involve wayland, as pretty much everyone is using at-spi. It’s not great, but it does work.

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

        for one, it’s missing a good chunk of A11y stuff, activity watch requires something to monitor the active window, there is a PR for that, still not merged, this has been an issue for years

        It’s missing protocols that will let applications request to be a privileged application, which is necessary for applications to use other functionality.

        Missing protocols to control always-on-top / layers, which is needed for OSKs to function, and a couple other A11y things off the top of my head.

        It’s not just a11y either, Window positioning still isn’t merged, which means if your app opens two “windows”, you cannot currently select where to open them, or to even bind two windows together (Android emulator does this for instance).

        There is a LOT wayland is missing, it IS getting better, just at a snails pace.

  • Presi300@lemmy.world
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    2
    ·
    3 months ago

    Wayland for better or for worse is still in development, it’s actively changing and a lot of developers can’t (or don’t wanna bother) keeping up…

  • d0ntpan1c@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    12
    ·
    3 months ago

    Until recently, Wayland development was rather slow, especially in the areas where more specialized software run into issues that force them to stick with X11. Since Wayland does a lot less than X11 and is more componetized across multiple libraries designed to be swappable, some of these areas simply do not have solutions. Yet.

    And, as always with FOSS, funding is a big part of the problem. The recent funding boosts the GNOME foundation received have also led to some increased funding for work on Wayland and friends. In particular, accessibility has been almost nonexistent on Wayland, so that also means that if an app wants to ensure certain levels of accessibility, they can’t switch to Wayland. GNOME’s Newton effort is still very alpha, but promising.

    While big apps like blender and krita get good funding, they can’t necessarily solve the problem themselves by throwing money at it, either. But the more funding Wayland gets to fill in the feature-gaps and ease adoption, the sooner we’ll be able to move away from xwayland as a fallback.

    Wayland and its whole implementation process certinally aren’t without fault. There’s a lot of really justified anger and frustration all around. Even so, staying on X11 isnt a solution.

  • j4k3@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    3 months ago

    So software like CAD is funny. Under the surface, 3d CAD like FreeCAD or Blender is taking vertices and placing them in a Cartesian space (X/Y/Z - planes). Then it is building objects in that space by calculating the mathematical relationships in serial. So each feature you add involves adding math problems to a tree. Each feature on the tree is linearly built and relies on the previously calculated math.

    Editing any changes up tree is a massive issue called the topological naming problem. All CAD has this issue and all fixes are hacks and patches that are incomplete solutions, (it has to do with π and rounding floating point at every stage of the math).

    Now, this is only the beginning. Assemblies are made of parts that each have their own Cartesian coordinate planes. Often, individual parts have features that are referencing other parts in a live relationship where a change in part A also changes part B.

    Now imagine modeling a whole car, a game world, a movie set, or a skyscraper. The assemblies get quite large depending on what you’re working on. Just an entire 3d printer modeled in FreeCAD was more than my last computer could handle.

    Most advanced CAD needs to get to the level of hardware integration where generalizations made for something like Wayland simply are not sufficient. Like your default CPU scheduler, (CFS on Linux) is setup to maximize throughput at all costs. For CAD, this is not optimal. The process niceness may be enough in most cases, but there may be times when true CPU set isolation is needed to prevent anything interrupting the math as it renders. How this is split and managed with a GPU may be important too.

    I barely know enough to say this much. When I was pushing my last computer too far with FreeCAD, optimising the CPU scheduler stopped a crashing problem and extended my use slightly, but was not worth much. I really needed a better computer. However looking into the issue deeply was interesting. It revealed how CAD is a solid outlier workflow that is extremely demanding and very different from the rest of the computer where user experience is the focus.

    • infeeeee
      link
      fedilink
      arrow-up
      7
      ·
      3 months ago

      It’s true what you write, but it’s not related to Wayland/X11.

      But this is the reason CAD software can’t use multiple cpu cores for geometry calculations. The next calculation needs the result of the previous one, it can’t be parallelized.

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 months ago

      Wayland will perform better than X as there is no server it has to go through. It can talk almost directly to hardware

  • Coelacanthus@lemmy.kde.social
    link
    fedilink
    arrow-up
    12
    arrow-down
    1
    ·
    3 months ago

    In my opinion, that’s because X11 lacks proper abstract for many things like screenshot, screencast, color managerment and etc, so the applications have to use many X11 implementation details to implement these features. It leads to high-coupling code with X11 so move their code to wayland and ensuring it works correctly and is consistent with the old behavior is difficult.