giovedì 3 ottobre 2013

Every Frame Matters

Hello fellow readers, and welcome to an other installment of the least regular blog on the planet (or actually, not on the Planet anymore).

Last time, we were about to release 3.8, and this time, 3.10.0 is already out and we're working hard for 3.10.1, so today I want to talk about one of 3.10 features, that is, Wayland done in the GNOME way.

I worked hard on it during this summer, as part of my internship in Red Hat (which I'd like to thank once again for the opportunity), and others like Phoronix and Slashdot already covered it extensively, but what changed today is that finally all the bits are in place for wider testing on Fedora 20.

Once again, I'd like to point out that this is just a tech preview, and there are many huge regressions (listed in the 3.11 feature page). Some can be fixed using jhbuild and the wip/wayland-work branch, some are just not implemented yet, and some are bugs we don't know about. So try it, complain if it crashes, but don't expect to do any real work on it, and don't assume that the final wayland experience will be the same as now.

How to try it? First, you need an up to date GNOME 3.10 (gnome-shell >= 3.9.92-3.fc20), then you need the very latest X server (xorg-x11-server-Xorg >= 1.14.3-4.fc20, currently only in testing) and intel driver (xorg-x11-drv-intel >= 2.21.15-4.fc20, from updates-testing).
Then, there are two major modes now. The first one is nested inside an existing X11 session. From a virtual terminal, run "mutter-wayland --wayland".

Alternatively, you can run a full GNOME session in a different VT. Just go <Ctrl><Alt>F2 and run "gnome-session --session=gnome-wayland".
And this is what you get:

Doesn't look very different from a X11 GNOME session? Then I did my job well :)

To leave it, just log out from the menu. If you get stuck and can't logout (which can happen for some reason, probably a timeout issue in gnome-session), run "killall gnome-session gnome-shell-wayland" in a terminal.
Note that keybindings are not in 3.10, so VT switching only works if you do "sudo chvt" from a terminal.

More details on testing gnome can be found in the GNOME wiki