krh at bitplanet.net
Tue Mar 25 14:57:11 PDT 2014
Here's the final patches in the Xwayland series. The first patch is
a resend of the .gitignore patch that Gaeton reviewed. The next three
are the os/ patches I sent out earlier to enable socket-activated DDX
servers, including fixes to address Peters comment and the nolock issue
I spotted myself.
That last two patches are new. The XYToWindow patch makes the XYToWindow()
function a screen function, to allow DDXes to override it. This allows a
DDX to provide its own window search function so that we can avoid picking
X windows when the pointer is in a native window, invisible to the X server.
It also allows X window managers to not worry about keeping the X window
stacking in sync with the compositor window stack.
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.
The catch is that this initial submission doesn't actually include the
glamor integration, nor does it support present. It's all software-only
and there's not direct rendering either. Patches for that to follow,
hopefully in time for 1.16.
More information about the xorg-devel