XWayland Aiming For Glamor Support, Merge Next X.Org Release
An anonymous reader writes that XWayland is nearly ready to be merged into the main X.org tree "X.Org Server 1.16 this summer should support XWayland, the means of allowing X11 applications to run atop Wayland-based compositors without the need for any application/game changes. With the revised design, XWayland has generic 2D acceleration over OpenGL and a cleaner design compared to earlier revisions. With GNOME 3.12 having better Wayland support and Plasma Next around the corner, it looks like 2014 could be the year of Wayland's take-off!"
The patch series emails have more details. The big news here is that XWayland is ditching its old DDX model for one based on Glamor. eliminating the need for any X.org drivers to be written to support X11 on Wayland: "Finally, the last patch adds the Xwayland DDX. Initially Xwayland was an
Xorg module that exposed an API for Xorg video drivers to hook into
so that we could reuse the native 2D acceleration. Now that glamor is
credible and still improving, a much better approach is to make Xwayland
its own DDX and use glamor for acceleration. A lot of the code in the Xorg
approach was busy preventing Xorg being Xorg, eg, preventing VT access,
preventing input driver loading, preventing drivers doing modesetting.
The new DDX in contrast is straight-forward, clean code, only 2500 lines of
code and neatly self-contained." It does not yet have direct rendering or any acceleration, but those patches should come soon.
The Year of the Linux Desktop is upon us!
I saw it on Slashdot, it must be true!
OK, so I need to buy a clue here... does this move the ball forward with respect to being able to run an X-Windows client application on one node, and set the display back to a Wayland-based display server running on another node elsewhere on the network?
The actual article where he says Plasma Next will not (at least initially) support Wayland is: http://blog.martin-graesslin.c...
... a part of X11 or a part of Wayland? Where exactly does it fit?
Is it just me, or is the Linux graphical stack insanely complex? Every time I read about it, they've introduced three new acronyms.
Anything without acceleration is an experiment. It doesn't matter how many lines of code you've written, or how efficient it seems. 100% of the required functionality is acceleration.
Acceleration is why X is being replaced by Wayland. 2D X11 requires a separate driver for every different type of hardware. 3D X11, from what I read by the Wayland people themselves, has three different APIs. For a long time, the only drivers with good 3D acceleration were proprietary drivers from AMD and nVidia.
I want Wayland to succeed, but I feel that it's still a long way off. The devil is in the acceleration. Think about the time spent by XFree86 developers over the decades writing acceleration code versus everything else, and that's the part we're missing right now. I'm not very clear on just where the acceleration is missing, but it sounds like it's missing in a foundational piece.
With Wayland/Mir people should consider pushing X totally on user space, like Xming,VcXsrv,XDarwin (and XPhoton R.I.P.) with an SDL fallback.
It's not quite as bad as it sounds, the actual hardware drivers are still accelerated and exposed as OpenGL, it's just that XWayland doesn't make use of it. If you look at this diagram it's the line between the X-server and libDRM that's broken when you use XWayland instead because Wayland can't talk directly down to that level. XWayland needs to be rewritten to accelerate graphics using OpenGL instead, then it'll hook into the green box above libDRM and all will be well. Luckily for the Wayland project so does the X-server want to as well, "Glamor" that they talk about is essentially 2D X11 over OpenGL.
Old:
X-client --> X-server --> libDRM --> hardware
Old using Wayland:
X-client --> XWayland --> (broken, software fallback) --> hardware
New in X-server:
X-client --> X-server (Glamor) --> OpenGL --> libDRM --> hardware
New using Wayland
X-client --> XWayland (Glamor) --> OpenGL --> libDRM --> hardware
Long term it looks like the plan is to expose everything via OpenGL/OpenGL ES for rendering and EGL for the windowing system so the direct link between X11 and libDRM would go away. That is still a few years off though.
Live today, because you never know what tomorrow brings
This again? Two guys that worked on bits of Xorg are not collectively "the X developers". There are plenty of others out there working on stuff other than a nice tear free framebuffer for a phone. There are plenty of others that don't laugh at "running that app from 1996", who don't laugh at shaped windows, who don't bite the hand that is actually adding some wayland support and who have something better than a half finished presentation with no screenshots to show off their work.