Goals/Wayland: Difference between revisions
(Create a landing page for the wayland goal) |
(Removed Telegram info and link, updated Matrix link) |
||
(24 intermediate revisions by 7 users not shown) | |||
Line 3: | Line 3: | ||
KDE community has [https://phabricator.kde.org/T11081 elected] to finalize the transition to Wayland and embrace the future of desktop. | KDE community has [https://phabricator.kde.org/T11081 elected] to finalize the transition to Wayland and embrace the future of desktop. | ||
Wayland has been | Wayland has been of great interest and effort to the KDE community as it aligns with its values and goals to produce software that is secure, lightweight and beautiful. See more about Wayland in our [https://community.kde.org/KWin/Wayland Wayland page]. | ||
[[File:Wayland-logo-png-transparent.png|frameless|right|Wayland logo]] | |||
This is an ambitious goal | This goal will prioritize tracking down and fixing the issues that keep 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 the Wayland feature set. | ||
This is an ambitious goal. It cannot be a small team effort, and we invite the wider community to participate. | |||
== How to help == | |||
There are a few ways to help this goal, some requiring no specialized skills. | |||
=== Bug triaging === | |||
In order to fix bugs, we need to have precise reporting. Often we need to reproduce the issues reported, verify that bug reports include relevant information, request additional information, etc. | |||
All of those actions are essential to the community to be able to fix the issues, and anyone can help. | |||
See the [https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=NEEDSINFO&bug_status=REOPENED&keywords=wayland%2C%20&keywords_type=allwords&list_id=1662528&query_format=advanced reported Wayland bugs] that you can help triage. | |||
=== Testing === | |||
You can run plasma or a KDE Application and [https://community.kde.org/Get_Involved/Issue_Reporting report an issue] you've encountered in the bug tracker and mark it with the keyword "wayland". | |||
You don't need a Wayland session to test apps in Wayland; just ''startplasma-wayland dolphin'' to try it out within Wayland. (In Plasma 5.16 and older use ''startplasmacompositor'' instead of ''startplasma-wayland''.) | |||
=== Developing === | |||
There are different ways you can contribute with code. First, set up a [https://community.kde.org/Get_Involved/development developer environment]; Start your journey with ''kdesrc-build kwin''! Then pick a Wayland bug from among the [https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=NEEDSINFO&bug_status=REOPENED&keywords=wayland%2C%20&keywords_type=allwords&list_id=1662528&query_format=advanced known bugs] and give it a shot. For an especially impactful contribution, knock out one of the [[Plasma/Wayland Showstoppers]]! [https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes The wayland porting notes] may be helpful. | |||
== Documentation == | == Documentation == | ||
We have a few documentation pages to help with debugging and fixing bugs | We have a few documentation pages to help with debugging and fixing bugs: | ||
* https://community.kde.org/KWin/Wayland | * For [https://community.kde.org/KWin/Wayland Wayland debugging tips and general information] | ||
* https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes | * For app developers and maintainers we have a documentation to [https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes help porting to Wayland] | ||
* For new developer contributors wanting [https://community.kde.org/Get_Involved/development to start hacking] | |||
== KDE community projects == | == KDE community projects == | ||
=== KWin and KWayland === | === KWin and KWayland === | ||
KWin is the KDE Wayland compositor, representing 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 === | ||
Plasma needs a lot of integration with Wayland and KWin to provide a smooth experience. | |||
Its Wayland work board is located at https://phabricator.kde.org/project/view/99/ | |||
=== Apps === | === Apps === | ||
KDE has many great applications and we want to make sure they work flawlessly under Wayland. | 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 | We will be helping the apps contributors testing and fixing their Wayland support. | ||
== Upstream projects == | == Upstream projects == | ||
===libinput=== | ===libinput=== | ||
[https://gitlab.freedesktop.org/libinput/libinput Libinput] | [https://gitlab.freedesktop.org/libinput/libinput Libinput] is the input library for Wayland, and a major dependency of Plasma and a few of our apps. We will probably need to work upstream to achieve our goal. | ||
We will probably need to work | |||
=== Qt and | === Qt and QtWayland === | ||
[https://www.qt.io/ Qt] is the main framework upon which most of KDE software is built. As we have advanced needs, we might encounter issues or limitations with Qt or QtWayland (the Wayland integration Qt module) in which case we will work with the [https://www.qt.io/developers/ Qt community] to address them. | |||
=== SDDM === | === SDDM === | ||
[https://github.com/sddm/sddm SDDM] | [https://github.com/sddm/sddm SDDM] is our main desktop manager and will need some contribution of our community to take full advantage of wayland. | ||
== Currently reported Wayland bugs == | == Currently reported Wayland bugs == | ||
You can find | You can find open bugs associated with Wayland keyword with | ||
https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&keywords=wayland%2C%20&keywords_type=allwords&list_id= | [https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=NEEDSINFO&bug_status=REOPENED&keywords=wayland%2C%20&keywords_type=allwords&list_id=1662528&query_format=advanced this query]. | ||
You can find bugs with Wayland mentioned in their title with | |||
[https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDSINFO&keywords=wayland&keywords_type=nowords&list_id=1671211&order=changeddate%20DESC%2Cbug_status%20DESC%2Cproduct%2Cresolution%2Cpriority%2Cassigned_to%2Cbug_id&query_format=advanced&short_desc=wayland&short_desc_type=allwordssubstr this other query]. | |||
== Contact == | |||
You can reach for the people involved on [https://mail.kde.org/mailman/listinfo/kwin KWin mailing] and #kwin IRC channel on freenode. [https://invent.kde.org/plasma/kwin kwin gitlab] is where a lot of work happens and could be used to contact the team. | |||
Find us: | |||
* Matrix: https://go.kde.org/matrix/#/#kde-wayland-goal:kde.org | |||
* IRC: #kde-wayland-goal on liberachat. |
Latest revision as of 16:46, 22 August 2023
Intro
KDE community has elected to finalize the transition to Wayland and embrace the future of desktop.
Wayland has been of great interest and effort to the KDE community as it aligns with its values and goals to produce software that is secure, lightweight and beautiful. See more about Wayland in our Wayland page.
This goal will prioritize tracking down and fixing the issues that keep 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 the Wayland feature set.
This is an ambitious goal. It cannot be a small team effort, and we invite the wider community to participate.
How to help
There are a few ways to help this goal, some requiring no specialized skills.
Bug triaging
In order to fix bugs, we need to have precise reporting. Often we need to reproduce the issues reported, verify that bug reports include relevant information, request additional information, etc.
All of those actions are essential to the community to be able to fix the issues, and anyone can help. See the reported Wayland bugs that you can help triage.
Testing
You can run plasma or a KDE Application and report an issue you've encountered in the bug tracker and mark it with the keyword "wayland". You don't need a Wayland session to test apps in Wayland; just startplasma-wayland dolphin to try it out within Wayland. (In Plasma 5.16 and older use startplasmacompositor instead of startplasma-wayland.)
Developing
There are different ways you can contribute with code. First, set up a developer environment; Start your journey with kdesrc-build kwin! Then pick a Wayland bug from among the known bugs and give it a shot. For an especially impactful contribution, knock out one of the Plasma/Wayland Showstoppers! The wayland porting notes may be helpful.
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 is the KDE Wayland compositor, representing 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 needs a lot of integration with Wayland and KWin 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 is the input library for Wayland, and a major dependency of Plasma and a few of our apps. We will probably need to work upstream to achieve our goal.
Qt and QtWayland
Qt is the main framework upon which most of KDE software is built. As we have advanced needs, we might encounter issues or limitations with Qt or QtWayland (the Wayland integration Qt module) in which case we will work with the Qt community to address them.
SDDM
SDDM is our main desktop manager and 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 keyword with this query.
You can find bugs with Wayland mentioned in their title with this other query.
Contact
You can reach for the people involved on KWin mailing and #kwin IRC channel on freenode. kwin gitlab is where a lot of work happens and could be used to contact the team.
Find us:
- Matrix: https://go.kde.org/matrix/#/#kde-wayland-goal:kde.org
- IRC: #kde-wayland-goal on liberachat.