IgnorantGuru's Blog

Linux software, news, and tips

Heads Up: GTK 3.20 Off To A Troubled Start

GTK 3.20 is entering distros, and it looks rough. If you use GNOME 3 or GTK3 applications, be advised that upgrading to 3.20 may cause extensive breakage. The new GTK 3.20 is hitting Arch Linux users with a number of upgrade problems. Arch is a rolling release distro that tends to get new versions of packages before most other distros, so new problems tend to be revealed there first. 3.20 hasn’t yet arrived in Debian Testing, but will likely be appearing soon. You may wish to choose your upgrade time and path carefully.

The GTK 3.20 release reportedly adds a new API for themes, which in the future may help reduce GTK3’s endless theme breakage problems. While this API change may be good news for users and theme developers in the future, in the short term it means almost all third-party themes will be seriously broken by the upgrade to GTK 3.20. (GTK3’s default theme is Adwaita, which usually avoids these problems.) All third-party themes will need to be updated or rewritten by the theme developers before they can be used very successfully with GTK 3.20. [Many applications also appear to need updates, as detailed in the update here.]

In addition, it appears our old friend Matthias Clasen has carelessly refactored the drag and drop code in GTK 3.20 (commits), causing DnD breakage and crashes in SpaceFM and Firefox, among others. Arch users have reported SpaceFM 1.0.5 crashing when using drag and drop in GTK 3.20 (even with Adwaita). In fact, this bug may cause the X server itself to crash or freeze, and there have been reports of other X-related issues with 3.20. Thus far I’ve been unable to reproduce that SpaceFM crash in tests on Archbang (which includes SpaceFM on its live ISO.) Further information is welcome on that crash report, but there are indications that the crash may be in GTK’s code itself, or perhaps due to the updated Adwaita. Other minor stderr warnings are also visible when running SpaceFM under GTK 3.20, although these should not cause a functional change.

As your upgrade to GTK 3.20 approaches, remember that SpaceFM may be built to run as a GTK2 or GTK3 application, and most distros provide a spacefm-gtk2 package. In fact, GTK2 is still SpaceFM’s default build (if you have those dev libs installed at build time). GTK2 tends to be much more stable through upgrades, which is handy in a file manager. The GTK3 version of SpaceFM does run well in general, but frequent theme and functional breakage may occur during upgrades to GTK3, which is NOT handy in a file manager.

Even if you normally prefer GTK3, you may want to consider holding back the upgrade to 3.20, or switch temporarily to a GTK2 build of SpaceFM, if you want to avoid GTK3’s growing pains for the next few weeks/months. Other applications may also be affected.

Overall, SpaceFM and my other projects are in a slow development phase, mostly just critical bugfixes being addressed recently. If you want a little adventure you can try SpaceFM alpha for some new features, including deep directory sizes and faster directory load.

UPDATE: Matthias Clasen has provided a more detailed explanation and documentation links for the changes in 3.20, makes excuses for breaking applications yet again, and asks application developers to give feedback.

April 20, 2016 Posted by | News | 12 Comments