About 2 min read

Plasma 5 Installation on Arch Linux

In my last post on Arch Installation Guide , We installed the base system and we can now login into our new system as root using the password that we set.

Note: Please see my latest post on installing Arch linux with Gnome 3 for an up to date version of this guide.

Now, we will proceed further to install the Plasma 5 desktop.

Add New User

Choose $USERNAME per your liking. I chose ssingh, so in future commands whenever you see ssingh please replace it with your $USERNAME.

useradd -m -G wheel -s /bin/bash $USERNAME
chfn --full-name "$FULL_NAME" $USERNAME
passwd $USERNAME

Plasma 5 Desktop

Network should be setup at the start. Check the status of network using:

ping google.com -c 2
PING google.com ( 56(84) bytes of data.
64 bytes from google.com ( icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from google.com ( icmp_seq=2 ttl=64 time=0.023 ms
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.022/0.022/0.023/0.004 ms

If you do not get this output, please follow the troubleshooting links at arch wiki on setting up network.

I will be assuming you have an NVIDIA card for graphics installation.

To setup a graphical desktop, first we need to install some basic X related packages, and some essential packages (including fonts):

pacman -S xorg-server xorg-server-utils nvidia nvidia-libgl

To avoid the possibility of forgetting to update your initramfs after an nvidia upgrade, you have to use a pacman hook like this:

vim /etc/pacman.d/hooks/nvidia.hook

Exec=/usr/bin/mkinitcpio -p linux

Nvidia has a daemon that is to be run at boot. To start the persistence daemon at boot, enable the nvidia-persistenced.service.

systemctl enable nvidia-persistenced.service
systemctl start nvidia-persistenced.service


To avoid screen tearing in KDE (KWin), add following:

vim /etc/profile.d/kwin.sh
export __GL_YIELD="USLEEP"

If this does not help please try adding the following instead -

vim /etc/profile.d/kwin.sh

Do not have both of the above enabled at the same time. Please look at Arch Wiki for additional details.

Now continue installing remaining important packages for the GUI.

pacman -S mesa ttf-hack ttf-anonymous-pro
pacman -S tlp tlp-rdw acpi_call bash-completion git meld
pacman -S ttf-dejavu ttf-freefont ttf-liberation

Now, we will install the packages related to Plasma 5:

pacman -S plasma-meta kf5 kdebase kdeutils kde-applications
pacman -S kdegraphics gwenview

Now we have to setup a display manager. I chose recommended SDDM for plasma 5.

pacman -S sddm sddm-kcm
vim /etc/sddm.conf

# Current theme name

# Cursor theme

systemctl enable sddm

Also make sure that network manager starts at boot:

systemctl disable dhcpcd.service
systemctl enable NetworkManager

Audio Setup

This is pretty simple. Install following packages and you should be done:

pacman -S alsa-utils pulseaudio pulseaudio-alsa libcanberra-pulse
pacman -S libcanberra-gstreamer jack2-dbus kmix
pacman -S mpv mplayer

Useful Tips

This part is optional and you can choose as per your taste. Sync time using the systemd service:

vim /etc/systemd/timesyncd.conf
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org
timedatectl set-ntp true
timedatectl status
Local time: Tue 2016-09-20 16:40:44 PDT
Universal time: Tue 2016-09-20 23:40:44 UTC
RTC time: Tue 2016-09-20 23:40:44
Time zone: US/Pacific (PDT, -0700)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no

On Plasma 5, It is recommended to enable no-bitmaps to improve the font rendering:

sudo ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf

If you use vim as your primary editor, you may find this vimrc quite useful.

That’s It. You are done. Start playing your new beautiful desktop. Please leave your comments with suggestions or any word of appreciation if this has been of any help to you.

Follow this page for any additional suggestions or improvements in this guide.


RELATED POSTS | Linux , Guides

Get in touch 👋

Feel free to email me about anything. Want some advice? Give some feedback?

You can also reach me around the web: GitHub, Twitter, LinkedIn