Plasma/Plasma 6

From KDE Community Wiki
Revision as of 03:09, 23 May 2024 by Jpetso (talk | contribs) (→‎Known issues: Update KAuth paragraph to link directly to the recommended MRs)

Plasma 6 is built on top of Qt 6 and was released on February 28th, 2024. This page outlines important information and major changes coming in Plasma 6.

Known issues

On the KDE side:

  • Plasma 6 issues
  • Frameworks 6 issues + Plasma 6 issues
  • All Qt6-related issues across all KDE software
  • In a built-from-source dev session on top of a distro-provided Plasma 5 session, KWin effect IDs have changed, so they appear duplicated in the Effects KCM and you need to disable one of each, or else both play at the same thing and there are weird visual glitches.
  • In a built-from-source dev session on top of a distro-provided Plasma 5 session, Qt5-using QML apps don't launch because they'll try to use the KF6 Kirigami. Workaround: For those apps, create custom .desktop files with QML2_IMPORT_PATH set to the built-from-source KF5 location in the "Environment Variables" field, and an absolute path to to the built-from-source executable in the "Program" field. See also https://phabricator.kde.org/T16483.
  • In a built-from-source dev session on top of a distro-provided Plasma session (5 or 6), your dev session will still use the system versions of KAuth helpers by default. This can lead to issues when certain components such as PowerDevil make use of newly introduced helper actions. Use plasma-workspace MR !1715 to overlay your build on top of /usr, or !3705 for a partially successful symlinking approach.

Known upstream issues, no fix yet:

Fixed upstream, but without a release yet:

  • For built-from-source dev sessions, SDDM displays empty/incorrect session titles

How to use/test it

Developers and adventurous users are encouraged to test or even live on Plasma 6, to help get it into a releasable state faster. Before doing so, remember the rules of Plasma 6:

  • Read through the list of major bugs and only use Plasma 6 in production if none of them is a deal-breaker for you. Maintain regular backups! This is mandatory.
  • When you encounter an issue in Plasma 6 that was not present in Plasma 5, check the list of issues to see if it's already been reported. If you don't find anything, submit a bug report and add the "qt6" keyword to it.
  • If you are technically able, try to fix issues you encounter yourself.

Options for testing Plasma 6 include the following:

If you're a distro packager reading this and your distro offers a Plasma 6 ISO/repo/etc, please add it to this list in alphabetical order!

Developer-facing changes

  • PlasmaComponents 2 has been removed. All usages should be changed to their PlasmaComponents 3 equivalents.
  • Widget API has changed, and all widgets need to be ported. See the Plasma 6 widget porting guide to learn how
  • Icons in Plasma styles are no longer honored; all icons now come from the systemwide icon theme. Plasma themes should migrate their icons to their companion icon themes, if they have one. For more information, read this.
  • Icons requested by name with the -symbolic suffix will now always return a symbolic icon if the icon theme has one. Icon themes with colorful and symbolic versions of icons should suffix the symbolic versions with -symbolic. For more information, read this.
  • The first page in Welcome Center can now be customized. See the README file at https://invent.kde.org/plasma/plasma-welcome for details on how to do this.
  • The location on disk where Welcome Center finds custom pages has changed to /usr/share/plasma/plasma-welcome/extra-pages/.

User-facing changes

New features

User interface changes

Changes to default settings

(i.e. all of these things can be changed back if you don't like them)

Removals

Work that's been decided on but not implemented yet

Postponed to Plasma 6.1, in progress

Postponed to Plasma 6.1, not started yet

Packaging notes

This section is aimed at packagers/distributors for information about correctly packaging a KF6/Plasma 6 session. Please see: