Goals/Wayland
Intro
KDE community has elected to finalize the transition to Wayland and embrace the future of desktop.
Wayland has been a great interest and effort to the KDE community as it aligns with its values and goals : security, lightweight and beauty.
This goal will articulate in tracking down and fixing the issues that keeps our software from achieving feature parity with the venerable X Window system. Our focus will be our own community software, KWin, Plasma and Apps but will also be about helping the wider free software community to advance Wayland feature set.
This is an ambitious goal, it cannot be a small team effort, we invite the wider community to participate.
How to help
There are a few ways to help this goal, some requiring no particular skills.
Bug triaging
In order to fix bugs, we need to have precise reporting. Often we need to reproduce the issues reported, check it is not missing relevant information, ask for more information, ask to test a fix etc...
All of those actions are essential to the community to be able to fix the issues, and anyone can help. You can find the reported wayland bugs in bugs
Testing
You can run plasma or a KDE Application and report an issue you noticed, in the bug tracker marking it with the keyword wayland. You don't need a wayland session to test apps in wayland just startplasmacompositor dolphin to try it out within wayland.
Developing
There are different ways you can contribute coding, you can pick a wayland bug in the known bugs and give a crack at it.
The simplest way would be to send patches for an application to fix their wayland shortcomings, you can use the wayland porting notes to help you.
For more advanced contribution, you can try to fix a plasma wayland issue, setting up a plasma developer environment and send a patch to phabricator. And finally you can hack on KWin and Kwayland and following the developer environment setup start your journey with kdesrc-build kwin.
Documentation
We have a few documentation pages to help with debugging and fixing bugs.
- For Wayland debugging tips and general information
- For app developers and maintainers we have a documentation to help porting to wayland
- For new developer contributors wanting to start hacking
KDE community projects
KWin and KWayland
KWin as the KDE wayland compositor is the main component establishing a wayland session. KWayland is an essential library wrapping low-level wayland API to higher-level Qt-Style API. Their work board is located at https://phabricator.kde.org/project/view/98/
Plasma
Plasma, the KDE desktop, needs a lot of integration with wayland and KWin in order to provide a smooth experience. Its wayland work board is located at https://phabricator.kde.org/project/view/99/
Apps
KDE has many great applications and we want to make sure they work flawlessly under Wayland. We will be helping the apps contributors testing and fixing their wayland support.
Upstream projects
libinput
Libinput as the input library for Wayland is a major dependency of Plasma and a few of our apps. We will probably need to work with upstream, to achieve our goal.
Qt and QtWayland
We might encounter issues with Qt or QtWayland in which case we will work with the Qt community to fix them.
SDDM
SDDM as our main desktop manager, will need some contribution of our community to take full advantage of wayland.
Currently reported Wayland bugs
You can find open bugs associated with Wayland with this query.