pcb-rnd knowledge pool


HID: the future of GTK and other HIDs

hid_gtk by Tibor 'Igor2' Palinkas on 2019-03-15

Tags: insight, hid, policy, gtk, gt3, gtk4

node source



Abstract: A major problem with the GTK lib is that it is huge and is changing a lot, in ways we don't really need. This article describes our strategy on GTK versions and alternatives. It also discusses the possibility and practical requirements for more HIDs to happen.


Imported from the mailing list archives.

For a project like pcb-rnd, keeping up with new versions of GTK is rather expensive. We spend a year or more to be compatible with a new version (e.g. GTK3), but then in 5..8 years we have to start over (e.g. for GTK4). Not because we need any of the new features the newer GTK version offers, only because of the "trends" or because of the fear of the older version getting no support from distributions.

In return: GTK is huge, slow, requires glib and C99 and is not easy to port. For example technically speaking GTK cross compilation breakage is the only reason we don't have a working windows port - of course our target audience is not on windows, so there's no much motivation either, but last time I cross compiled pcb-rnd, only GTK broke.

TL;DR: I think GTK is generally an unsustainable technology.

Up to this point, we were experimenting with GTK3. But in practice it didn't result in production quality HID. Because of the above theoretical reasons plus that I do not want to loose too much time on features of minor importance (GUI eye candy), I finally made the following decisions:

The policy on how we would proceed from here: