GTK+ 3 on Windows

gtk-logo-48There have recently been some stories about applications switching away from GTK+ due to portability concerns. Therefore, I’m really happy to announce that we now have official GTK+ 3 builds for Windows. Currently, the supported version is 3.6.4. You can find these on the very informative download page:

http://www.gtk.org/download/win32.php

The driving force behind this was Manuel Bachmann (Tarnyko on irc). Thanks, Manuel !

We also have a page with instructions for GTK+ on OS X.

19 thoughts on “GTK+ 3 on Windows”

  1. This is great.

    On a related note, it’d be interesting to have a list of “Who’s using GTK+ 3″ on gtk.org.

  2. is this still true or the text in the win32 page shuld be reviewed?

    “It is possible to use these packages also with Microsoft’s compiler. However, the DLLs here use the msvcrt.dll run-time library. This means that also applications that use the DLLs should preferably use the msvcrt.dll run-time. Specifically, this means that you should not use newer versions of the Microsoft compiler than Visual C++ 6 without knowing exactly what you are doing.”

    By the way, i must say GREAT JOB :) I would like to see this as part of the main release and part of the official objectives for the Gtk+ platform (including gnome technologies). In the last few times of change between 2.x and 3.x a lot of the related support with bindings and other platforms was left behind.

    anyway … cheers!

  3. Sadly 2 Versions behind. GNOME should (imho) not neglect GTK3 on Windows, but I think it’s already too late since there has been and still is a wave of people switching to Qt. Wonder what could be done to battle this trend.

    But anyway: Great work!

  4. It’s a pitty that this is comming so late and by now win64 is probably more interesting.
    Kudos to the people that has made this happen any way and good luck in the future.

  5. @pete, @Flo: 3.6 is what is currently shipped in various distributions, but 3.10 will most likely follow. there’s also a continuous integration build which is getting updated, so don’t worry: it’s going to be possible to use bleeding edge GTK soon on Windows too.

    @Anders Broman: it’s possible to rebuild the DLLs for win64, and I’m sure that it’s going to happen in the near future.

  6. Matthias, while I appreciate the effort, would it not be more prudent to use MinGW binaries provided by Fedora for your download packages? You would easily have the latest GTK3 binaries available for both 32-bit and 64-bit.

    To anyone else: Install Fedora. # yum install mingw{32,64}-gtk3

    Enjoy GTK3 3.10.0 for both 32-bit and 64-bit.

    1. I personally think this is as important as having bleeding edge GTK on Windows. Maybe even more. Hope they are taking care of this aspect too :-)

  7. Hi, and thanks for the log, Matthias :-).

    “is this still true or the text in the win32 page shuld be reviewed?”
    Available binaries were compiled using MinGW, which provides a fallback and dated (but working) implementation of msvcrt. Most people using MSVC++ reported success with them. I guess this text should be read as a caveat : you can use them with your specific MSVC++ version, just be careful…

    “Why not 3.10 ?”
    I’m working on it. But even if it lands in the repo, 3.4.2 and 3.6.4 are known to behave well on win32 ; 3.10 wasn’t so thoroughly tested. On the same note, 3.8.2 is in the repo too, but not on the download page for the same reason. We better be careful when we distribute something official.

    “by now win64 is probably more interesting”
    win64 binaries will be available this week.

  8. Nice work! It might be worth noting, wrt the “GTK on OS X” link that the Mac OS X port does not support recent MacBooks very well due to the missing/broken HiDPI functionality in the quartz backend of cairo. Other than blurry, it is however perfectly stable. What’s the status of HiDPI on Windows?

    https://bugs.freedesktop.org/show_bug.cgi?id=69796

  9. My guess would be that the switch is also due to “GTK+ as a platform” instead of “GTK+ as a toolkit”[1]. Don’t get me wrong – GTK+’s great IMHO but I understend if app developers wanted native look’n’feel.

    [1] Disclaimer – I’m not a GUI dev so I cannot tell how much this exists in practice – but the decision for platform was expressed during last GUADEC by GTK+ dev. It might have changed in meantime.

  10. A great job, but appreciate if share the patch to the source. And I build gtk+ >= 2.24.21 on windows with mingw32 and run gtk-demo, it crashs when i resize the window which double click to select “Button Boxes”, but it runs ok if i use gtk+ 2.24.20. I see the logs on the git site, but can’t find any information. Can any one help?

  11. @Maciej Piechotka: “looking integrated” and “being a platform” is pretty different. I mean, Qt is a platform, as it provides an entire API for you to rely on, so the idea that projects are switching to Qt because GTK+ aims to provide a platform does not hold up to reality.

    you can make GTK+ applications look like native MacOS (or Windows) applications (up to a point, though the native themes are getting better, if people file patches); Miguel posted a link to a screenshot of MonoDevelop running on MacOS looking exactly like a MacOS application.

    the main issue, I think, is that the default theme on MacOS is not really up to par. the embedded Windows theme uses Windows API to draw the widget components from CSS; I’m sure we can make the MacOS theme do something similar, or at least leverage CSS to get to a similar result. I mean, we do have web tool kits that emulate the iOS and MacOS look and feel for web applications through CSS.

  12. I am definitely staying with GTK3 instead of QT5 for now. D/Go/FPC bindings are welcome.

    I wish Vala supported officially windows. Maybe through the gtk3 we will see such support.

  13. Which IDE did you use to test your port? Or better stated, which IDE’s could be expected to work flawlessy with this port?

    Only Visual Studio? :/

  14. Thanks to everyone involved in this great achievement ! May I ask to create an updated bundle of latest GTK 2 version ? The ones provided now on gtk.org are buggy, as they include a huge memleak on Windows, which has since been fixed, but only in git.
    Shoudl I fill a bug report about this ?

  15. GTK+ GUI to allow application construction on an iPad would be great.
    Thanks for reading/posting.

Comments are closed.