2015/06/01

Software Rants 20: Plasma 5.3 Problems

Blogger problems: why can't you set the default font to be something other than MS shovelware? I keep manually putting these blog posts on Helvetica.

I figure with each new release in the KDE 5 series I'll just make blog posts about whats broken. Gives me some clarrvoyance on where I can direct any contributions I want to make.

This release was quite the landmark for me, though - I finally switched my desktop and notebook over to Plasma 5. So first thing is first, something must have improved from last time for me to make the switch, and it definitely happened. So lets address my complaints last time and see what has gotten better, and add some more remarks now that it has been my daily driver for several weeks.


  1. Performance. With the release of KDE applications 15.04 a lot of software has gotten a KF5 release, so much more of my desktop is now using the same shared libraries again. We still have that render thread problem - Qt 5.6 is not fixing it, so it will be at least next year before they reenable it. Which is insane. Besides that, opening almost anything is quite noticably sluggish on Plasma 5 on both my computers - it seems there is no disk caching going on, and since almost every window is now using the GPU, it might be compiling shaders every time, which is probably the real culprit. At the same time I've put Cyanogenmod 12 on my S4, and if I find my two year old phone is more responsive than my eight thread i7 computers with ten times or more CPU and GPU performance than the thing, both with SSDs that can pull 400 MB/s data rates, something is still amiss. It could also just be the QML compiler, but that seems less likely since both Android and KDE5 are using interpreters, so sluggishness on one should not be so pronounced. And usually my own QML apps are pretty spiffy in startup time.
  2. Multiple monitors. Works alright now! I can setup my desktop properly, and it preserves across boots... usually. I'm pretty sure sometimes my DRM driver is reporting my displays by different names at random, which breaks everything and gives me an ugly clone 4x3 fallback mirror on all my screens, which then means I need to redo the configuration. But that is not KDEs fault - it sometimes happened under KDE4. The difference is that in the old one I could reorient the monitors for that one boot and not save the layout, whereas now the layout is autosaved. Honestly, the advantages of autosaving I think outweigh the inconvenience of sometimes having back to back boot cycles where I have to reconfigure my displays.
  3. The KCM hasn't improved much, but that is pretty much my fault. I've found trying to work on either the KCM projects or KDE Telepathy to be incredibly frustrating experiences. The system settings KCMs are in the Plasma repo rather than systemsettings itself, so you have to rebuild the whole desktop to try modifying one KCM... on the flip side, KTP is super annoying in how you have to manually build binaries from a half dozen repos to test changes, because the project is - imo - pointlessly overarchitected into several git projects rather than just being one or two. But thats another blog post!
  4. Plasmashell still randomly crashes, but at least it restarts properly now. Opening programs still does randomly kill the shell, which is an oddity...
  5. Kmix is still awful, but I think someone was working on giving it a QML interface for the next release, which is what is needed.
  6. Kickoff works fine now. Only complaints are how you cannot resize it, system settings is no longer under "computer", and that you cannot drag desktop files from kickoff and drop them in icon tasks like you could in kde4. Its a lot prettier now though!
  7. Digital clock is still worse. I just have to live with having my time and date in the wrong format with no easy way to fix it.
  8. Why the hell does systemsettings do this? Hell, a lot of KDE software is now doing that. I know what it is - default window dimensions. What I want to know is why Qt got stupid and stopped sizing containments like this around the elements therein. Here is how it should look. And under KDE4 it usually would. But a lot of different settings pages are now ingoring the actual dimensions of subelements and presenting themselves as stupidly small boxes. File dialogs do it. Kwin effects does it. It seems like a major Qt5 regression where any resizable elements containing lists of widgets just stop caring how much space the widgets take up, and just don't even try to size themselves reasonably for the elements contained therein. Using it more, there were a lot of improvements in individual systemsettings modules, but the UI is still barf.
  9. Breeze-GTK at least is in the works from reddit posts I've read. Some super amazing guy is working on it, so hopefully it will be done one day. GTK still looks like butt.
  10. Muon hasn't changed pretty much at all.
  11. Bluedevil was fixed! And there is now a native Bluetooth widget like the networkmonitor one. Extremely positive changes here, everything is better!
  12. IconTasks now always delays tooltips. I don't mind... since I always do that... I just wonder if anyone else now misses instant tooltips.
