Announcement

Collapse
No announcement yet.

A Lot Of Improvements Are Building Up For GIMP 2.9.8, Including Better Wayland Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A Lot Of Improvements Are Building Up For GIMP 2.9.8, Including Better Wayland Support

    Phoronix: A Lot Of Improvements Are Building Up For GIMP 2.9.8, Including Better Wayland Support

    It's been four months since the release of GIMP 2.9.6 and while GIMP 2.9 developments are sadly not too frequent, the next GIMP 2.9.8 release is preparing a host of changes...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Can someone more knowledgeable elaborate on why each and every application needs to support Wayland individually? I thought this is something abstracted by Gnome/Gtk or KDE/Qt. Or is it a case where applications were simply violating proper design and only now are hard-dependencies encapsulated away?

    Comment


    • #3
      While I have no experience developing such applications, my understanding is that most of these "incompatible" applications will use calls to Xlib/Xcb, buffers, etc not provided directly by Gtk/Qt. Obviously they'll need different direct calls to wayland.

      Comment


      • #4
        Originally posted by bug77 View Post
        Can someone more knowledgeable elaborate on why each and every application needs to support Wayland individually? I thought this is something abstracted by Gnome/Gtk or KDE/Qt. Or is it a case where applications were simply violating proper design and only now are hard-dependencies encapsulated away?
        Yes, you are correct that x11/wayland should be abstracted away by the toolkit library. However, you need a recent enough toolkit library.

        GTK added support for Wayland in GTK3. GTK2 does not support Wayland. GIMP is written in GTK2. Until it is ported to a newer GTK, it cannot run on Wayland.

        Qt5 added support for Wayland. Qt4 does not support Wayland. There are a few (mostly old and unmaintained) apps still using Qt4 and those cannot run on Wayland either.

        However, some of the apps written in modern toolkits (Qt5/GTK3) also access some x11 functionality directly, in which case they won't run on Wayland either, despite the toolkit supporting it. The developers of such apps have to update them to remove all manual x11 calls that they do to make them compatible.

        Comment


        • #5
          Originally posted by kmare View Post
          While I have no experience developing such applications, my understanding is that most of these "incompatible" applications will use calls to Xlib/Xcb, buffers, etc not provided directly by Gtk/Qt. Obviously they'll need different direct calls to wayland.
          A color picker that selects colors from screen is a pretty clear-cut case of this. To implement a color picker, GIMP needs to ask the display server what color is being displayed at some coordinate (x,y). With X, you have a certain API for this. With Wayland, there is a different API. So you have to add support for the new API to get the color picker working.

          Querying what's displayed on screen like that is also a security risk, so it's a good thing they've changed the API too.

          Comment


          • #6
            Originally posted by tajjada View Post

            Yes, you are correct that x11/wayland should be abstracted away by the toolkit library. However, you need a recent enough toolkit library.

            GTK added support for Wayland in GTK3. GTK2 does not support Wayland. GIMP is written in GTK2. Until it is ported to a newer GTK, it cannot run on Wayland.

            Qt5 added support for Wayland. Qt4 does not support Wayland. There are a few (mostly old and unmaintained) apps still using Qt4 and those cannot run on Wayland either.

            However, some of the apps written in modern toolkits (Qt5/GTK3) also access some x11 functionality directly, in which case they won't run on Wayland either, despite the toolkit supporting it. The developers of such apps have to update them to remove all manual x11 calls that they do to make them compatible.
            Thanks. So basically the news is the app is being migrated to a newer GTK/Qt. Wayland support is by an large a side-effect of that.

            Comment


            • #7
              Originally posted by bug77 View Post

              Thanks. So basically the news is the app is being migrated to a newer GTK/Qt. Wayland support is by an large a side-effect of that.
              No, GIMP is not being migrated to a newer toolkit just yet.

              Comment


              • #8
                Originally posted by miabrahams View Post
                With Wayland, there is a different API. So you have to add support for the new API to get the color picker working.
                When did wayland get an API that allows colour-picking in a secure way? I missed this.

                Comment


                • #9
                  I need a compile script so i can install this new version that is about to be released in /opt along with their dependencies. Anyone? I don't want to remove 2.8 til 2.10 is released. If anyone has a compile script for 2.9.6 i can update it, but i can't find any.
                  Last edited by danieru; 10 December 2017, 06:09 PM. Reason: one for 2.9.6 works

                  Comment


                  • #10
                    Originally posted by tajjada View Post
                    However, some of the apps written in modern toolkits (Qt5/GTK3) also access some x11 functionality directly, in which case they won't run on Wayland either, despite the toolkit supporting it. The developers of such apps have to update them to remove all manual x11 calls that they do to make them compatible.
                    Which is a problem if the toolkit and/or Wayland don't have equivalent support to X11 (i.e. Color Management).

                    Comment

                    Working...
                    X