
Wayland in Gnome: two progress reports - luu
http://lwn.net/Articles/607091/
======
jmhain
I'm typing this from a wayland session of the GNOME 3.14 beta (via Fedora 21
Branched). While there are still some serious bugs, I have to say I am very
impressed. The synchronization problems and graphical glitches of X always
made the Linux desktop feel second rate compared to Mac or Windows. With
wayland, interactions with elements on the screen such as moving and resizing
windows or dragging apps to the dash are perfectly in sync with the cursor.
Not even Android has achieved this.

In addition, GNOME 3.14 is looking outstanding. With the latest design
refinements, I find the interface significantly more attractive than OS X
(before or after redesign). It's not quite there yet, but if the community can
deliver a system with fully functional wayland, portable sandboxed app
containers, and a stable development target, the Linux desktop truly will
stand a chance against the proprietary competitors.

~~~
pippy
Each time I've attempted to use Linux as my main OS it's always X11 that
scares me off. Booting into console to edit xorg.conf gets tiring after a
while, spending hundreds of dollars for graphics card that has more stable
drivers, the general ancient 90's feel. I've tried it multiple times, but gave
up each time.

~~~
mercurial
Per default, you don't have xorg.conf anymore on modern distros. I have been
in the "edit xorg.conf" boat as well, but there have been tremendous
improvements since the bad old days.

------
com2kid
There seems to be a lot of limitations here. It is odd, sandboxing just the
graphics stack. It isn't true sandboxing so all the benefits of sandboxing are
not gained, but a lot of the disadvantages still come with it.

It sounds like something as simple as a keyboard macro manager would not be
doable, nor would the Windows utility AutoHotKey.

I'd also hate to try and write UI test automation for Wayland apps. It seems
like they've pretty much ruled that out all together.

Heck what about services that do browser test renders? Would those be
possible?

And not allowing plug ins is just foolish. "I'm sorry, we dictate that you
must divide your application up _this_ way." Flash, for years, drove
innovation on the web, billions of dollars of value were created by Flash,
trying to say "That won't be allowed to happen again because I say so" is
hubris of the worst sorts.

~~~
wmf
_It is odd, sandboxing just the graphics stack._

Since Wayland is a redesign of the graphics stack it looks like they decided
to redesign it in a secure way rather than waiting for some system-wide
security architecture to be designed. GNOME is working on full sandboxing:
[https://news.ycombinator.com/item?id=8219309](https://news.ycombinator.com/item?id=8219309)

 _It sounds like something as simple as a keyboard macro manager would not be
doable..._

That's doable in the compositor/window manager.

 _I 'd also hate to try and write UI test automation for Wayland apps._

That's possible either through accessibility interfaces (
[https://developer.gnome.org/accessibility-devel-
guide/stable...](https://developer.gnome.org/accessibility-devel-
guide/stable/gad-how-it-works.html.en) ) or the compositor/window manager.
Note that many OS X "haxies" also use the accessibility API.

 _Heck what about services that do browser test renders?_

That should be no problem using either a modified browser or modified
compositor.

------
darklajid
_There is also ongoing work to figure out how best to support taking
screenshots of the whole desktop. Users expect the feature, but it has major
security implications. If an application can take a screenshot unattended, it
can also use that capability to record username /password combinations and
other sensitive data. The straightforward solution is to force screenshot
capture to require a user to verify the action; that would at least allow the
user to detect if an unauthorized screenshot attempt is made._

I know how this will come across, but .. sounds like UAC?

~~~
adestefan
There was never anything wrong with the idea of UAC; the problem was the
implementation. When the feature was first introduced so many Windows programs
did things that caused UAC pop-ups that it because nothing more than an
annoying click-through that no one paid attention to. It became nothing more
than a default "okay."

~~~
vacri
The problem wasn't the elevation request itself, it was the amount of requests
for a single [user-perceived] action. My record was 5, but a friend managed to
get 7 requests in early Win Vista... I wish I could remember what for.

------
hyperion2010
Lack of global keybindings would keep me off wayland for a long time. At this
point I am completely dependent on my keybinds in fluxbox for doing everything
from resizing windows to opening programs. If I can't specify real defaults
that stupid programs cannot interfere with it will be useless.

~~~
catern
No, Wayland only makes it difficult for individual applications to define
global keybindings - so, for example, a global Ctrl-Space to play/pause your
music player would need some extra plumbing to be implemented. Your WM owns
(well, is, in Wayland) the display server, so it can define whatever
keybindings it wants.

