The transition from QT5 to QT6 will come with some growing pains if you are using old themes, styles, or plasmoids. The QML files will need to be updated. I had several things I had to update including my custom SDDM theme. It was a learning curve but I eventually was able to figure it out. That being said to get a better understanding of the general issue, please see:
https://www.reddit.com/r/archlinux/comm ... mes_error/
In order to update your own theme, you would have to copy the folder from /usr/share/sddm/themes to a directory in maybe your home to work on it. You would need to rename it to differentiate it from the QT5 version. You would need to change the name in the file metadata.desktop that is located in your theme directory. Then you would want to rename the directory of your theme to match. You can look at the system themes and their files in /usr/share/sddm/themes for guidance.
https://doc.qt.io/qt-6/qtquickcontrols-changes-qt6.html
https://doc.qt.io/qt-5/qtquickcontrols2 ... ences.html
I also found this link helpful, even though that is specifically for plasmoids, it was helpful in learning how to port/update my SDDM themes:
https://develop.kde.org/docs/plasma/widget/porting_kf6/
You can test themes. For example, to test the default breeze theme:
Code: Select all
sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/breeze
You will need to modify the QML file in your theme directory, usually named Main.qml.
For example, one of the system Main.QML files (Maldives theme) for QT 6 has this:
Code: Select all
import QtQuick 2.0
import SddmComponents 2.0
Yours, I will assume, probably says:
"import QtQuick 1.1"
That would have to be updated. You can compare files in the different OS theme directories in /usr/share/sddm/themes to get a sense of what they changed in the different version of the same theme, i.e. QT 5 vs QT 6. So I have a debian installation on my disk that is still using KDE 5. Looking at the old KDE 5 Breeze SDDM theme's Main.qml file:
Code: Select all
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15 as QQC2
import QtGraphicalEffects 1.15
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 3.0 as PlasmaComponents3
import org.kde.plasma.extras 2.0 as PlasmaExtras
import "components"
import "components/animation"
The new version for KDE 6:
Code: Select all
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15 as QQC2
import Qt5Compat.GraphicalEffects
import org.kde.plasma.components 3.0 as PlasmaComponents3
import org.kde.plasma.private.keyboardindicator as KeyboardIndicator
import org.kde.kirigami 2.20 as Kirigami
import org.kde.breeze.components
You would have to research the differences and learn why they are no longer using QtGraphicalEffects for example
and how to use the Qt5Compat.GraphicalEffects. In my case, my theme is rather simple and does not have any avatars. It only shows a prompt for user name and password boxes with an arrow for enter, a shutdown and reboot button, time and date, and lastly a session drop down box. It has the same wallpaper as my desktop. I did not have to change much of anything in the actual QML code and it worked as expected just by updating the import lines at the top of the Main.qml file.
If all of that is above your patience and/or skill level, or you just don't have the time to tinker with it and experiment, then you should look into just adopting SDDM themes that have been ported to work on KDE 6. You can then experiment and modify them to your liking.