Why Your Desktop Won't Be Running Mir/Wayland Anytime Soon
shnatsel.blogspot.ru
shnatsel.blogspot.ru
1. You can use OpenGL, OpenGL ES, Software, etc. to render windows in Wayland and most likely in Mir.
2. 2D acceleration depends on the widget toolkit and not Wayland. Wayland doesn't do 2D acceleration or need to do so since it is only responsible for compositing windows (which is as fast in 3D). If 2D acceleration is used to draw these windows, it isn't affected by the use of Wayland or X11 in any way. Wayland has a public mailing list that has much more reliable info than Phoronix and LWN.
3. This is probably the most interesting point raised. Providing xrandr functionality in wayland is much easier than in X11. This is because you have to support a lot of legacy features in X11 that you don't in Wayland.
4 (I added this one) Throughout the article, he seems to assume that no drivers will support Wayland. Wayland was buit to reuse most of the X11 drivers by being able to use DRI2. Mir seems to be able to take this one step further by being able to leverage existing Android drivers (there was a prototype of this in Wayland a while back).
I would like to finish by saying that I agree with the premise but not for the reasons given. The reason you won't see Wayland and Mir in a distro this year is because X11 is tried and tested. You don't replace something that critical to the user experience on a whim: you make sure it works and works for everyone first. Having said that, you will see Wayland and/or Mir faster than you'd expect.
1. Arch already has Wayland in its official repositories.
2. KDE already has preliminary support
3. Intel is driving Wayland development, so integrated cards will likely work without a hitch
4. Systemd was another large change with lots of FUD, and it's already default in high-profile distros (OpenSUSE, Fedora and soon RHEL 7). Even Canonical's on board.
This article is mostly FUD. I think we'll see a relatively stable KDE on Wayland this year. I doubt the Wayland team is that optimistic, but it's moving at an incredible pace.
As for acceleration - you can actually run wayland on fbdev with a fully software compositor. I wouldn't be surprised to see something like E18 running as a sw compositor for wayland.
Some of that is due to the X11 engine not being optimal, but then again if it's difficult to generate an optimal X11 rendering toolkit and it's easy to make a fast software renderer, then maybe that makes choices like these (moving to software-everything) seem more reasonable in retrospect.
Software rendering an opaque rect may be fine, but add in some big semi-transparent overlays and performance drops.
I don't know how good the support for this is from different drivers, however.
Also, doesn't Compiz still have some tearing or artifacting during window resize? Wayland is supposed to eliminate that.
[1]: http://www.phoronix.com/scan.php?page=news_item&px=MTMwN...
But when you drag a window around or invoke Mission Control, etc, all of that is "Quartz Extreme" (a marketing label that hasn't been used much in a while), which is hardware-assisted and has been since 10.2. Is rendering of the shadow cast by each window accelerated, and if so, how? Again, not sure.
No mainstream 2D rendering system (not X.org, not Mac OS Quartz, not Windows GDI/WPF+DWM) uses any graphics acceleration to draw 2D primitives. In some cases, drawing may be done to graphics card memory (to avoid needing to copy to graphics memory later) but that's it (see CALayers on the Mac). The lines and other primitives are all CPU determined. This is still just a compositing layer.
The intractable performance problems of the Mac's Quartz 3D Extreme are exactly why drawing is always done by the CPU -- it is actually faster to do this work on the CPU. You'd link a graphics shader might help but performance metrics prove otherwise.
The article itself is badly confused (on this point and others). X11/X.org has no advantage in this regard.
That isn't entirely true. Windows has Direct2D for graphics and DirectWrite for text after all.
Direct2D and DirectWrite were first introduced for Windows Vista and 7 using Direct3D 10. Windows 8 expanded it using new features found in Direct3D 11.
You can see the high performance and fluid animations it brings in many of the Metro applications. Desktop applications need to migrate their existing code of course. IE and Firefox have done this already.
http://blogs.msdn.com/b/b8/archive/2012/07/23/hardware-accel...
There was a presentation on the mode-setting architecture at FOSDEM in February, I'm going to look at it now: http://www.phoronix.com/scan.php?page=news_item&px=MTI5N...
Mir has specific goals for hardware and binary driver compatibility and Canonical has demonstrated proof of concept by using SurfaceFlinger as a compositor for Ubuntu Touch.
- plug external screen with different resolution on your mobile device (laptop or smartphone with miniHDMI) and switch to that
- full-screen app want to change to different resolution for performance reasons
In Wayland, I can easily see the ability to run an X server on top as a motivator, but in the end the killer feature needs to be performance and a tide of new software targeting EGL / WaylandInput insteaf of GLX / XInput.
When the first iPod came out, it didn't have feature parity. No wireless, no FM radio, smaller drive, no Windows compatibility. But it was better at the important tasks (finding music on your library, controlling playback). Similarly the first iPhone OS was missing quite a few features compared to BB/WinMo.
If Wayland or Mir can do a better job for the 80% or 90% case, they could easily displace X11. The fact that they are cleaner codebases (since they aren't 20+ years of layers) means they can probably respond to new use cases or important gaps faster than X11.
Which is why there has been so much fuss. I haven't kept up, but has the Wayland project changed their tune on networkable graphics? I will grant that X could use some uncrustifying, but I think the general gist of the OP is correct: there is just so much that X offers that Wayland and Mir will have to catch up to (assuming they can, which requires not just time and effort, but forward thinking on design and architecture).
And as for performance, my N900, a four years old phone, runs X just fine. The sad experience I have had with software (including OSS), is that the newly born projects are almost always designed without paying attention to efficiency, usually through a lack of awareness because people are so used to fast hardware these days.
People run crapburgers like GNOME and then say "X is bloated and slow, we need to replace it NOW with Wayland". Uh, no, your DE is bloated and slow. X is warty and certainly worthy of criticism, but force-switching everybody to PulseVideo--sorry, Wayland, is not going to solve all the problems with the Lunix desktop and is going to introduce a whole new slew of transition-phase problems.
As you said, Wayland actually provides less than X. If you want to turn Linux into Windows, then the solution is a single, standardized, soup-to-nuts graphics layer incorporating everything from graphical primitives to widget toolkits and user-interface guidelines. Linux still has multiple toolkits and multiple DEs squabbling for mindshare, and seems to grow one more everytime GNOME pisses someone new off.
You mean "provide a flag in ssh to forward a rendered window?"
They were talking about having hooks so a VNC server could act as a compositor for windows that it can forward over the VNC protocol. That would be a much better solution than raw pixel buffers like X forwarding had.