[Guide] How to install and test KDE Plasma 5.24 on Kinoite

Hi, I would like to introduce you a process I did, following Timothée Ravier’s tutorial and adapting it to the new KDE Plasma 5.24 packages on Fedora Kinoite. Rather than using the beta packages, I used a COPR from Zawertun, which already updated all packages to 5.24.
If you want to see the original guide, see here: How to try KDE Plasma 5.24 Beta on Fedora Kinoite - Siosm’s blog

So, first we need to enable COPR inside a toolbox and on your host:
https://copr.fedorainfracloud.org/coprs/zawertun/kde/

Inside your toolbox just type dnf copr enable zawertun/kde/ do a sudo dnf update

On your host: sudo touch /etc/yum.repos.d/zawertun-kde-fedora-35.repo
sudo nano /etc/yum.repos.d/zawertun-kde-fedora-35.repo

And paste the content below:

[copr:copr.fedorainfracloud.org:zawertun:kde]
name=Copr repo for kde owned by zawertun
baseurl=https://download.copr.fedorainfracloud.org/results/zawertun/kde/fedora-$releasever-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/zawertun/kde/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1

Now we need to create a list of packages, to do so, inside the toolbox:

[toolbox]$ dnf repository-packages copr:copr.fedorainfracloud.org:zawertun:kde list | grep copr:copr.fedorainfracloud.org:zawertun:kde | grep -vE "(debug|devel|\.src)" | cut -f1 -d\ | sed 's/\.x86_64//' | sed 's/\.noarch//' > kde.list
[toolbox]$ rpm -qa | sed "s/.noarch//" | sed "s/.x86_64//" | sed "s/\.fc35//" | sed "s/\-[^-]*$//" | sed "s/\-[^-]*$//" > installed.list
[toolbox]$ comm -12 <(cat installed.list | sort) <(cat kde.list | sort) > packages.list

Now wee need to download the packages to our machines

[toolbox]$ echo "bluedevil breeze-cursor-theme breeze-gtk-common breeze-gtk-gtk3 breeze-gtk-gtk4 breeze-icon-theme kactivitymanagerd kde-cli-tools kdecoration kde-gtk-config kdeplasma-addons kdesu kf5-attica kf5-baloo kf5-baloo-file kf5-baloo-libs kf5-bluez-qt kf5-filesystem kf5-frameworkintegration kf5-frameworkintegration-libs kf5-kactivities kf5-kactivities-stats kf5-karchive kf5-kauth kf5-kbookmarks kf5-kcmutils kf5-kcodecs kf5-kcompletion kf5-kconfig-core kf5-kconfig-gui kf5-kconfigwidgets kf5-kcoreaddons kf5-kcrash kf5-kdbusaddons kf5-kdeclarative kf5-kded kf5-kdelibs4support kf5-kdelibs4support-libs kf5-kdesu kf5-kdnssd kf5-kdoctools kf5-kfilemetadata kf5-kglobalaccel kf5-kglobalaccel-libs kf5-kguiaddons kf5-kholidays kf5-khtml kf5-ki18n kf5-kiconthemes kf5-kidletime kf5-kimageformats kf5-kinit kf5-kio-core kf5-kio-core-libs kf5-kio-doc kf5-kio-file-widgets kf5-kio-gui kf5-kio-ntlm kf5-kio-widgets kf5-kio-widgets-libs kf5-kirigami2 kf5-kitemmodels kf5-kitemviews kf5-kjobwidgets kf5-kjs kf5-knewstuff kf5-knotifications kf5-knotifyconfig kf5-kpackage kf5-kparts kf5-kpeople kf5-kpty kf5-kquickcharts kf5-krunner kf5-kservice kf5-ktexteditor kf5-ktextwidgets kf5-kunitconversion kf5-kwallet kf5-kwallet-libs kf5-kwayland kf5-kwidgetsaddons kf5-kwindowsystem kf5-kxmlgui kf5-kxmlrpcclient kf5-modemmanager-qt kf5-networkmanager-qt kf5-plasma kf5-prison kf5-purpose kf5-solid kf5-sonnet-core kf5-sonnet-ui kf5-syntax-highlighting kf5-threadweaver khotkeys kinfocenter kmenuedit kscreen kscreenlocker ksystemstats kwayland-integration kwayland-server kwin kwin-common kwin-libs kwin-wayland kwin-x11 kwrited layer-shell-qt libkscreen-qt5 libksysguard libksysguard-common libkworkspace5 oxygen-sound-theme pam-kwallet plasma-breeze plasma-breeze-common plasma-browser-integration plasma-desktop plasma-desktop-doc plasma-discover plasma-discover-flatpak plasma-discover-libs plasma-discover-notifier plasma-disks plasma-drkonqi plasma-integration plasma-lookandfeel-fedora plasma-milou plasma-nm plasma-nm-openconnect plasma-nm-openvpn plasma-nm-vpnc plasma-pa plasma-systemmonitor plasma-systemsettings plasma-thunderbolt plasma-vault plasma-workspace plasma-workspace-common plasma-workspace-geolocation plasma-workspace-geolocation-libs plasma-workspace-libs plasma-workspace-wayland plasma-workspace-x11 polkit-kde powerdevil qqc2-desktop-style sddm-breeze sddm-kcm xdg-desktop-portal-kde" > packages.list

[toolbox]$ mkdir -p rpm && cd rpm

[toolbox]$ dnf download --arch=x86_64,noarch $(cat ../packages.list)

Pin your current deployment, override and replace the packages:

[host]$ sudo ostree admin pin 0
[host]$ cd rpm
[host]$ sudo rpm-ostree override replace ./*.rpm

Reboot
As per the original tutorial, if you want to revert the changes, you always can rollback to yout pinned deployment:
[host]$ sudo rpm-ostree rollback
or reset the packages:
[host]$ sudo rpm-ostree override reset --all

Only thing I notice is the bottom panel doesn’t change colors, but folders do.
This method only install and overrides packages that Kinoite already uses, so no warning about conflicts or anything. With the release of Fedora 36, we’ll need to generate a new list of packages installed and replace with the ones provided by the COPR (only if you want to stay up-to-date with KDE versions, although Fedora keeps close with upstream).
If you spot my lack of English skills, please report and I’ll fix it.
Thank you.




1 Like

If you want to replace konsole, okular, gwenview etc. you need to generate another package.list with the following rpm’s:

dolphin-libs gwenview-libs konsole5-part okular-part okular-libs dolphin konsole okular gwenview

Just do the same process

1 Like