From Fedora Project Wiki
(→‎How To Test: Reword this, technically Qt is fine, it's everything above it that isn't)
(adding release notes tracker)
 
(17 intermediate revisions by 3 users not shown)
Line 3: Line 3:
= KDE Plasma 6 <!-- The name of your change proposal --> =
= KDE Plasma 6 <!-- The name of your change proposal --> =


{{Change_Proposal_Banner}}
 


== Summary ==
== Summary ==
Line 9: Line 9:


== Owner ==
== Owner ==
* Name: [[User:Ngompa|Neal Gompa]], [[User:Marcdeop|Marc Deop]], [[User:Justinz|Justin Zobel]], [[User:Siosm|Timothy Ravier]], [[User:Tdawson|Troy Dawson]]
* Name: [[User:Ngompa|Neal Gompa]], [[User:Marcdeop|Marc Deop]], [[User:Justinz|Justin Zobel]], [[User:Siosm|Timothée Ravier]], [[User:Tdawson|Troy Dawson]], [[User:Jgrulich|Jan Grulich]]
* Email: ngompa13@gmail.com, marcdeop@fedoraproject.org, justin.zobel@gmail.com, travier@redhat.com, tdawson@redhat.com
* Email: ngompa13@gmail.com, marcdeop@fedoraproject.org, justin.zobel@gmail.com, travier@redhat.com, tdawson@redhat.com, jgrulich@redhat.com
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 16: Line 16:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF40]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 34: Line 34:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [<will be assigned by the Wrangler> devel thread]
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/I3O6DZCT6WFGF5SQ2IPJSYAVBGZ3N47U/ Announced]
* FESCo issue: <will be assigned by the Wrangler>
* [https://discussion.fedoraproject.org/t/f40-change-proposal-kde-plasma-6-system-wide/89794/1 Discussion Thread]
* Tracker bug: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/3086 #3086]
* Release notes tracker: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2250089 #2250089]
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/1084 #1084]


== Detailed Description ==
== Detailed Description ==
Line 43: Line 44:
KDE Plasma 6 is a new major version of the user experience environment from the KDE community. It includes both desktop and mobile environments. While there are some user experience improvements over KDE Plasma 5, the majority of the work is under the hood. Notably, the whole stack is now built on Qt 6. Qt 6 brings significant upgrades to QML and Qt Quick as well as support for Vulkan (in addition to OpenGL and OpenGL ES support introduced in Qt 5).
KDE Plasma 6 is a new major version of the user experience environment from the KDE community. It includes both desktop and mobile environments. While there are some user experience improvements over KDE Plasma 5, the majority of the work is under the hood. Notably, the whole stack is now built on Qt 6. Qt 6 brings significant upgrades to QML and Qt Quick as well as support for Vulkan (in addition to OpenGL and OpenGL ES support introduced in Qt 5).


[https://pointieststick.com/2023/09/06/september-plasma-6-update/ KDE Plasma 6.0 is expected to release in early February 2024]. The frameworks (KDE Frameworks), shells (Plasma Desktop and Plasma Mobile), and applications (KDE Gear) [https://mail.kde.org/pipermail/kde-devel/2023-September/002008.html will all be ported to Qt 6 as part of the KDE Plasma 6 release].
[https://pointieststick.com/2023/09/06/september-plasma-6-update/ KDE Plasma 6.0 is expected to release in early February 2024]. The frameworks (KDE Frameworks), shells (Plasma Desktop and Plasma Mobile), and applications (KDE Gear) [https://mail.kde.org/pipermail/kde-devel/2023-September/002008.html are all expected to be ported to Qt 6 as part of the KDE Plasma 6 release]. However, some applications may not make it in time and will be updated later.


This upgrade is also notable that for Fedora Linux (and Fedora Extra Packages for Enterprise Linux 10, once that materializes), KDE Plasma will '''not''' offer an X11 session. Fedora KDE has been fully Wayland by default from login ([[Changes/WaylandByDefaultForSDDM|since Fedora Linux 38]]) to desktop ([[Changes/WaylandByDefaultForPlasma|since Fedora Linux 34]]), and the SIG is confident in the quality and development around the Plasma Wayland experience to stand fully behind it.
This upgrade is also notable that for Fedora Linux (and Fedora Extra Packages for Enterprise Linux 10, once that materializes), KDE Plasma will '''not''' offer an X11 session. Fedora KDE has been fully Wayland by default from login ([[Changes/WaylandByDefaultForSDDM|since Fedora Linux 38]]) to desktop ([[Changes/WaylandByDefaultForPlasma|since Fedora Linux 34]]), and the SIG is confident in the quality and development around the Plasma Wayland experience to stand fully behind it.
Line 60: Line 61:


This also does not mean that X11 applications will not work in Plasma 6, as we will still support Xwayland for running X11 applications on Plasma Wayland.
This also does not mean that X11 applications will not work in Plasma 6, as we will still support Xwayland for running X11 applications on Plasma Wayland.
==== Why drop the X11 session with the Plasma 6 upgrade? ====
There is no such thing as a "good" time to do this. It is true that KDE Plasma 6 is retaining support for the X11 session upstream, this is being done with the acknowledgement that it will be abandoned and unmaintained (and potentially even removed) midway through the lifetime of Plasma 6. Everyone upstream understands the Xorg server and its associated DDX software is effectively dead. The X11 session is being dropped in Fedora KDE because it is already two steps removed from being unmaintained.
The KDE SIG does not want to be put into a position where they have to do something about Plasma X11 and Xorg under these circumstances. Given that Fedora KDE has used Plasma Wayland by default since Fedora Linux 34 and Plasma Wayland gets a serious upgrade in Plasma 6 from the already decent state of the Wayland session in Plasma 5, the KDE SIG is very confident in being able to switch fully over now. This also allows us to avoid a more painful switch later, as we feel users will be more accepting of the change on the major version upgrade rather than some point later on a minor version.
This does not apply to Xwayland, as that is actively developed and maintained. This allows us to retain compatibility for X11 applications with Plasma Wayland.


==== Could we keep Plasma 5 for X11? ====
==== Could we keep Plasma 5 for X11? ====
Line 96: Line 105:
== How To Test ==
== How To Test ==


A COPR with pre-release versions of Plasma 6 will be available from the KDE SIG in the near future. At the moment, we have a [https://copr.fedorainfracloud.org/coprs/g/kdesig/kde-nightly-qt6/ KDE Plasma 6 nightly COPR] containing snapshot builds in various states. It is strongly advised that testing is done in a non-production environment using a Fedora spin that doesn't include and use KDE Frameworks at all (such as [https://fedoraproject.org/spins/budgie/ the Fedora Budgie Spin]) as the packages are unstable and are not co-installable with any Qt 5 based environment at all.
A COPR with pre-release versions of Plasma 6 will be available from the KDE SIG in the near future. At the moment, we have a [https://copr.fedorainfracloud.org/coprs/g/kdesig/kde-nightly-qt6/ KDE Plasma 6 nightly COPR] containing snapshot builds in various states. It is strongly advised that testing is done in a non-production environment using a Fedora spin that doesn't include and use KDE Frameworks at all (such as [https://fedoraproject.org/spins/budgie/ the Fedora Budgie Spin]) as the packages are unstable and are not co-installable with any Qt5+KF5 based environment at all.


Once packages are integrated into Rawhide, users should grab [https://openqa.fedoraproject.org/nightlies.html nightly composes] of the Fedora KDE Spin and Fedora Kinoite to try it out.
Once packages are integrated into Rawhide, users should grab [https://openqa.fedoraproject.org/nightlies.html nightly composes] of the Fedora KDE Spin and Fedora Kinoite to try it out.

Latest revision as of 20:14, 28 February 2024


KDE Plasma 6

Summary

KDE Plasma 6 is successor to KDE Plasma 5 created by the KDE Community. It is based on Qt 6 and KDE Frameworks 6 and brings many changes and improvements over previous versions. For Fedora Linux, the transition to KDE Plasma 6 will also include dropping support for the X11 session entirely, leaving only Plasma Wayland as the sole offered desktop mode.

Owner

Current status

Detailed Description

KDE Plasma 6 is a new major version of the user experience environment from the KDE community. It includes both desktop and mobile environments. While there are some user experience improvements over KDE Plasma 5, the majority of the work is under the hood. Notably, the whole stack is now built on Qt 6. Qt 6 brings significant upgrades to QML and Qt Quick as well as support for Vulkan (in addition to OpenGL and OpenGL ES support introduced in Qt 5).

KDE Plasma 6.0 is expected to release in early February 2024. The frameworks (KDE Frameworks), shells (Plasma Desktop and Plasma Mobile), and applications (KDE Gear) are all expected to be ported to Qt 6 as part of the KDE Plasma 6 release. However, some applications may not make it in time and will be updated later.

This upgrade is also notable that for Fedora Linux (and Fedora Extra Packages for Enterprise Linux 10, once that materializes), KDE Plasma will not offer an X11 session. Fedora KDE has been fully Wayland by default from login (since Fedora Linux 38) to desktop (since Fedora Linux 34), and the SIG is confident in the quality and development around the Plasma Wayland experience to stand fully behind it.

Feedback

Why drop the X11 session?

Three reasons for this removal:

This will drastically reduce our support burden and give us the ability to focus on quality for the KDE Plasma stack and continue our feature-forward nature. The Fedora KDE SIG will maintain a single code stream for all supported distribution targets (Fedora Linux 40+, Fedora Extra Packages for Enterprise Linux 10+).

This also does not mean that X11 applications will not work in Plasma 6, as we will still support Xwayland for running X11 applications on Plasma Wayland.

Why drop the X11 session with the Plasma 6 upgrade?

There is no such thing as a "good" time to do this. It is true that KDE Plasma 6 is retaining support for the X11 session upstream, this is being done with the acknowledgement that it will be abandoned and unmaintained (and potentially even removed) midway through the lifetime of Plasma 6. Everyone upstream understands the Xorg server and its associated DDX software is effectively dead. The X11 session is being dropped in Fedora KDE because it is already two steps removed from being unmaintained.

The KDE SIG does not want to be put into a position where they have to do something about Plasma X11 and Xorg under these circumstances. Given that Fedora KDE has used Plasma Wayland by default since Fedora Linux 34 and Plasma Wayland gets a serious upgrade in Plasma 6 from the already decent state of the Wayland session in Plasma 5, the KDE SIG is very confident in being able to switch fully over now. This also allows us to avoid a more painful switch later, as we feel users will be more accepting of the change on the major version upgrade rather than some point later on a minor version.

This does not apply to Xwayland, as that is actively developed and maintained. This allows us to retain compatibility for X11 applications with Plasma Wayland.

Could we keep Plasma 5 for X11?

No. The KDE Plasma stack is fairly large and comprehensive. The SIG does not have the resources to maintain the KDE Plasma 5 stack beyond the lifetime of upstream's focus. It would also be fairly complex to do so, requiring a lot of downstream patching to resolve the conflicts between Plasma 5 and Plasma 6. The intent upstream is that KDE Plasma 5 will be EOL shortly after the release of KDE Plasma 6, so it would be very difficult to support ourselves.

Will Plasma 6 be available for older Fedora and EPEL releases?

No. This major version upgrade is not getting backported. Some portions (KDE Frameworks and KDE Gear) may get backported as part of regular upgrades if Qt 5-based versions are not maintained upstream, but the Plasma Desktop and Plasma Mobile software will not. Notably, KDE Plasma 5 for older Fedora Linux releases (and Fedora Extra Packages for Enterprise Linux 9) are on Plasma 5.27 and will stay there.

Benefit to Fedora

KDE Plasma is a very popular platform used as the basis for the Fedora KDE Spin, Fedora Kinoite, and the flagship Fedora Asahi Remix experiences. By bringing KDE Plasma 6 into Fedora, we demonstrate our leadership and commitment to bring the latest and greatest technologies from the KDE community to the world.

Scope

  • Proposal owners:
    • Import Plasma 6 stack into F40/Rawhide (tracked as pagureio#fedora-kde/SIG#383)
      • Ensure kwin-x11 is obsoleted by kwin-wayland
      • Ensure plasma-workspace-x11 is obsoleted by plasma-workspace-wayland
    • Modify select KDE Frameworks 5 packages to be co-installable with KDE Frameworks 6 per upstream guidance.
    • Enable tracking the Plasma 6 stack in ELN for branching to EPEL 10 once CentOS Stream 10 is available.
  • Other developers:
    • Optional: Packagers with software that can choose to build against either Qt 5 or Qt 6 should make the switch to Qt 6. Community maintenance of Qt 5 will be drastically reduced once KDE Plasma 6 is released.
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives: N/A

Upgrade/compatibility impact

Fedora Linux users using Plasma X11 upgrading to Plasma 6 will find themselves switched to Plasma Wayland automatically as the X11 session will no longer be available. The KDE SIG strives to ensure the upgrade path is smooth for all users. Configuration files will be migrated automatically after first login to Plasma 6.

How To Test

A COPR with pre-release versions of Plasma 6 will be available from the KDE SIG in the near future. At the moment, we have a KDE Plasma 6 nightly COPR containing snapshot builds in various states. It is strongly advised that testing is done in a non-production environment using a Fedora spin that doesn't include and use KDE Frameworks at all (such as the Fedora Budgie Spin) as the packages are unstable and are not co-installable with any Qt5+KF5 based environment at all.

Once packages are integrated into Rawhide, users should grab nightly composes of the Fedora KDE Spin and Fedora Kinoite to try it out.

User Experience

The user experience provided by KDE Plasma 6 will not be significantly different from what users expect from KDE Plasma 5. The main change will be the removal of the X11 session, as everyone will be transitioned to the Wayland experience.

Dependencies

Plasma 6 depends most notably on Qt 6 and KDE Frameworks 6 packages. Qt 6 is already available in Fedora Linux, and KDE Frameworks 6 is in the process of being imported.

Contingency Plan

  • Contingency mechanism: KDE SIG will roll back the Plasma Desktop and Plasma Mobile packages to KDE Plasma 5. Doing so will require epoch bumps across the stack.
  • Contingency deadline: Beta freeze
  • Blocks release? Yes

Documentation

There is not yet upstream release notes for Plasma 6.0, as it is not released yet.

Release Notes

Fedora Linux now ships KDE Plasma 6.0, a new major version of the KDE user experience from the KDE community. As part of this change, KDE Plasma on Fedora Linux runs on the Wayland display technology. X11 applications are still supported on KDE Plasma.