Setting up Arch for and Building/Running Plasma 6

This is no longer the way you should do this, you should follow the instructions in the “get involved” documentation and especially shouldnt use kde-unstable right now as of December 22 2023 due to the qt6.7 beta packages causing some real breakages. If you have to knowledge to test issues regarding plasma 6 and qt6.7 beta then do so but you probably dont need these instructions if you do.

please follow instructions here if you wish to build and use Plasma 6 yourself on Arch linux or any other Distro it has instructions for Get Involved/development - KDE Community Wiki

I repeat, DONT follow this set of instructions anymore

You will need around 30GB of free space to use for this

Here is a quick rundown of how i setup Arch to build Plasma 6 and related KDE software. This will be relying on kde-unstable and arch-testing repos to ensure latest for everything, you should be aware of what that entails and be prepared for dragons.

You will need to know how to deal with build problems if you wish to do this, Im running with it installed to /usr (requires sudo) but default is not this. If you wish to do it the way i am youll need to figure that one out yourself as thats not the default nor recommended.

  1. Lets enable kde-unstable and arch testing, before proceeding PLEASE understand this isnt for someone who cant deal with at least a decent amount of issues on their own. You need to edit /etc/pacman.conf with sudoedit. Near the bottom you should see entries like
#Include = /etc/pacman.d/mirrorlist

you need to remove the # from the beginning of each testing repo.

Include = /etc/pacman.d/mirrorlist

After you need to add this to the beginning of the list just above [core-testing]

Include = /etc/pacman.d/mirrorlist
  1. Once thats done here is the list of packages I installed for this, there may be duplicates/a few extras in the list as i just copied from my bash history and didnt check it too close

pacman -Syu python-pip python-pipx libraw dcraw power-profiles-daemon xdg-desktop-portal-gtk xsettingsd noto-fonts-emoji noto-fonts iio-sensor-proxy git cmake dialog poppler-qt6 qca-qt6 qt6-5compat qt6-base qt6-charts qt6-declarative qt6-multimedia qt6-multimedia-ffmpeg qt6-positioning qt6-tools qt6-translations qt6-wayland qt6-webchannel qt6-webengine qt6-websockets qt6-webview qtkeychain-qt6 qcoro-qt6 qt6-svg qt6-shadertools qt6-sensors colord libical python-psutil psutils python-sentry_sdk python-distro gdb libqalculate unzip libxrandr python-build python-installer qt5 qt6 appstream appstream-qt

  1. Follow the setting up dev environment Instructions to make sure you have everything and you setup kdesrc-build properly

  1. You can follow Directions as to how to build software here

and more details here

in order to build Plasma6/KF6 beta stuff you need to make sure to modify the kdesrc-buildrc. Change all the 5 to 6 and under the global options add

branch-group kf6-qt6


and according to the guide at the bottom add

options plasma-integration
    cmake-options -DBUILD_WITH_QT6=ON -DBUILD_QT5=OFF
end options

options breeze
    cmake-options -DBUILD_WITH_QT6=ON -DBUILD_QT5=OFF
end options
  1. Finally here is my kdesrc-build command i use based on the arch meta packages/plasma package group

kdesrc-build plasma-workspace plasma-framework plasma-integration bluedevil powerdevil plasma-nm plasma-pa plasma-thunderbolt plasma-vault plasma-firewall plasma-workspace-wallpapers kdeplasma-addons krunner milou kwin kscreen sddm-kcm plymouth-kcm breeze print-manager plasma-sdk kdeconnect-kde plasma-browser-integration xdg-desktop-portal-kde kde-gtk-config kgamma5 breeze-gtk drkonqi phonon flatpak-kcm kactivitymanagerd plasma-desktop systemsettings plasma-disks plasma-systemmonitor kinfocenter kmenuedit dolphin konsole kdsoap ksshaskpass kwayland-integration kate plasma-welcome baloo-widgets dolphin-plugins kdegraphics-thumbnailers ffmpegthumbs kdenetwork-filesharing kio-extras kio-admin xwaylandvideobridge kde-cli-tools kdecoration kpipewire ksystemstats kwallet-pam layer-shell-qt libkscreen polkit-kde-agent-1 --include-dependencies

if you get build errors you can resolve them and start from where you left off by adding this with the name of the item that failed to build at the end of the command

--resume-from "failed build item"

you can also resume after a specific item if you need to with

--resume-after "build item"

and if you need to rebuild things you can use --refresh-build

If you need to rebuild a specific item from the list with a patch added or changes you made without rebuilding all its dependencies you need to do

kdesrc-build "build item" --no-src --no-include-dependencies --refresh-build

This is a very basic setup that ive been using the past few days, If you notice anything strange here please let me know and i can make changes to this. If youre brave enough and feel confident you can resolve basic issues on your own and want to report issues for helping polish plasma 6 and friends I would say definitely jump on into building Plasma 6. :grin: :tada:

how to run what you built is included here


You can then also add the plasma 6 dev session to SDDM session list with the script mentioned in here: Get Involved/development/Build software with kdesrc-build - KDE Community Wiki


Just FYI, the default config now builds with Qt6. All of your manual BUILD_WITH_QT6 stuff is unnecessary and is already handled upstream in kdesrc-build :slight_smile:

And what’s the point of using core-unstable and kde-unstable in Arch, if you’re going to use kdesrc-build anyway…?

You can use kdesrc-build workspace for that too

1 Like

I dont build QT6 using kdesrc-build and use those for the absolute latest QT packages arch has. That has changed now though for arch as kde-unstable now has the plasma 6 packages i believe.

awesome, Ill make sure to edit that

EDIT: Looks like i cant :stuck_out_tongue: but thank you for the heads up

Hi can you just install plasma-meta from KDE unstable now? Its version 6.x

Hi can you just install plasma-meta from KDE unstable now? Its version 6.x

I was so confused at first because the meta package say 6.0, but the other packages still said 5. But yep, it is the 6.0 beta.

That’s because we don’t be tagging anything “6.0” until it’s proper release, otherwise we slowly inch towards that with numbers like “5.249.0” and such :slight_smile:

I added a note to the beginning of this thread making sure in no uncertain terms that you should not follow this anymore. The documentation and tools provided by the folks of KDE should no longer need any manual intervention for building plasma 6 and using kde-unstable repo on arch right now is very much unstable due to the QT 6.7 beta packages and that repo now being built on QT 6.7 beta. If you have to knowledge to test issues regarding plasma 6 and qt6.7 then do so but you probably dont need these instructions if you do.

The probably “safest” way to use Plasma 6 besides self built right now is either Neon unstable or Kionite Nightly