What is Aura:
Aura is the UI stack that we currently ship in Chrome OS and are hoping to ship to Windows users in the M32 timeframe. It does not use native widgets and is GPU accelerated when available. The only native element is the toplevel window; everything inside is drawn by chrome, instead of by GTK+ or Win32. This lets us unify our interface code; the Linux UI should now stay up to date with the Windows version.
How this affects You:
We hope to ship Linux Aura in the M33 timeframe. We have just switch to aura as the default Linux configuration, so if you sync and build on linux, you should have Aura on by default. Now that it is on, we intend to ship next week's dev channel with the new Aura interface code.
If you're a user, please file bugs. The correct tags are "OS=Linux Proj-DesktopAura". You can find a list of open bugs with those tags
here.
If you develop chromiuim, please test your features on a tip-of-tree linux build or the next dev channel. I'm happy to do first round code reviews on anything that touches the new code paths.
FAQ:
Q: Why are we doing this?
A: We want to use the same interface stack across Windows, Linux and Chrome OS. Before Aura, all three ports used different interface code. Windows had HWND specific controls, the entire interface on Linux was drawn by GTK+, and Chrome OS did its own thing. This should make developing features for chrome much easier. On Linux, this also has the benefit of providing us with a path off of GTK+ v2, which has been unmaintained for years now.
Q: Does this mean we no longer link with GTK+?
A: No; we still link with GTK+, and use it for native file dialogs, IME support, and other system integration. GTK+ usage sits in a containment library and can't be used outside of chrome/browser/ui/libgtk2ui/. GTK+ doesn't do any drawing; we talk directly to the X11 server now and manage our own windows.
Q: Many Linux users won't have decent drivers installed...
A: Our compositing experts have a software fallback, in case there is no usable GPU.