Now that it is my daily driver, and now that all my deal breakers are resolved, I can bitch and moan about all the new problems i've run into! This is the list I'll use in my "why plasma 5.4 sucks and free software developers should be doing a better job giving me amazing desktops for nothing the brats" post on an internet blog where I complain about things too much.
  1. Responsiveness. I mentioned this above, but its still an outstanding issue. I have a desktop with 16GB of ram, an 840 Pro, and I get tangible application load delays and sluggish animations that never happened on kde4. I do believe it is related to QML, seeing as its everywhere now which means shaders are containtly being compiled and my GPU is being hit quite often. It might be related to how I'm using my 290 on radeonSI as my only GPU now, since my onboard Intel DVI port could not see my 144hz monitor as 144hz. I do want to consider writing the modeline myself and trying prime offloading again, though.
  2. plasmashell still has issues. Any real time widget will constantly load the CPU, like its drawing updates at infinite FPS or something - this includes the network, disk IO, and CPU monitors. Kind of annoying to not have that info anymore. Sometimes, applications launched from plasmashell stop having working file dialogs - the application will lockup as if there is a superceding window, but no window will appear, and I imagine it is due to some hidden window somewhere else in the plasmashell sea is impersonating the dialog. Either way, when this happens, I must xkill the program and restart plasmashell - theres no other way to get working file dialogs back. Only happens with KF5 programs too. And the shell does still crash occasionally.
  3. First boot problems. On my desktop the time from login -> working desktop is often at least a minute. It takes around 15 - 20 seconds for krandr to modset the screens away from the SDDM mirrored monitor configuration, and then another minute or so of plasmashell and kwin jerking it in the corner for some reason. Logs are not informative on what is actually going on here, and I'm already in the habit of starting my desktop when I get up to go brush my teeth, and I sleep it throughout the day if I'm going anywhere, so I don't really feel the sting of this problem - but it is a problem all the same. On my notebook, desktop widgets flicker like mad for a while after first logging in. Restarting the shell fixes the flickering, but its pretty wild while its going on. Only impacts desktop widgets, not the panel, so when I open kmail / firefox I don't have to look at it anymore, and it does go away after a minute or two. Still a regression.
  4. Autostart is ignoring /usr/share/autostart. Just outright. Adding scripts is broken, so I had to make desktop files for all my shell scripts.
  5. KDED is trying to open ksysguard as ksysguard.desktop, but ksysguard got a KF5 port and was renamed org.kde.ksysguard.desktop. I have to symlink the new one as ksysguard.desktop in my applications directory and then have my custom shortcut of meta-g to open it point to that desktop file for it to work, or I get a "malformed ksysguard.desktop" error hitting the shortcut. This happens nowhere else.
  6. KDE Telepathy is a mess. Its now on KF5, has a new desktop widget, and looks gorgeous... but everything has regressed so bad. It now has a proper KCM to manage accounts, its now using kpeople, and soon it should be using telepathy as its accounts backend. Kontact should also be adopting kpeople and that backend too at some point, and when it works it should be the online accounts management we should have had years ago. But for now, its a half baked mess - no error messages when accounts fail to connect, and the various implementations of login providers spinlock themselves when external servers are nonresponsive to login attempts. That means if I try to signin to a hangouts account but the telepathy part or KTP is broken, it will max out a CPU core and sit there waiting for a working pipe that will never be setup until the connection times out. You can only add about a half dozen different accounts now, down from several dozen in the 4.x series, and we end up with Gadu-gadu and IBM Sametime rather than the real esoteric accounts like AIM... or SIP... or Bonjour... half my IM accounts are no longer supported even though Telepathy still works with them just fine. Even when an account is avaialble, going online is a pain in the ass - you must not only enable chat in the internet accounts KCM, you have to go into the contact list and force online to actually try connecting if it ever failed even once. The Call UI is completely gone, I can't even dig up an experimental git repo of a ktp5 callui. The Google Talk teleapathy tube must be screwed up or something, because I cannot have two hangouts accounts active at once anymore, and the client will randomly lose connection on the only one I can keep online to then spinlock and error out until I relog the session. Ifi it was not such a pain in the ass to get a working development environment for KTP, I'd be trying to fix this mess in an instant... but every time I go to do it I have to pull down so much other stuff in git form, and then build it all and try installing all this crud to just run the connection manager that I always give up after an hour or so. Some projects like mozilla-central really need to learn how to seperate their git repos, but I see no reason why a desktop IM client needs different git projects for its file transfer dialog, accounts manager, filetransfer-handler, desktop applets, text interface, call interface, and a kded module. None of this stuff works for the most part without all the rest, if anything it should be ktp with plugins for sendfile, call, etc.
  7. Its great that desktop widgets now snap to a grid rather than being this randomly sized blob of rectangle, but the alignment is wonky when mixing old widgets like the notes one where it consumes much more space than the actual displayed notepad. Whenever my screen resets it also dumps all the widgets in a corner that I have to replace them all in their positions on my screen.
So enough Negative Nancy, whats good about this release?
  1. QML everywhere is still great. CPU usage on most things is lower, animations are pretty, Breeze is gorgeous, and the new system tray is fantastic. These all are pretty much carryovers from 5.2, though.
  2. We are finally getting plasmoids, even if many are still broken. Plasmoids are probably one of the greatest features of KDE, it would be nice if they were given more class in the ecosystem to make it easier to develop and package them. I intend to try making a bitcoin plasmoid just for funsies today, for example.
  3. All the fixes I mentioned above, but I'll restate the big ones just for posterity - bluetooth works! Multiple monitors work! Modesetting works! Power management works! That cool feature where the system won't sleep with an external display attached when you lidclose works and is great! 
So despite the criticism its still the best desktop environment out there. And its now better than kde4, else I wouldn't have switched over already. Heres hoping the future is only brighter for KDE. We had the difficult UI transition from 3->4, and now the internals transition from 4->5, so hopefully the model in place today - GPU accelerated QML, with glorious Breeze styling, with huge configurability and the abiility to effectively immitate any other workflow - can last a long time.

I'll add to this list over time as I bump into more issues. They are definitely out there!