[Development] QtWayland: current state and roadmap

Nichols Andy Andy.Nichols at digia.com
Fri Mar 22 12:33:26 CET 2013


Greetings fellow Qt developers,

I would like to say a little bit about the current state of the QtWayland project and the current roadmap.  Today the QtWayland repository was split into the "stable" and "dev" branches following the convention of other Qt modules.  There is no "release" branch yet because there has not yet been an official release of QtWayland.  In the "stable" branch work is being done to prepare for the first release, which is planned to happen with or shortly after the Qt 5.1 release.  Here is a summary of the current road map for QtWayland (versions correspond the the Qt versions they are released against).

QtWayland 5.1.x (stable) 
	Requires Qt 5.1 or higher
	Requires xkbcommon 0.2.0 or higher
	Requires libwayland 1.0.3 or higher

	Provides support for running Qt applications as Wayland clients via the "wayland" platform plugin.  This is the ability to run Qt applications natively in Wayland compositors (like the Weston reference compositor).  This requires wayland-egl support to use.

	Includes the experimental QtCompositor API for implementing Wayland compositors using Qt (did I mention that it's experimental at this point and very subject to API changes ?!)

	Known issues:
		Resizing OpenGL windows have sync issues, and displays buffer corruption when resizing
		Window decorations behave unusually
		Mouse cursors only work on window decoration
		Menu's and pop-ups don't move if the parent window is moved (in Weston)

QtWayland 5.2.x (dev)
	Requires Qt 5.2 or higher
	Requires libwayland 1.x (master)

	Planned Features:
		QtCompositor API support for implementing Wayland compositors using Qt or QtQuick that are compatible with any other toolkits with Wayland client support (via wayland-egl)
		QtCompositor API support for implementing Wayland compositors in places without wayland-egl through the use of hardware integration plugins (though no longer compatible with toolkits without them also implementing additional protocols).
		Window decorations API for customizing decorations
		Window decorations using Wayland sub-surfaces (because the solution we have now is sub-optimal)
		Wayland input methods integration.
		Test suite to run QtWayland CI tests

So that is the current status and roadmap.  There are a handful of developers contributing to the QtWayland module now, and they are doing a really awesome job, but we could always use more eyes and help if we hope to reach our goals and improve the quality of our Wayland support.  Here are some links that would be useful if you want additional information:

Qt project wiki with advice to get started:
http://qt-project.org/wiki/QtWayland

Bug tracker list of unresolved QtWayland bugs(please add more when you find them):
https://bugreports.qt-project.org/secure/IssueNavigator.jspa?mode=hide&requestId=13761

QtWayland talk I did at QtDevDays2012:
http://www.youtube.com/watch?v=jLiSEmtRvGs

Finally, feel free to ask questions on the freenode.  My handle is "nezticle" and QtWayland typically discussed in either #qt-lighthouse or #wayland

Regards and good hacking,
Andy Nichols
--
QtWayland maintainer


More information about the Development mailing list