Plasma/Plasma 6: Difference between revisions

From KDE Community Wiki
m (→‎How to use/test it: Update Gentoo testing link)
 
(164 intermediate revisions by 22 users not shown)
Line 1: Line 1:
Plasma 6 is built on top of Qt 6 and is tentatively planned to be released in late 2023 or early 2024. This page outlines important information and major changes coming in Plasma 6.
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.
 
== Release date and schedule ==
Release date is currently undefined, but hopefully between the end of 2023 and the beginning of 2024. See [[Schedules/Plasma_6]] for more information.


== Known issues ==
== Known issues ==
Line 9: Line 6:
* [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_severity=task&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&classification=Applications&classification=Plasma&classification=Frameworks%20and%20Libraries&j_top=OR&keywords=qt6&keywords_type=allwords&list_id=2406611&o3=equals&o4=equals&o5=equals&o6=equals&product=Active&product=Active%20Window%20Control&product=analitza&product=AudioCD-KIO&product=Baloo&product=baloo-widgets&product=Bluedevil&product=Breeze&product=colord-kde&product=daap%20ioslave&product=dcop&product=Discover&product=extra-cmake-modules&product=flatpak-platform-plugin&product=frameworks-attica&product=frameworks-baloo&product=frameworks-bluez-qt&product=frameworks-frameworkintegration&product=frameworks-kactivities&product=frameworks-kactivities-stats&product=frameworks-kapidox&product=frameworks-karchive&product=frameworks-kauth&product=frameworks-kbookmarks&product=frameworks-kcalendarcore&product=frameworks-kcmutils&product=frameworks-kcodecs&product=frameworks-kcompletion&product=frameworks-kconfig&product=frameworks-kconfigwidgets&product=frameworks-kcontacts&product=frameworks-kcoreaddons&product=frameworks-kcrash&product=frameworks-kdav&product=frameworks-kdbusaddons&product=frameworks-kdeclarative&product=frameworks-kded&product=frameworks-kdelibs4support&product=frameworks-kdesignerplugin&product=frameworks-kdesu&product=frameworks-kdewebkit&product=frameworks-kdnssd&product=frameworks-kdoctools&product=frameworks-kemoticons&product=frameworks-kfileaudiopreview&product=frameworks-kfilemetadata&product=frameworks-kglobalaccel&product=frameworks-kguiaddons&product=frameworks-kholidays&product=frameworks-khtml&product=frameworks-ki18n&product=frameworks-kiconthemes&product=frameworks-kidletime&product=frameworks-kimageformats&product=frameworks-kinit&product=frameworks-kio&product=frameworks-kirigami&product=frameworks-kitemmodels&product=frameworks-kitemviews&product=frameworks-kjobwidgets&product=frameworks-kjs&product=frameworks-kjsembed&product=frameworks-kmediaplayer&product=frameworks-knewstuff&product=frameworks-knotifications&product=frameworks-knotifyconfig&product=frameworks-kpackage&product=frameworks-kparts&product=frameworks-kpeople&product=frameworks-kplotting&product=frameworks-kpty&product=frameworks-kquickcharts&product=frameworks-kross&product=frameworks-krunner&product=frameworks-kservice&product=frameworks-ktexteditor&product=frameworks-ktexttemplate&product=frameworks-ktextwidgets&product=frameworks-kunitconversion&product=frameworks-kuserfeedback&product=frameworks-kwallet&product=frameworks-kwayland&product=frameworks-kwidgetsaddons&product=frameworks-kwindowsystem&product=frameworks-kxmlgui&product=frameworks-kxmlrpcclient&product=frameworks-modemmanager-qt&product=frameworks-networkmanager-qt&product=frameworks-plasma&product=frameworks-prison&product=frameworks-purpose&product=frameworks-qqc2-desktop-style&product=frameworks-solid&product=frameworks-sonnet&product=frameworks-syndication&product=frameworks-syntax-highlighting&product=frameworks-threadweaver&product=gpgme%2B%2B&product=grantlee&product=guidance-power-manager&product=homerun&product=KAccounts&product=kactivitymanagerd&product=kalarmcal&product=kbluetooth&product=kcalutils&product=KDb&product=kde-cli-tools&product=kde-gtk-config&product=kde-inotify-survey&product=kdeaddons&product=kded-appmenu&product=kdelibs&product=kdenetwork-filesharing&product=kdeplasma-addons&product=Keyboard%20status%20applet&product=kgamma&product=khotkeys&product=kicker&product=kidentitymanagement&product=kimap&product=kinfocenter&product=kio&product=kio-admin&product=kio-extras&product=kio-gdrive&product=kio-gopher&product=kio-s3&product=kio-stash&product=kiofuse&product=kiosk&product=kirigami-addons&product=kjsembed&product=kldap&product=klinkstatus&product=kmarkdownwebview&product=kmbox&product=kmime&product=kpackagekit&product=kpeople&product=KPipeWire&product=kpkpass&product=KProperty&product=KPublicTransport&product=kqtquickcharts&product=krunner&product=KScreen&product=kscreenlocker&product=ksecretsservice&product=ksmserver&product=ksmtp&product=ksplash&product=kstart&product=ktextaddons&product=kviewerpart&product=kwallet-pam&product=kwayland-integration&product=kwebkitpart&product=kwin&product=kwin4&product=kwintv&product=kwrited&product=lattedock&product=layer-shell-qt&product=libalkimia&product=libdebconf-kde&product=libechonest&product=libkcddb&product=libkdcraw&product=libkdeedu&product=libkdegames&product=libkeduvocdocument&product=libkexiv2&product=libkface&product=libkgapi&product=libkipi&product=libkleo&product=libksane&product=LibKubuntu&product=libkvkontakte&product=libmediawiki&product=libqapt&product=libqgit2&product=libqinfinity&product=Mangonel&product=markdownpart&product=massif-visualizer&product=OCS&product=Oxygen&product=Phonon&product=phonon-backend-gstreamer&product=phonon-backend-vlc&product=PicoWizard&product=Plasma%20Bigscreen&product=Plasma%20SDK&product=Plasma%20Vault&product=Plasma%20Workspace%20Wallpapers&product=plasma-browser-integration&product=plasma-disks&product=plasma-integration&product=plasma-mediacenter&product=plasma-mobile&product=plasma-mycroft&product=plasma-nm&product=plasma-pa&product=plasma-pass&product=plasma-pk-updates&product=plasma-redshift-control&product=plasma-simplemenu&product=plasma-systemmonitor&product=plasma-wayland-protocols&product=plasma4&product=plasmashell&product=policykit-kde-agent-1&product=Powerdevil&product=print-manager&product=printer-applet&product=pulseaudio-qt&product=qaccessibilityclient&product=qca&product=QmlWeb&product=QtCurve&product=Reminder%20Daemon&product=SeExpr&product=smaragd&product=Snoretoast&product=solid&product=system-config-printer-kde&product=Systemd%20KCM&product=systemdgenie&product=systemsettings&product=systemsettings-kde3&product=taglib&product=telepathy&product=Touchpad-KCM&product=upnp-lib-qt&product=user-manager&product=wacomtablet&product=Welcome%20Center&product=xdg-desktop-portal-kde&query_format=advanced&v3=systemsettings&v4=Discover&v5=plasma-systemmonitor&v6=kinfocenter Frameworks 6 issues + Plasma 6 issues]
* [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_severity=task&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&classification=Applications&classification=Plasma&classification=Frameworks%20and%20Libraries&j_top=OR&keywords=qt6&keywords_type=allwords&list_id=2406611&o3=equals&o4=equals&o5=equals&o6=equals&product=Active&product=Active%20Window%20Control&product=analitza&product=AudioCD-KIO&product=Baloo&product=baloo-widgets&product=Bluedevil&product=Breeze&product=colord-kde&product=daap%20ioslave&product=dcop&product=Discover&product=extra-cmake-modules&product=flatpak-platform-plugin&product=frameworks-attica&product=frameworks-baloo&product=frameworks-bluez-qt&product=frameworks-frameworkintegration&product=frameworks-kactivities&product=frameworks-kactivities-stats&product=frameworks-kapidox&product=frameworks-karchive&product=frameworks-kauth&product=frameworks-kbookmarks&product=frameworks-kcalendarcore&product=frameworks-kcmutils&product=frameworks-kcodecs&product=frameworks-kcompletion&product=frameworks-kconfig&product=frameworks-kconfigwidgets&product=frameworks-kcontacts&product=frameworks-kcoreaddons&product=frameworks-kcrash&product=frameworks-kdav&product=frameworks-kdbusaddons&product=frameworks-kdeclarative&product=frameworks-kded&product=frameworks-kdelibs4support&product=frameworks-kdesignerplugin&product=frameworks-kdesu&product=frameworks-kdewebkit&product=frameworks-kdnssd&product=frameworks-kdoctools&product=frameworks-kemoticons&product=frameworks-kfileaudiopreview&product=frameworks-kfilemetadata&product=frameworks-kglobalaccel&product=frameworks-kguiaddons&product=frameworks-kholidays&product=frameworks-khtml&product=frameworks-ki18n&product=frameworks-kiconthemes&product=frameworks-kidletime&product=frameworks-kimageformats&product=frameworks-kinit&product=frameworks-kio&product=frameworks-kirigami&product=frameworks-kitemmodels&product=frameworks-kitemviews&product=frameworks-kjobwidgets&product=frameworks-kjs&product=frameworks-kjsembed&product=frameworks-kmediaplayer&product=frameworks-knewstuff&product=frameworks-knotifications&product=frameworks-knotifyconfig&product=frameworks-kpackage&product=frameworks-kparts&product=frameworks-kpeople&product=frameworks-kplotting&product=frameworks-kpty&product=frameworks-kquickcharts&product=frameworks-kross&product=frameworks-krunner&product=frameworks-kservice&product=frameworks-ktexteditor&product=frameworks-ktexttemplate&product=frameworks-ktextwidgets&product=frameworks-kunitconversion&product=frameworks-kuserfeedback&product=frameworks-kwallet&product=frameworks-kwayland&product=frameworks-kwidgetsaddons&product=frameworks-kwindowsystem&product=frameworks-kxmlgui&product=frameworks-kxmlrpcclient&product=frameworks-modemmanager-qt&product=frameworks-networkmanager-qt&product=frameworks-plasma&product=frameworks-prison&product=frameworks-purpose&product=frameworks-qqc2-desktop-style&product=frameworks-solid&product=frameworks-sonnet&product=frameworks-syndication&product=frameworks-syntax-highlighting&product=frameworks-threadweaver&product=gpgme%2B%2B&product=grantlee&product=guidance-power-manager&product=homerun&product=KAccounts&product=kactivitymanagerd&product=kalarmcal&product=kbluetooth&product=kcalutils&product=KDb&product=kde-cli-tools&product=kde-gtk-config&product=kde-inotify-survey&product=kdeaddons&product=kded-appmenu&product=kdelibs&product=kdenetwork-filesharing&product=kdeplasma-addons&product=Keyboard%20status%20applet&product=kgamma&product=khotkeys&product=kicker&product=kidentitymanagement&product=kimap&product=kinfocenter&product=kio&product=kio-admin&product=kio-extras&product=kio-gdrive&product=kio-gopher&product=kio-s3&product=kio-stash&product=kiofuse&product=kiosk&product=kirigami-addons&product=kjsembed&product=kldap&product=klinkstatus&product=kmarkdownwebview&product=kmbox&product=kmime&product=kpackagekit&product=kpeople&product=KPipeWire&product=kpkpass&product=KProperty&product=KPublicTransport&product=kqtquickcharts&product=krunner&product=KScreen&product=kscreenlocker&product=ksecretsservice&product=ksmserver&product=ksmtp&product=ksplash&product=kstart&product=ktextaddons&product=kviewerpart&product=kwallet-pam&product=kwayland-integration&product=kwebkitpart&product=kwin&product=kwin4&product=kwintv&product=kwrited&product=lattedock&product=layer-shell-qt&product=libalkimia&product=libdebconf-kde&product=libechonest&product=libkcddb&product=libkdcraw&product=libkdeedu&product=libkdegames&product=libkeduvocdocument&product=libkexiv2&product=libkface&product=libkgapi&product=libkipi&product=libkleo&product=libksane&product=LibKubuntu&product=libkvkontakte&product=libmediawiki&product=libqapt&product=libqgit2&product=libqinfinity&product=Mangonel&product=markdownpart&product=massif-visualizer&product=OCS&product=Oxygen&product=Phonon&product=phonon-backend-gstreamer&product=phonon-backend-vlc&product=PicoWizard&product=Plasma%20Bigscreen&product=Plasma%20SDK&product=Plasma%20Vault&product=Plasma%20Workspace%20Wallpapers&product=plasma-browser-integration&product=plasma-disks&product=plasma-integration&product=plasma-mediacenter&product=plasma-mobile&product=plasma-mycroft&product=plasma-nm&product=plasma-pa&product=plasma-pass&product=plasma-pk-updates&product=plasma-redshift-control&product=plasma-simplemenu&product=plasma-systemmonitor&product=plasma-wayland-protocols&product=plasma4&product=plasmashell&product=policykit-kde-agent-1&product=Powerdevil&product=print-manager&product=printer-applet&product=pulseaudio-qt&product=qaccessibilityclient&product=qca&product=QmlWeb&product=QtCurve&product=Reminder%20Daemon&product=SeExpr&product=smaragd&product=Snoretoast&product=solid&product=system-config-printer-kde&product=Systemd%20KCM&product=systemdgenie&product=systemsettings&product=systemsettings-kde3&product=taglib&product=telepathy&product=Touchpad-KCM&product=upnp-lib-qt&product=user-manager&product=wacomtablet&product=Welcome%20Center&product=xdg-desktop-portal-kde&query_format=advanced&v3=systemsettings&v4=Discover&v5=plasma-systemmonitor&v6=kinfocenter Frameworks 6 issues + Plasma 6 issues]
* [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_severity=task&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&f1=keywords&f2=reporter&list_id=2394509&o1=allwordssubstr&query_format=advanced&v1=qt6 All Qt6-related issues across all KDE software]
* [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_severity=task&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&f1=keywords&f2=reporter&list_id=2394509&o1=allwordssubstr&query_format=advanced&v1=qt6 All Qt6-related issues across all KDE software]
* In a built-from-source dev session on top of a distro-provided 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, 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 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 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 5 session, all actions using KAuth are not working without manual user intervention. Examples of such actions include changing the screen brightness and saving root-owned files in Kate and KWrite. See https://invent.kde.org/frameworks/kauth/-/merge_requests/45#note_754877.
 
