Linux Chrome with Gtk+: Cross-Platform Complication

Feb 19, 2009

If Google were to use Qt, things would be much simpler and Chrome would have a unified interface under Windows, Linux and Mac OS X. But Google isn't satisfied with Qt.

Release of the native Linux version of the Google Chrome browser is still planned for June 2009. Unfortunately, more problems than first anticipated keep cropping up. According to recent OSnews, they mainly have to do with the graphical interface.

Google uses an internal views library for Chrome's user interface that enables, for example, placement of tabs in the title bar with the idea of adhering to the Chrome principles "simple, unobtrusive, fast." Because Chrome was never from the start conceived as multi-platform software (how would it otherwise have come to the idea of using WinHTTP), the views were never ported to Linux or Mac. Google had already decided a long time ago not to use views for the Mac version, but to rely instead on a completely native version of Chrome based on Cocoa. For Linux, Chrome hacker Evan Martin suggests three possible options:

1) As close to Windows as possible, porting views.
2) As close to native as possible, avoiding views.
3) Something in the middle, hacking views.

Martin eliminates 1 right from the get-go, calls 2 "insane, becoming more tempting," but prefers option 3. Meanwhile, Chrome project lead Ben Goodger has slipped into the discussion to explain why Chrome decided against Qt as a cross-platform solution and chose Gtk+ instead. More details on Goodger's views here.

Related content


  • Why not Qt?

    The licensing hasn't been an issue since 2005, when Trolltech finally released Qt/Windows under the GPL, but maybe Google was working on Chrome before then, when Qt/Windows was still under a proprietary license? Sure, it would've been easier for the Google developers to use Qt so that there would only need to be a single code base for all three platforms, but it's not the answer if you want to build apps on either Windows or Mac OS X that are truly native.
  • Re: At the time qt was incumbered

    Your "facts" about Qt are just plain wrong, and everybody capable of checking Qt's licensing can see that. You people spreading FUD about Qt without having a clue are so annoying.
  • At the time qt was incumbered

    When Google was first considering the Chrome project Qt was still under a very non-open license. Sure you could use Qt for non-commercial apps running under linux, but under windows not so. So using Qt on windows would have been prohibitive based on cost (until very recently developing Qt apps in windows cost a lot). Also The goal was to create a very fast browser. To that end Google, on the Windows platform, made sure to make use of low level Windows calls (there is much use of Windows Active Template Library). Simply put Qt could not offer the same level of performance on Windows. period. So The entire cross platform argument is also out the window. I know that there is a very active qt vs gtk+ (which mirrors the KDE vs Gnome debate), but really?

    Travis Miller
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More