Long time viewers of the channel know I don’t talk about my current setup. I started using KDE Plasma a couple months ago and I’ve been incredibly impressed with how just a little bit of setup, KDE Plasma has become my desktop environment of choice.
Why KDE?
The last time I daily drove KDE was 6 years ago. I ran a setup much like MacOS and was a big Latte Dock user (rest in peace Latte Dock). KDE is also a powerhouse in desktop Linux, coming strong through things like Valve’s Steam Deck or as the flagship in SUSE’s desktop spins. KDE is one of the oldest desktop environments in Linux, receiving funding from Google, Canonical, and Tuxedo.
Long time viewers will know I previously used the Awesome window manager and GNOME on camera in the past, but I’ve never gotten into detail about this change. I also have an Nvidia graphics card (specifically the Nvidia 1080 TI) and have been seeking the next thing that runs it the best. I want to advocate for using what works for you, but at the same time, we need to be looking towards the future.
Wayland & Nvidia
The truth is most Linux desktop environments or window managers are not prepared for the future or don’t see enough development. One of the major reasons I switched was Wayland. Along with GNOME and Sway, KDE promotes and supports the Wayland display protocol, a secure and cleaner display system for the modern age.
Many other desktops just are not prepared for Wayland and part of future-proofing our stuff is using software that promotes future technologies. Wayland is more secure and we need to use as much as possible especially since XOrg’s development has hit an all time low.
Now the eagle eyed among you will know Nvidia is a massive pain on Linux. But in reality, I had to make zero changes to get KDE to accept the proprietary driver. What shocked me the most was I had experimented with KDE months ago and Nvidia was not functional at all. It truly is a “it just works” situation!
Of course, this might be because I have an incredibly common computer. I frequently get asked what my computer is, and if you want to know, go look up the Cyberpunk 2077 benchmark computers. Basically, I have that and 32 GB of RAM and Fedora 37. Your mileage may vary. If you are using an older KDE version on another stable distro, do not expect Wayland to work with Nvidia.
Tiling Windows
Every nerd loves a tiling window manager, but while I initially wanted to use the Sway window manager, they refuse to support the proprietary Nvidia driver, so they’re off the table. That sent me crawling over to GNOME, where you can use System76’s GNOME extension, Pop Shell. I’ve never covered it in depth, but it adds a sort of “pseudo-tiling” functionality to GNOME. I’ll freely admit using Pop Shell in its current state is an objective downgrade from using a tiling window manager, but I wanted to experience Nvidia and Wayland, for content of course!
But System76 rocked the Linux desktop space by announcing the creation of their own desktop environment, Cosmic. This actually got me worried because if System76 is going to drop GNOME soon, what’s going to become of the state of Pop Shell GNOME extension?
A talk by Victoria Brekenfeld, where she discusses smithay, PopOS’s custom Wayland compositor.
Yes, I am aware that System76 wants to support Wayland and Nvidia, but it’s going to take time for that to propagate through Linux distros repositories. For perspective, it took years for Arch Linux and Fedora’s maintainers to package ElementaryOS’s Pantheon desktop environment when it first came out. Plus there’s the risk Cosmic will suffer the same fate Unity did at the hands of Canonical.
On the other hand with KDE, KDE has pledged to support a new API to allow built-in window tiling without the assistance of an extension. This functionality is now in KDE, but developers still need to catch up, so I’ve been using bismuth, the most popular extension for tiling, which also has a .RPM package in Fedora.
Moving from Pop Shell to Bismuth is night and day. Pop-Shell requires you press a set key, like Super + Shift + Enter to enter a “window moving” mode, then another key to move your windows around (default hjkl). It’s a lot of keystrokes and moving to Bismuth requires I only press 1 shortcut to shuffle windows around.
Since Bismuth is around and KDE has added new APIs to support window tiling, I can now rest assured that nobody is going to touch my window tiling!
In defense of Pop Shell, this is likely a limitation of GNOME.
Customization
GNOME has treated me well and I can still say that I still has one of the stable desktop experiences out there. But a lot of people, including myself, don’t like having work around GNOME having their own vision, particularly when that vision doesn’t align with my own.
For example, you can’t export your GNOME keybindings through the GUI. Instead, you run this dconf command to output the keys into a file.
dconf dump /org/gnome/settings-daemon/plugins/media-keys/ > keys.txt
Then you need to load the same keys again on the new device.
cat keys.txt | dconf load /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/
I respect GNOME for what it is, but I don’t want to have to fumble through dconf to figure out I have to do when at least with KDE, while their settings menu is confusing, at least it’s search-able. They also let you set a default terminal (unlike GNOME), have more than 4 desktops accessible via keybindings, and native tiling windows.
KDE also lets you customize your desktop to a great degree. I always gravitate to the Unity layout (Ubuntu Unity) since it makes better use of the short-end of the screen, but I stopped because of the way my multi-monitor setup works. My current setup is more similar to Windows 11, but instead of nagging from the weather widget, I have a visual list of all my desktops.
The KDE Ecosystem
I tried out each various programs from the KDE ecosystem:
- Dolphin has improved a lot and even has the ability to mount Apple devices via GUI, which only GNOME used to be able to do previously. Dolphin also has better thumbnailing for non-standard files, but you need to install ffmpegthumbs on Arch or Fedora.
- Spectacle also lets you annotate or draw on top of screenshots as well as record native Wayland sessions, which is an absolute functionality win compared to GNOME Screenshot.
- Discover now has direct links to a project in the repos, which is something GNOME Software doesn’t have. However, Discover’s auto-update feature is so resource intensive that I just deleted PackageKit and Discover altogether out of annoyance.
- I tried using Kmail, but as a creature of habit I went back to using Mozilla Thunderbird.
- KColorChooser is one of the few standalone color pickers on Wayland that I know and it’s very functional.
- KDE Partition Manager, while native to KDE, still feels inferior to GNOME Disk Utility. GNOME Disk Utility is more intuitive, doesn’t require root privileges on startup, and lets you burn ISOs to devices.
- Okular lets you sign documents (even if the method is really convoluted)
- KCalc doesn’t connect to the internet (did you know GNOME Calculator connects to the internet to get real-time currency conversion rates?)
Caveats
I’m going to briefly going to touch upon some minor issues now.
- KDE 5.26 has errors when you log out and your computer will be a black screen. I have replicated this on both X11 and Wayland, but 5.27 has fixed it. However, 5.27 is only being shipped in Arch Linux right now.
- Firefox on Wayland requires a special flag on KDE and using your distro’s native package or the Snap will give you problems. If you use the Flatpak and add the environment variable
MOZ_ENABLE_WAYLAND=1in .bashrc/.zshrc, it will work fine. - Copy/pasting in (Neo)vim requires you install wl-clipboard as vim defaults to xclip rather than a native Wayland solution.
- DaVinci Resolve does not display window decorations. It doesn’t mean much to me as a tiling window manager user, but if I was using KDE as a floating window manager, I’d be upset.
- Chromium/Electron apps, like Signal or Brave, and Zoom cannot share your screen. This is because XDG Portals, a standard in the XDG Desktop, isn’t yet supported.
- OBS works as long as you are using Pipewire and you add the environment variable (You should be using Pipewire because it’s more consistent and secure than PulseAudio)
- Night light filters do not work on Wayland, not on KDE nor GNOME.
- Mixing GNOME and KDE apps does not look good. Same criticism applies for GNOME.
- Windows that don’t use their own icons will default to using XOrg or Wayland icons, depending on which display system they use.