back to article GNOME Project retires OpenGL rendering library Clutter

The GNOME Project has announced that it's retiring the Clutter library, the tool that bought OpenGL-based hardware rendering to Linux in 2006. Clutter was originally written by now-Intel subsidiary OpenedHand and in its day was a widely used library, enabling GObject-based C code to draw user interfaces using OpenGL. It …

  1. Anonymous Coward
    Anonymous Coward

    After trying all the desktops, I settled on Mate, because it was the only one with a reasonable feature-set that runs properly on a remote terminal via X2Go. Both KDE and Gnome are absolutely unusable under those circumstances because of their perverse design decision to render the display as a single massive image. (Honestly, it's like some PC "guru" decided to reinvent what had been done FAR BETTER with OpenGL decades earlier.)

    1. Anonymous Coward
      Anonymous Coward

      "... some PC "guru" decided to reinvent..."

      I think you mean decided to _NOT_ reinvent.

      Unless you can tell me of a terminal that would render client OpenGL via X in 2002 (minimum for "decades"), then I'm still under the belief that this hasn't been common in GNU/Linux until the last 10 years or so. Maybe it did exist but I never saw it.

      There was some proprietary software that did this in certain Unix OS's (Solaris, i think AIX) although not with OpenGL and also wasn't common.

      1. jotheberlock

        GLX has been a thing since 1992 - https://en.wikipedia.org/wiki/GLX - though granted not used all that much.

        1. dafe

          GLX is horrible. You need two drivers, one in the kernel and one in X, to get hardware acceleration, with doesn't work when the client is not on the same machine as the server.

          But it is what everyone is using. (Almost everyone. In the embedded space they use hardware acceleration in the kernel framebuffer.)

          XGL was a much better solution.

          Things would be much simpler if the X server itself was written in OpenGL.

          DirectFB3D used to be a thing as well. But the attempt to build X directly on the framebuffer has mutated into just a fallback driver.

          1. Gloddata

            > Things would be much simpler if the X server itself was written in OpenGL.

            OpenGL has no facilities for managing displays, which is you know... kinda important for a display manager. Which is exactly the reason why nobody uses XGL anymore.

            It was a dead end experiment and the developers knew it going in. The result was EGL.

            The real solution to the the limitations of X windows (obsolete rendering model, extremely poor network performance, absolutely no security, etc ) is to modernize X and redesign it so that it will match the way that modern hardware works and has the ability to support multiple rendering protocols, like OpenGL, Vuclan, X11, DirectX, etc.. as first class citizens.

            Which is why all the X developers stopped being X developers and started being Wayland developers.

            The Xfree86 DDX, which is what most Linux users call "X Windows" at this point, is effectively abandonware. The only one that is getting any attention going forward is Xwayland.

      2. dafe

        alacritty

        1. Tom 38

          I see your alacritty and raise you kitty

  2. cornetman Silver badge

    > However, a lot of other Gtk-based desktops haven't moved to Gtk 4 yet, including MATE, Xfce, Pantheon and Pixel.

    A lot of applications are still stuck on Gtk 2. It's a lot like the Python 2/3 problem although the porting effort is more substantial with the exclusive move to Cairo for drawing being a big obstacle.

    1. Ozan

      I dont expect the archival will happen anytime soon. I just got the latest evolution compiled and it pretty much needed clutter.

    2. dafe

      Python2 is the fault of RedHat. Python 3000 was a rewrite that is much faster and much more efficient that was supposed to replace Python2 over ten years ago. But too much tooling was written and never ported, so there was pressure to keep Python2 around even after it had been discontinued, dropped, abandoned, support cut, and officially retired. And so there was no pressure for other projects to port either.

      GTK2 is different. Originally written for the GIMP, GTK was adopted by GNOME as a free alternative to Qt, and extended. RedHat soon replaced it with GTK-MM and GTK3, pulling in more GNOME-specific (and circular) dependencies. Many projects chose GTK2 over GTK3 because it is faster, more lightweight, and doesn't pull in as much cruft. RedHat have since gutted GTK3 of features GNOME doesn't use, even though other projects do, forcing those projects to port to GTK2, Qt, or GNOME. (And GNOME is actively preventing ports to BSD or any other system that isn't Linux or Windows.)

    3. bombastic bob Silver badge
      Devil

      I would not call it "stuck" on GTK-2 - how about "it works so why 'fix' it?"

      moving target "development" generates a LOT of 'scampering' i.e. unproductive motion...

      (you want those bugs fixed? Sorry, we're porting all of our code over to the latest moving target toolkit, see you in about a year...)

  3. Anonymous Coward
    Anonymous Coward

    Stable...

    Yes!

    Weird?

    Yes, yes, yes!

    Dual screens with mixed refresh rates has been a bug bear of mine for a long time on NVIDIA card. There are numerous patches out there that supposedly fix the problem, but as yet nothing has ever worked.

    Essentially, what seems to happen is that the framerate of your desktop gets capped to the lowest refresh rate. So, say, for example you had a 165hz monitor as your primary screen and a 60hz screen as your secondary...the 144hz screen will refresh at 144hz, but the desktop will only be rendered at 60fps...so you get this weird quasi high refresh environment where videos, games, weirdly your mouse cursor etc will render at high refresh but your desktop won't. So dragging windows around feels off.

    Mercifully, Wayland now works on NVIDIA cards...and it is very, very nice...but wider Wayland support still isn't quite there yet. There are apps all over the place that don't work yet...and may never work.

    *whips head round and stares daggers at nvidia-settings*

    1. bombastic bob Silver badge
      Alert

      Re: Stable...

      ew the W word...

      (making sign of cross with fingers)

    2. Liam Proven (Written by Reg staff) Silver badge

      Re: Stable...

      [Article author here]

      Interesting.

      Because this is something I have not wanted or ever even heard of. I haven't worried about refresh rates since the CRT days, and the *early* CRT days at that. When I was rocking 2×15" monitors in dual-head on two Matrox Millennium cards, about 26 years ago. I was rather proud of that setup, built on a budget of about 50p.

      This shows something important: one person's pointlessly minor edge case is someone else's critical _sine qua non_.

      Me, I want a vertical taskbar. That is my deal breaker. Xfce does it well, LXDE OK -- and Mate, Cinnamon, KDE, and all the others fail with various degrees of brokenness.

      But recently I've needed different fractional scalings on different screens, and that really sorts the wheat from the chaff. I've found 3 desktops can do it: KDE (no ta), GNOME (ew), and Cinnamon (OK, if I must.)

      My core feature is your needless frippery, I suspect, and _vice versa_. But it's an important point all the same.

  4. Fred Daggy Silver badge
    Devil

    Please come out with a decent solution to the various problems raised here, soon. Before Pottering becomes involves and it all gets subsumed in to systemD.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like