Announcement

Collapse
No announcement yet.

GTK+ 4.0 Targeted For Its Initial Release This Fall, GTK+ 5.0 Development To Follow

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

  • Vistaus
    replied
    Originally posted by Degra View Post
    So the short answer is yes, it will take a long time to port to GTK4.
    However, it should take less than the 5 years for XFCE. A new branch will become stable much faster than GTK3 did, so there will be less overall changes from one branch to the next.
    However, if your project is written in C, you can actually semi-automate the porting from GTK3 to 4 thanks to Timm B├Ąder: https://github.com/baedert/autoport

    Leave a comment:


  • Luke
    replied
    Originally posted by Vistaus View Post

    Also, AFAIK GTK3 refactored too much from GTK2 (that is: you couldn't port the code 1-on-1), while GTK4 mostly adds a lot of new widgets which one could use but doesn't have to and new backends. So sure, most apps won't be ported overnight from 3 to 4, but it should take a lot less time given the fact that the core changes are less significant than from 2 to 3.
    Actually, GSK (GTK+ Scene Graph Kit) https://en.wikipedia.org/wiki/GTK%2B_Scene_Graph_Kit was a major, major backend change that while it does not change using GTK's own widgets introduces wholesale breakage of custom widgets. Thus, a lot of the work that Firefox and Libreoffice did to port to GTK3 would have had to be thrown away and started over if GSK had been merged into any GTK3 branch. This is why it was held past the GTK 3.22 release, and GTK then branched to the pre-GTK4 versions in Master.

    There are also major barriers to porting the GNOME forks to GTK4, beginning with maintaining desktop icon support. Both the new split-out nemo-desktop and caja (as did nautilus-desktop) use a canvas for drawing the desktop that GNOME claims would be very difficult to port to GTK4. GNOME decided to drop desktop icon support from Nautilus entirely for this reason. Neither Cinnamon nor MATE can do this, as their users are those who want a traditional desktop.
    Thus to port either one to GTK4 may require a clean-sheet reimplementation of the entire desktop canvas. You can't use a gnome-shell extension to render the desktop when not running gnome-shell, though I suppose a gnome-shell extension might be with considerable effort back-ported to Cinnamon, which is based on a far older version of GNOME.

    Not sure whether dropping code replaced by GSK is the reason for this or dropping something else, but either way this is a major barrier to either GNOME fork porting to GTK4.

    Leave a comment:


  • UpsetingFact
    replied
    Originally posted by schmidtbag View Post
    If it is actually a rolling release, where GTK4 software can effortlessly be ported to GTK5, then I see no problem in what they're doing. But that's a big "if".
    Considering how relatively "well" rolling releases are doing "good" concerning stability, there will be bugs.

    No one's perfect, so it should be wise to avoid problems as much as possible.

    Leave a comment:


  • Vistaus
    replied
    Originally posted by Degra View Post

    I don't think porting to GTK 4 will start until the release of GTK 4.8. This is when GTK4 will be declared stable. Given their current schedule of a release every 6 months it would take until fall 2020 for GTK devs to recommend GTK4 for third party developers.
    Together with GTK 4.8 there will also be a release of GTK5, for which same things apply. It would take until 5.8 until they recommend GTK5 to third-party developers.
    That's how GTK's new release cycle is supposed to work.
    Less or even no breaking changes from X.8 on, because the breaking changes will happen on the Y.0 branch instead.

    The plan is that third-party devs will only start porting to a new branch after it has been declared stable with the X.8 release, which means you'll start working on a port ~2 years after the first version of a new branch came out.

    So the short answer is yes, it will take a long time to port to GTK4.
    However, it should take less than the 5 years for XFCE. A new branch will become stable much faster than GTK3 did, so there will be less overall changes from one branch to the next.
    Also, AFAIK GTK3 refactored too much from GTK2 (that is: you couldn't port the code 1-on-1), while GTK4 mostly adds a lot of new widgets which one could use but doesn't have to and new backends. So sure, most apps won't be ported overnight from 3 to 4, but it should take a lot less time given the fact that the core changes are less significant than from 2 to 3.

    Leave a comment:


  • schmidtbag
    replied
    Originally posted by UpsetingFact View Post
    That's because of Google's versionning way.
    They're going rolling-release without saying it, because everyone would understand that it's a bug-prone versioning way.
    And unfortunately, a lot of people are folling them in their maddness.
    If it is actually a rolling release, where GTK4 software can effortlessly be ported to GTK5, then I see no problem in what they're doing. But that's a big "if".

    Leave a comment:


  • Vistaus
    replied
    Originally posted by Linuxhippy View Post
    I wonder how GTK4 will fare regarding performance.

    Each new GTK+ major release regressed quite a bit (well from a bit to significantly) performance wise (except for GTK-2.8, where the introduction of the cairo rendering backend also caused performance regressions). Now wonder - there is no automated nightly/regression testing in place - so the influence on performance of new features and refactorings of the existing code base is quite often unnoticed - untile someone complains in bugzilla a year later when the code finally hits stable distributions.
    Nah, when it hits stable distributions, people don't complain 'cause users of stable or LTS distributions don't know how to report bugs. Or so I was told over @ OMG! Ubuntu.

    Leave a comment:


  • UpsetingFact
    replied
    Look after what Degra said, plus considering that Gnome 3 only got stable until 3.22.
    That's expectations vs reality, and I'm not falling for that again unless 4.0 gets at the very least 95% stable and 99% staged.



    Originally posted by schmidtbag View Post
    I seriously hope that GTK5 does not break compatibility with GTK4, otherwise, what the hell do they think they're doing? GTK4 is fresh and barely used, and it's already obsolete? Why even release GTK4? As others have stated, there's still a lot out there that hasn't been ported to GTK3.

    Though I personally never had major gripes with GTK, I know a lot of people who show disapproval. It's stuff like this why that's the case. I get the impression that it isn't easy porting from one version to the next, which can be a real turnoff. Qt, meanwhile, is relatively easy to port. I once created a program in Qt4+Python involving thousands of lines of code, and it took me just a few hours to port it to Qt5. Pretty much all of the important and well-maintained KDE apps were ported to Qt5 in a relatively short amount of time. Meanwhile, applications like LibreOffice, GIMP, and Firefox have been taking years to transition to GTK3.

    Breakage of backward compatibility is fine if it means everything will improve because of it, but if GTK5 breaks compatibility with predecessors, that's just due to negligence as far as I'm concerned.
    That's because of Google's versionning way.
    They're going rolling-release without saying it, because everyone would understand that it's a bug-prone versioning way.
    And unfortunately, a lot of people are folling them in their maddness.

    And GTK is also going full rolling-release.
    So if you want a stable Gnome, wait at the very least for GTK 5.0 release. Problems on 4.8 -which should be 4.0-, should be fixed then.


    As a rule of thumb when you're using such rolling-released/Betas-to-Manufacture softwares, the real stable versions are some point releases after X.0.
    Debian's are X.3 since Wheezy, Ubuntu's are X.04.1, Windows 10's 1607, Android 5.0's are 6.0.1, KDE 5's 5.8, Gnome 3's 3.22, etc

    Looking after softwares' enterprise versions are pretty much the way to spot when they are really stable.
    Times spent on Alphas and Betas before actual release also says a lot. If they don't spend 6 months (OS components, OSes, games,etc) at the very least after the last Beta for a big software, it'll pretty much tells you that things are still buggy.
    Last edited by UpsetingFact; 04 February 2018, 12:54 PM.

    Leave a comment:


  • arakan94
    replied
    Originally posted by UpsetingFact View Post
    In the end of the day I'm right and you are a dellusional sparrow repeating bullshit thinking it makes you less stupid.

    But hey, still considering 4.8 as the real stable release instead of making it 4.0 as it should be right ?
    What are you talking about? Have you read the blog post they made about versioning changes? The 4.0 is going to be the stable release (meaning no API-breaking changes in subsequent minor releases). They already did the unstable releases (3.90, 3.92, ...)

    Leave a comment:


  • schmidtbag
    replied
    I seriously hope that GTK5 does not break compatibility with GTK4, otherwise, what the hell do they think they're doing? GTK4 is fresh and barely used, and it's already obsolete? Why even release GTK4? As others have stated, there's still a lot out there that hasn't been ported to GTK3.

    Though I personally never had major gripes with GTK, I know a lot of people who show disapproval. It's stuff like this why that's the case. I get the impression that it isn't easy porting from one version to the next, which can be a real turnoff. Qt, meanwhile, is relatively easy to port. I once created a program in Qt4+Python involving thousands of lines of code, and it took me just a few hours to port it to Qt5. Pretty much all of the important and well-maintained KDE apps were ported to Qt5 in a relatively short amount of time. Meanwhile, applications like LibreOffice, GIMP, and Firefox have been taking years to transition to GTK3.

    Breakage of backward compatibility is fine if it means everything will improve because of it, but if GTK5 breaks compatibility with predecessors, that's just due to negligence as far as I'm concerned.

    Leave a comment:


  • UpsetingFact
    replied
    In the end of the day I'm right and you are a dellusional sparrow repeating bullshit thinking it makes you less stupid.

    But hey, still considering 4.8 as the real stable release instead of making it 4.0 as it should be right ?
    Last edited by UpsetingFact; 04 February 2018, 11:05 AM.

    Leave a comment:

Working...
X