Known upstream issues, no fix yet:
* "Pick Screen Color" button missing in color picker dialog on Wayland
** https://bugs.kde.org/show_bug.cgi?id=479406
** https://bugreports.qt.io/browse/QTBUG-120957


Upstream:
* Emoji Selector lags when changing categories
* System Settings crashes nearly constantly when switching pages
** https://bugs.kde.org/show_bug.cgi?id=478379
** https://bugreports.qt.io/browse/QTBUG-112306
** https://bugreports.qt.io/browse/QTBUG-120007
** Fixed in Qt 6.5.3


* System Settings crashes when quitting
* All WebViews look crusty and bad on fractional scales
** https://bugs.kde.org/show_bug.cgi?id=470598
** https://bugreports.qt.io/browse/QTBUG-113574
** Fixed in Qt 6.5.3


* Plasma and apps crash when dragging anything into another app
Fixed upstream, but without a release yet:
** https://bugs.kde.org/show_bug.cgi?id=470925
* Several things crash in QWaylandWindow::createDecoration
** Fixed in Qt 6.6
** https://bugs.kde.org/show_bug.cgi?id=479302 (Fixed in Qt 6.6.3)


* Opening URLs/Links in many apps doesn't work at all
* Deleting network connections doesn't work
** https://bugs.kde.org/show_bug.cgi?id=472300
** https://bugs.kde.org/show_bug.cgi?id=473012 (Fixed in Qt 6.7)
** [https://gitlab.freedesktop.org/xdg/xdg-utils/-/merge_requests/67 Fixed in xdg-utils], but there's no new release yet


* On Wayland, with scaling, QML windows have content drawn at the wrong scale until manually resized
* For built-from-source dev sessions, SDDM displays empty/incorrect session titles
** https://codereview.qt-project.org/c/qt/qtdeclarative/+/447075
** [https://github.com/sddm/sddm/commit/5b702ae986464fe6dbc8557d4b2da725ac1ed175 Fixed in SDDM after 0.20.0 was released], but there's no new release yet
** Fixed in Qt 6.5.3


== How to use/test it ==
== 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:'''
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 [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&classification=Applications&classification=Plasma&classification=Frameworks%20 list of major bugs] and only use Plasma 6 in production of none of them is a deal-breaker for you. Maintain regular backups! This is mandatory.
* Read through the [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&classification=Applications&classification=Plasma&keywords=qt6%2C%20&keywords_type=allwords&list_id=2462812&query_format=advanced 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 [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_severity=task&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&f1=keywords&f2=reporter&list_id=2394509&o1=allwordssubstr&query_format=advanced&v1=qt6 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.
* When you encounter an issue in Plasma 6 that was not present in Plasma 5, check the [https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_severity=task&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&f1=keywords&f2=reporter&list_id=2394509&o1=allwordssubstr&query_format=advanced&v1=qt6 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.
* If you are technically able, try to fix issues you encounter yourself.


Options for testing Plasma 6 include the following:
Options for testing Plasma 6 include the following:
* [https://community.kde.org/Get_Involved/development/More#kdesrc-build,_Qt6_and_KDE_Frameworks_6 '''Build from source''']
 
* [https://copr.fedorainfracloud.org/coprs/g/kdesig/kde-nightly-qt6/ '''Fedora KDE'''] - Discussion in #kde:fedoraproject.org on Matrix
* [https://archlinux.org/packages/extra-testing/any/plasma-meta/ '''Arch Linux'''] As of 2-28-24 You must enable the extra-testing repo in your pacman.conf
* [https://community.kde.org/Get_Involved/development/Build_software_with_kdesrc-build#Plasma '''Build from source''']
* [https://tim.siosm.fr/blog/2023/11/22/kinoite-plasma-6/ '''Fedora'''] E.g. from https://openqa.fedoraproject.org/nightlies.html download and use "KDE live" and "Kinoite dvd-ostree".
* [https://github.com/gentoo/gentoo/blob/2f44b30451820673a836d46a9ddeb699989d0449/profiles/package.mask#L229 '''Gentoo Portage package.masked''']
* [https://forum.kaosx.us/d/3072-plasma-6-test-iso '''KaOS ISO''']
* [https://forum.kaosx.us/d/3072-plasma-6-test-iso '''KaOS ISO''']
* [https://forum.kaosx.us/d/3062-instructions-how-to-convert-a-plasma-5-install-to-plasma-6 '''KaOS Install''']
* [https://forum.kaosx.us/d/3062-instructions-how-to-convert-a-plasma-5-install-to-plasma-6 '''KaOS Install''']
* [https://blog.neon.kde.org/2023/05/22/neon-unstable-now-qt6-builds-of-frameworks-and-plasma/ '''KDE Neon Unstable ISO''']
* [https://neon.kde.org/download '''KDE Neon Unstable ISO''']
* [https://github.com/nix-community/kde2nix '''Nix Flake''']
* [https://download.opensuse.org/repositories/KDE:/Medias/images/iso/?P=*Krypton.*.iso '''openSUSE Krypton'''] At the last step (installation summary), select "Software" and tick "Plasma 6 Desktop Base".


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!
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!
Line 50: Line 54:
== Developer-facing changes ==
== Developer-facing changes ==
* PlasmaComponents 2 has been removed. All usages should be changed to their PlasmaComponents 3 equivalents.
* 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 [https://develop.kde.org/docs/plasma/widget/porting_kf6/ Plasma 6 widget porting guide] to learn how.
* Widget API has changed, and all widgets need to be ported. See the [https://develop.kde.org/docs/plasma/widget/porting_kf6/ Plasma 6 widget porting guide] to learn how
* On Wayland, Plasma panels, sidebars, KRunner, and Yakuake are now positioned using the layer-shell protocol.
* 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, [https://pointieststick.com/2023/08/12/how-all-this-icon-stuff-is-going-to-work-in-plasma-6 read this].
* Icons requested by name with the <code>-symbolic</code> 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 <code>-symbolic</code>. For more information, [https://pointieststick.com/2023/08/12/how-all-this-icon-stuff-is-going-to-work-in-plasma-6 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 <code>/usr/share/plasma/plasma-welcome/extra-pages/</code>.


== User-facing changes ==
== User-facing changes ==
=== New features ===
=== New features ===
* [https://invent.kde.org/plasma/kwin/-/merge_requests/4044 Basic opt-in HDR support]
* [https://invent.kde.org/plasma/kwin/-/merge_requests/4336 Overview and Desktop Grid effect combined into one with better gestures]
* [https://invent.kde.org/plasma/kwin/-/merge_requests/4471 Color management support for sRGB applications on Wayland]
* [https://invent.kde.org/plasma/kwin/-/merge_requests/4044 HDR support on Wayland]
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1207 More types of default apps can be chosen]
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1207 More types of default apps can be chosen]
* [https://bugs.kde.org/show_bug.cgi?id=340283 Custom sort ordering for KRunner search results]
* [https://bugs.kde.org/show_bug.cgi?id=438883 Desktop Cube effect returns]
* [https://phabricator.kde.org/T12622 Make wallpaper settings available in System Settings app]
* [https://bugs.kde.org/show_bug.cgi?id=349785 "Dodge Windows" (aka "Intelligent auto-hide"/"Intellihide") visibility mode for Panels, replacing the old "Windows Can Cover" mode]
* [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3360 When rebooting, ability to opt out of installing a downloaded offline update]
* [https://bugs.kde.org/show_bug.cgi?id=432927 "Shake to find cursor" KWin effect] (off by default for now, but that may change)
* [https://bugs.kde.org/show_bug.cgi?id=474470 Colorblindness correction filters]
* [https://invent.kde.org/plasma/plasma-workspace/-/issues/47 Support for sound themes]
* [https://invent.kde.org/plasma/plasma-workspace/-/issues/40 New "Ocean" default sound theme]
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/264 Conversion between time zones in KRunner]
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/317 Islamic calendar support]
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/317 Islamic calendar support]
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/264 Conversion between time zones in KRunner]
* [https://invent.kde.org/plasma/powerdevil/-/merge_requests/186 Power profiles OSD]
* [https://invent.kde.org/plasma/powerdevil/-/merge_requests/186 Power profiles OSD]
* [https://invent.kde.org/plasma/plasma-workspace/-/issues/47 Support for sound themes]
* [https://bugs.kde.org/show_bug.cgi?id=447792 Display mirroring/reflection on Wayland]
* [https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/163 Simultaneous password + fingerprint/smartcard/etc. auth on lock screen]
* [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3066 The Autostart KCM can now provide detailed technical information about why entries failed to start]
* [https://invent.kde.org/plasma/drkonqi/-/merge_requests/137 Optional automatic background crash reporting]


=== User interface changes ===
=== User interface changes ===
* [https://invent.kde.org/plasma/breeze/-/merge_requests/342 Make QtWidgets-based apps less framey]
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1723 Panel settings exposed in a much nicer way]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/82 Icons throughout Plasma now all come from the systemwide icon theme, not the Plasma Style]
* [https://invent.kde.org/plasma/plasma-workspace/-/issues/76 No more chunky page footers in System Settings]
* [https://invent.kde.org/plasma/plasma-workspace/-/issues/76 No more chunky page footers in System Settings]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/82 Icons throughout Plasma now all come from the systemwide icon theme, not the Plasma Style]
* [https://invent.kde.org/plasma/systemsettings/-/merge_requests/259 Re-organize System Settings sidebar]
* [https://invent.kde.org/frameworks/kirigami/-/merge_requests/1318 Smooth mouse wheel scrolling in QtQuick-based software]
* [https://invent.kde.org/plasma/plasma-workspace/-/issues/93 Split Battery & Brightness widgets and integrate Night color into one of them]
* [https://bugs.kde.org/show_bug.cgi?id=414809 Visualizer for Night Light transition time]


=== Changes to default settings ===
=== Changes to default settings ===
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/53 "Thumbnail Grid" is the new default Task Switcher style. Plasma 5's default "Breeze" Task Switcher has been renamed to "Sidebar."]
(i.e. all of these things can be changed back if you don't like them)
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/92 Use "Clicking in scrollbar track: Scrolls to the clicked location" setting by default]
* [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2188 The Wayland session is now the default in SDDM]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/72 Files and folders are now selected with a single-click and opened with a double-click]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/97 Enable touchpad tap-to-click by default on Wayland]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/53 "Thumbnail Grid" is the new Task Switcher style. Plasma 5's former default "Breeze" Task Switcher has been renamed to "Sidebar"]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/92 Clicking on the scrollbar track now scrolls to the clicked location]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/55 Scrolling on the desktop no longer switches virtual desktops]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/55 Scrolling on the desktop no longer switches virtual desktops]
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1703 The keyboard shortcut used to open the Activity Switcher has been changed to Meta+A]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/73 Use Floating panel by default]
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1744 App launchers in the Traditional Task Manager no longer disappear when launched]
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1786 In the non-icons-Only Task Manager, app launcher icons no longer disappear the first time their app is launched]


=== Removals ===
=== Removals ===
* [https://phabricator.kde.org/T2050 KHotKeys (which provides the "Custom Shortcuts" page in System Settings)] - it was unmaintained for over 7 years and its core functionality overlapped the newer, maintained, and better supported KGlobalAccel system
* [https://phabricator.kde.org/T2050 KHotKeys (which provides the "Custom Shortcuts" page in System Settings)] - it was unmaintained for over 7 years and its core functionality overlapped the newer, maintained, and better supported KGlobalAccel system. The [https://github.com/jersou/mouse-actions Mouse actions] app may be usable as a replacement for KHotkeys' mouse gestures feature
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/67 The "Windowed widgets KRunner runner] - it was confusing users into thinking that widgets (which are intentionally very small and limited) were apps
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/67 The "Windowed widgets KRunner runner] - it was confusing users into thinking that widgets (which are intentionally very small and limited) were apps
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/63 The "Grid", "Informative", "Small Icons", "Text Only", and "Thumbnails" Task Switchers] - they were worse than other existing ones
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/63 The "Grid", "Informative", "Small Icons", "Text Only", and "Thumbnails" Task Switchers] - they were worse than other existing ones
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/62 The "Force Font DPI" setting on Wayland] - the per-screen scaling system is now considered the only supported method of doing systemwide scaling
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/62 The "Force Font DPI" setting on Wayland] - the per-screen scaling system is now considered the only supported method of doing systemwide scaling
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/58 The ability to configure (some) icon sizes semi-systemwide] - It didn't work in more places than it did work, and people were trying unsuccessfully to use it instead of more suitable methods of scaling the system
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/60 Per-Activity power settings] - they were largely broken, increased code complexity of a fragile part of the system, and were and mostly possible to approximate using other settings
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/60 Per-Activity power settings] - they were largely broken, increased code complexity of a fragile part of the system, and were and mostly possible to approximate using other settings
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/57 The Air theme ] - it was unmaintained and somewhat broken
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/57 The Air theme ] - it was unmaintained and somewhat broken
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/422 Unsplash Picture of the Day provider] - it stopped working after Unsplash revoked public API access due to abuse by AI data model training scrapers
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/422 Unsplash Picture of the Day provider] - it stopped working after Unsplash revoked public API access due to abuse by AI data model training scrapers
* [https://bugs.kde.org/show_bug.cgi?id=472894 "Windows go above" and "Windows go below" Panel visibility modes] - lost for technical reasons, not as a result of an intentional design decision; may return if we can find a way to support these features on Wayland with the layer-shell protocol
* "Save settings for only this specific display arrangement" feature in KScreen - it was too buggy and nearly impossible to fix
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/65 System Settings Icon view] - having multiple navigation views for a settings app was just weird
* [https://bugs.kde.org/show_bug.cgi?id=164283 Windows Shares KCM] - It was hyper-specialized and did not work properly in a variety of cases
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1509 GUI support for the Synaptics touchpad drivers] - driver unmaintained for years and has has not been recommended for a long time
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1752 GUI support for the Evdev mouse driver] - removed to de-complicate backend logic since Libinput is required anyway and includes a better mouse driver
* [https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/487 Quick Share widget] - it was completely broken in Qt6, and even in the past when it was working better, it still never worked very well and suffered from multiple unfixable bugs
* [https://invent.kde.org/plasma/kwin/-/merge_requests/5102 "Active screen follows mouse" setting] - it caused confusion for users of multi-screen effects when the active window and cursor were on different screens; now the screen considered active is always the one with the active window on it
* [https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2055 Touchpad widget] - it did very little and was quite broken, and we were unable to make it work better in time for 6.0. It may return later, though


== Work that's been decided on but not implemented yet ==
== Work that's been decided on but not implemented yet ==
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/72 Make double-click the default setting]
=== Postponed to Plasma 6.1, in progress ===
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/78 Make window titlebars (slightly) accent colored by default]
* [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3523 Fake session restore on Wayland (just re-opening apps that were open last time)]
 
=== Postponed to Plasma 6.1, not started yet ===
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/91 Bring SDDM into KDE]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/91 Bring SDDM into KDE]
* [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2188 Make the Wayland session the default one]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/78 Make window titlebars (slightly) accent colored by default]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/73 Use Floating panel by default]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/68 Consolidate desktop folder layouts]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/68 Consolidate desktop folder layouts]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/52 Change the release schedule to two per year]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/58 Remove the ability to configure (some) icon sizes systemwide]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/83 Remove the "Disable (Some Plasma) Tooltips" setting]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/83 Remove the "Disable (Some Plasma) Tooltips" setting]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/65 Remove System Settings Icon view]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/64 Remove some redundant and confusing Notification settings]
* [https://invent.kde.org/plasma/plasma-desktop/-/issues/64 Remove some redundant and confusing Notification settings]
 
* [https://phabricator.kde.org/T12622 Consolidate Wallpaper kcm with login screen and locking screen]


== Packaging notes ==
== Packaging notes ==
 
This section is aimed at packagers/distributors for information about correctly packaging a KF6/Plasma 6 session. Please see:
This section is aimed at packagers/distributors for information about correctly packaging a KF6/Plasma 6 session
* [[Frameworks/6.0_Release_notes|Frameworks 6 packaging notes]]
 
* [[Plasma/Plasma_6.0_Release_notes|Plasma 6 packaging notes]]
=== Sources ===
* [[KDE_Gear/24.02_Release_notes|Gear 24.02 packaging notes]]
 
Most of the required sources are not released. For Frameworks and Plasma the development work happens in master branch. Some applications use master for their KF6 development work and support building against Qt5 or Qt6, others have a dedicated kf6 branch. See [https://invent.kde.org/sysadmin/repo-metadata/-/blob/master/dependencies/logical-module-structure here] for machine-readable information for the right branch.
 
The following frameworks will not be part of KF6:
* kdelibs4support
* kdesignerplugin
* kdewebkit
* kemoticons
* khtml
* kinit
* kjs
* kjsembed
* kmediaplayer
* kross
* kxmlrpcclient
 
The following non-frameworks modules are obsolete:
* kross-interpreters
* kwebkitpart
* khotkeys
 
The following new frameworks will be part of KF6:
* kcolorscheme
* ktexttemplate
* ksvg
 
The following new non-frameworks modules are relevant:
* kglobalacceld
* plasma5support
* kmoretools
 
=== Coinstallability ===
For frameworks and other relevant libraries we aim for being able to install both a 5 and a 6 version without conflicts. However there are cases where this cannot be provided out of the box, e.g. because a framework contains runtime parts that must only exist once. Some projects have build flags to disable such problematic parts that should be applied to the KF5 build:
* kguiaddons: -DBUILD_GEO_SCHEME_HANDLER=OFF
* baloo: -DBUILD_INDEXER_SERVICE=OFF
* kglobalaccel: -DBUILD_RUNTIME=OFF
 
The icon frameworks only include assets. Only the KF6 one should be installed. These are:
* breeze-icons
* oxygen-icons
 
=== Qt5 compatibility ===
 
For compatibility with Qt5-based apps (first- and third-party) we need Qt5-based variants of several modules in addition to Qt6-based ones. These modules include:
* Breeze/Oxygen, for correct application style. This also applies to third-party QStyles
* plasma-integration, for correct Qt integration
* kwayland-integration, for several Wayland things to work
* kio-extras, for various kio-related things
* various kio-* things
* various non-Frameworks libraries as needed
 
Breeze, plasma-integration, and kwayland-integration support building for Qt5 and Qt6 in the same build.
 
=== Pending Upstream Changes ===
Several upstream changes that were necessary are not merged and/or released:
* appstream 1.0 is needed for Qt6 support. This means current main branch for now since 1.0 is not released
* xdg-utils needed [https://gitlab.freedesktop.org/xdg/xdg-utils/-/merge%20requests/67 a change] to support KDE_SESSION_VERSION=6. A [https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/223 new release] is needed
* libaccounts-qt and signond need changes for Qt6 support. MRs are pending. Meanwhile a fork of [https://gitlab.com/nicolasfella/libaccounts-qt/-/tree/qt6 libaccounts-qt] and [https://gitlab.com/nicolasfella/signond/-/tree/qt6 signond] can be used
* kdsoap Qt5/Qt6 is [https://github.com/KDAB/KDSoap/issues/262 not fully coinstallable]

Latest revision as of 10:49, 16 March 2024

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 5 session, all actions using KAuth are not working without manual user intervention. Examples of such actions include changing the screen brightness and saving root-owned files in Kate and KWrite. See https://invent.kde.org/frameworks/kauth/-/merge_requests/45#note_754877.

Known upstream issues, no fix yet:

Fixed upstream, but without a release yet:

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: