Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.

It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.

The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.

You can find it here: https://github.com/CuarzoSoftware/Louvre

I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.

Greetings!

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

    Many people have predicted the death of the small, independent window manager with the coming of Wayland. I have heard multiple times that only large projects like GNOME and KDE would be able to take on the burden of making a compositor.

    Now, I do think that lots of no longer actively developed window managers could get left behind. But the idea that it will be too complicated to create a window manager now is turning out to be wrong.

    First, fewer desktop environments are getting left behind than feared. XFCE, Cinnamon, and MATE all seem to have Wayland plans now.

    The big change is the appearance of not one but multiple compositor libraries designed to make it easier to create a window manager for Wayland. Some of them look like they might make it easier than it was under X. The approach taken by this one makes the idea of hacking around with it very inviting.

    Although having to create a compositor has made things difficultly until now, I think the idea of decoupling the compositor for Wayland is going to look smart in the long run.

    Being separate from Wayland, compositor devs are free to experiment and window manager authors can select the one that best maps to their goals.

    I was reading up on Oasis Linux yesterday. It comes with a Wayland compositor ( SWC ) and tiling window manager ( Velox ) that are less than 20,000 lines of code combined!

    It would not be practical for a light-weight distro to trim down Xorg like that. But I the compositor is separate, it can be either smaller or feature rich. SWC is XWayland compatible but obviously that is going to add more size if you need it.

    Looking forward to the window manager innovation that projects like Louvre enable.

    • ExLisper@linux.community
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      3
      ·
      edit-2
      8 months ago

      People using X window manage will just keep using them. Wayland doesn’t offer anything valuable to most users so people will just keep using the managers they like. In 10-20 years we will get some nice, new managers that naturally will support Wayland and people will switch because of the features, not because ‘X insecure, Wayland awesome’ BS.

      • merthyr1831@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        Wayland is already a lot nicer to use over X. Better gestures, better animations, better performance, and that’s if you use Wayland today, not in a year’s time.

        Like I get why people are defensive over X but it literally isn’t being developed anymore - And if it’s really worth keeping over Wayland the time to get contributors to support it is passing quickly.

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

        I agree with your overall sentiment with the caveat that 20 years will be closer to 5. Early adopters are enjoying Wayland only benefits today. For example, the Steam Deck just launched with HDR and mainline support for Linux gamers in general will not be far behind.

        Also, the list of window managers being left behind is starting to look less appealing than the list of window managers that are Wayland only. Hyperland is probably already more popular than WindowMkaer. As GNOME and KDE go Wayland only, they will continue to add features that regular users will want. I see more announcements for new Wayland compositors than I do for new X window managers.

        Another factor that gets missed is that the main dev support for X comes from Red Hat. RHEL9 is already Wayland based. When RHEL8 comes off support in 5 years, Red Hat will abandon X. How long will X stay viable after that?

        As the number of X users dwindle, we will see toolkits drop support for X. GTK5 for example. 5 years may be too soon for that but I cannot see it taking 20 years.

        Wayland being “valuable to most users” will come faster than you think.

        • ExLisper@linux.community
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 months ago

          Sure, maybe it will be 5 years. I’m definitely not going to rewrite my awesome wm config just because Wayland is hip now. I will have to get some really nice features out of that.