~~~
quotemstr
The problem with putting _everything_ in the now-unified compositor-
windowmanager-desktop thing is that it creates a huge barrier to implementing
desktop customizations. Instead of being able to swap out just the window
manager, or just the dock, or just the keybindings, you have to either fork
the standard implementation (and be constrained by its architecture) or
implement _all_ the interfaces expected of applications.

~~~
wtallis
That's not accurate. A wayland compositor can implement plugin support and
delegate stuff to external processes; this is how weston works. You can swap
out one shell for another, and if you want you can implement a shell that
itself delegates out the dock, window decoration, etc. each to different
processes. But the defaults will and should be that arbitrary apps cannot in
any way snoop on or interfere with the user's interaction with other apps, so
obviously any app that wants to do so will have to get authorization and use
some interfaces that aren't part of the normal protocol for presenting an app
to the user. You're not "being constrained by [the] architecture" of the
standard implementation in any way that's not completely justified.

~~~
quotemstr
You're suggesting that compositor- and shell-specific plugin interfaces can
replace X11's desktop protocols? I understand that X11's security issues had
to be fixed: I just wish that the new system had preserved some of X11's
support for heterogeneous environments and not relied on the extensibility of
specific compositor implementations.

~~~
wtallis
Wayland tries to be a simpler and _smaller_ system than X11. For it to specify
equivalents to ICCCM and EWMH would be _way_ beyond its scope. But there's
nothing preventing such equivalents from being standardized; it just won't be
part of Wayland, since Wayland also wants to target use cases where such
things would be inapplicable. If there ends up being a proliferation of
wayland implementations that support pluggable components, I think we'll
definitely see some quick standardization of the necessary interfaces. But at
the moment people are still working on successfully using one desktop
environment at a time, so good support for the mashups will have to wait.

------
based2
[https://github.com/walac/blender-wayland](https://github.com/walac/blender-
wayland)

~~~
e12e
So, this is a "Wayland back-end for Blender". Does that mean it renders real-
time to a window in wayland? I'd think what most would want is a _front-end_
for Wayland? What am I missing?

~~~
FreeFull
It's a rendering backend for blender's frontend (The user interface is the
same across Windows, Linux and OS X despite each of those using their own ways
to draw things to the screen, after all).

------
hollerith
Writers (including the author of Wayland's home page) get enthusiastic about
Gnome and KDE ports to Wayland, but what Wayland really needs is a port of
either Firefox or Chrome/Chromium, and I've seen very little progress on that
score.

~~~
jmhain
Really? Chromium already has a fairly functional Wayland port [0] and Firefox
just needs to upgrade to GTK 3, which is (admittedly optimistically) targeted
for 32 [1].

[0] [https://01.org/ozone-
wayland/blogs/tiagovignatti/2013/chromi...](https://01.org/ozone-
wayland/blogs/tiagovignatti/2013/chromium-browser-wayland-preview-release)

[1] [http://worldofgnome.org/optimistic-target-for-firefox-
gtk3-i...](http://worldofgnome.org/optimistic-target-for-firefox-gtk3-is-
firefox-32/)

EDIT: Now running the GTK 3 Firefox port in a GNOME Wayland session, and it's
working great!

~~~
kbrosnan
Firefox GTK3 builds are still pre-nightly. We won't uplift such major work,
current nightly is 34 with the uplift to 35 on the day after labor day. I
would say that 36 would be possible but obviously depends on the work load of
Glandium and Emilio Pozuelo.

If you want to test the builds the are available at
ftp://ftp.mozilla.org/pub/firefox/tinderbox-builds/elm-linux64/ however there
is no updater, so you would need to manually do that.

~~~
jmhain
I admit I let my new-desktop-linux* evangelism get the better of me there,
since I definitely knew that target was outdated. I should really put my money
where my mouth is and try and help with the port.

* There should really be a term for the new emerging desktop linux platform based around systemd and wayland.

~~~
hollerith
>I should really put my money where my mouth is and try and help with the
port.

It's more fun to work together than to work by yourself. Maybe you and I
should meet up and spend a day working together on the port. (Contact info in
my profile.)

~~~
jmhain
Awesome! Just emailed you.

------
spain
As interested as I am for Wayland, Gnome 3 is still Gnome 3.

~~~
wirrbel
I have grown to really like Gnome 3.

------
aruggirello
Can't wait to see it working in (or, under?) KDE...

------
kremlin
off-topic but genuine question:

Is it not a bit ironic that this source of information about display
technologies (among other things) uses tables for page layout?

~~~
dredmorbius
So does the site you're commenting about that from.

