OpenSUSE Leap 42.3 Plasma - No Linux, No Love

Updated: September 4, 2017

You know I have a soft spot for SUSE in my heart. This will always be the case with your first distro. Which is why my heart always breaks a little when there's a bad release, and it's been like this for a long while now. OpenSUSE seems to have lost the gusto that it once had, and releases are too rushed, and software support funky.

But then, I always reset the emotions meter and start fresh, whenever there's a new release out there, and there's one like that right now. Numbered 42.3, it's the third Leap edition. So let's test it a rather complicated multi-boot setup and see if it can deliver the perfect experience that it had once. Onward, commence.

Teaser

Installation

At the time of my testing, only full DVD media was available, with no live CD edition. This means no fancy screenshots, as I installed the system straight away, on real, physical hardware, but I did capture one or two with an external camera, just to give you a taste of what the process looked like. Not pretty, but you get the idea.

In 2017, like back in 2007 and much earlier, openSUSE features the smartest, safest and most elegant installer. It has everything you need and it guesses intelligent choices for the user. Furthermore, the installation flow remains identical to what I've outlined in my namesake tutorial several years ago. Very neat.

First, it correctly offered the right language and keyboard - without trying to default to any locale. I like this. Second, there's an option to configure your network devices, including the Wireless card. In fact, you can even set specific options with which to load the module into memory. This can be rather relevant, as my Lenovo G50 runs a Realtek RTL8723BE card, which has proven quite tricky in most Linux distributions, and has only started working well since kernel 4.8.7 onwards.

Network

Alas, while the functionality is there, the network scan did not work. The drop down list had no access point names available. I decided not to manually configure things, and proceeded without any network setup at this point.

The partitioning step is a joy. OpenSUSE Leap offered to format /dev/sda15 with BTRFS and create all its wicked pools and whatnot, and re-use /dev/sda16 as home, without any formatting. These two are currently in use by the resident Fedora 25 system. The wizard also correctly identified swap and the EFI partition. Smart.

Partitions

Instead, I dislocated the newly tested Fedora 26, set the partition format to BTRFS, including the use of snapshots. The wizard also lets you setup the bootloader with Secure Boot support, plus you can password protect the menu or hide it. All the neat options and features are there. Very cool, and very approachable, even if you choose the more expert route.

Then, the installation started, with the Plasma desktop as the target. We will see how it behaves, especially since I was quite pleased with this environment recently, most notably Kubuntu Zesty, which turns out to be rather splendid. Anyway.

I'm a distrojack, I skip and jump

I like to stress wild software, I wear nerdy clothing and hang around in git. I'm a distrojack, and I'm okay, I code all night and I fork all day, I cut down bugs and avoid online thugs ... Sorry, I got carried away. All because the word leap sort of synonymizes prancing-about behavior of joy and hope and optimism.

The distro installed fine. The multi-boot setup works without any problems, and there's Windows in the equation, too. Then again, the openSUSE installer had yet to disappoint me. But I do yearn for the good ole days - and not just in a nostalgic nonsense way - when SUSE was sharp, precise, predictably good, and just plain awesome.

So yes, let's see what Leap 42.3 can do for us - and it is very important we compare to how the predecessor behaved, most notably the Plasma version, and then also the first Leap edition. And I wrote all this in the time it took for the distribution to install and commit to the disk. Even the GRUB2 setup was fast. Fifteen minutes, give or take. Speedy. And now, ladies and gentlemen, behold the desktop!

Wait ... before the desktop

I consulted the system log during the installation in one of the virtual consoles, and I noticed a whole bunch of ugly and possibly dangerous dump traces, related to the BTRFS functionality. It wasn't just one particular function that was gimping, but it seems the filesystem module was complaining about returning from fork and thread thingie whatnot, so possibly, there's some multi-thread conflict or problem under heavy load. Not sure how this is going to affect the desktop productivity and stability. Still, you do not really want to see any errors in the filesystem layer, now do you?

BTRFS error

Behold the desktop

And there, finally, the Plasma desktop. Nice and reserved like, with the Leap wallpaper. At the first glance, it looks like any which recent, modern KDE. But then, if you're wondering, Leap 42.3 ships with kernel 4.4 and Plasma LTS 5.8.7. The kernel is interesting, as there's a very high chance my Wireless networking will be glitching. But let's see what happens.

Desktop

The widget icon is on the left, too close to desktop icons.

About

Looking at system logs, I noticed a few more of those BTRFS-related issues, so this wasn't just a one time during the installation. Not good. Then, on top of that, some pretty high CPU activity. I guess BTRFS has its merits, but it also requires a lot of resources to work well. More about this later.

[] WARNING: CPU: 1 PID: 898 at ../fs/btrfs/qgroup.c:1071 quick_update_accounting+0x2dc/0x310 [btrfs]()
[] Modules linked in: nls_iso8859_1 nls_cp437 intel_rapl ...
[] CPU: 1 PID: 898 Comm: systemd-tmpfile Tainted: G O 4.4 ...
[] Hardware name: LENOVO 20351/Lancer 5A2, BIOS 9ACN32WW ...
[]  0000000000000000 ffffffff81339d97 0000000000000000 ...
[] ffffffff810804e1
[] ffff880242f5e520
[] 0000000000000001 ffff880244fa2308
[] 0000000000004000 ffff880196826000 ffffffffa05075cc ...
[] Call Trace:
[] [<ffffffff81019f29>] dump_trace+0x59/0x320
...
[] [<ffffffffa04da257>] btrfs_ioctl+0x17c7/0x2480 [btrfs]
[] [<ffffffff81222f1c>] do_vfs_ioctl+0x30c/0x570
[] [<ffffffff812231f4>] SyS_ioctl+0x74/0x80
[] [<ffffffff816303b2>] entry_SYSCALL_64_fastpath+0x16/0x71
[] DWARF2 unwinder stuck at entry_SYSCALL_64_fastpath+0x16/0x71

[] Leftover inexact backtrace:

[] ---[ end trace 516cdf94e62d0178 ]---
[] BTRFS warning (device sda13): qgroup 71776119061217542 reserved space underflow, have: 0, to free: 16384

Network connectivity

A very, very mixed bag. Wireless worked - until it stopped. Bluetooth did not work at all, and I was unable to toggle the radio on. Samba sharing worked - only with IPs and not names, but you still get the silly timestamp problem. Printing, well, that's a crazy one. The system has no less than THREE utilities, and they all give different results.

Only IP addresses work

Bluetooth does not work

There's a YaST-based one, and it did nothing. The Plasma one could not find any printers until I turned the Firewall off, and then it did detect the Wireless printer, but it did not have the option to reach the Samba device. The Gnome-based printer settings tool offered both. This is such a mess.

YaST utility, no printer found

Result 1: YaST printer utility, does nothing.

KDE utility, FW on, no printer detected

Result 2: KDE utility, FW on, no printer detected.

Printing, Gnome utility, FW on/off, Wireless, Samba

Result 3: Gnome utility, FW on/off, Wireless and Samba yes, mouse scroll-over artifacts like in Ubuntu, yes, too.

Printing, KDE utility, FW off, Wireless printer

Result 4: KDE utility, FW off, Wireless printer yes, Samba printer no.

I almost gave up ...

Predictably, the Wireless network died. Only this time, the modprobe trick did not work at all. The system was unable to re-connect to the Wireless access point. I even tried to kill the network manager (HUP and -9), and while the new instance did spawn, the network would not resume operation. At this point, I thought just wrapping it up. Why do I need to play with this nonsense? It's 2017, and I'm not in the mood for 1999 games. Still, I decided to continue, just to see how far I could get.

Wireless nonsense

Package management

Well, let's do it. So, we need some additional software, because the default will not cut it. Indeed, we will enable several community repositories, which offer the goodies that ordinary people seek, like media codecs, games and such.

Add repo

Both the YaST frontend and zypper behaved moderately well, working reasonably fast and without any major errors. Well, I'm disclaiming that, as you will see in a few moments. All in all, not bad, but then, YaST can look and feel quirky to people who are not used to it. And the search functionality, while precise, is sterile. Not sure which is better, a fancy and shiny GUI that does nothing, or a spartan utility you're not likely to use because it's too boring and hard.

I did struggle with the update functionality until after the second reboot. The updater was showing offline, but then it popped a long list on the next login. No issues after that, so this must be some initial setup glitch. Just use zypper, right.

No updates offered

Updates show now

Media playback

Here's another snag. Still, in 2017, distros refuse to offer a simple, intuitive method for installing new software. First, there's no option to select extra stuff during the installation, like Ubuntu, but never mind.

Then, in the installed system, there's no alias to codecs, you still need the stupid names like gstreamer and ugly and all that nonsense for geeks to be able to grab the needed stuff. Ironically, openSUSE offers its famous one-click installers, but they are available online and not as a shortcut on the desktop, so silly.

Ambiguous search

But then, it gets worse, once you start installing - you get an ugly and dangerous and depressing repo conflict, because if you've enabled additional repositories as I've done, you get multiple versions from multiple sources, and you will need to force one. How sad.

One click install

The styling of this window is ugly - notice the buttons and the text.

Add codecs

Package conflicts

The solution is to "affix" certain software to a particular repository.

zypper dup --from http://packman.inode.at/suse/openSUSE_Leap_42.3/

Repo conflict fix

After this, I was able to play music, including both Amarok and VLC, however the former feels quite old, with too many errors and whatnot, so instead, I installed Clementine and copied my configuration from Kubuntu, and it was dandy and sweet.

MP3 playing 1

MP3 playing 2

I then tried to play HD video in Dolphin - works but only gives a black playback screen when taking screenshots. No such issues with VLC. However, neither one could play from Samba shares, as this is a problem I talked about a while back. Unfortunately, the VLC version compiled in the extra repos does not have the Samba module. So you're screwed, it seems like.

HD video

No SMB module

I eventually fixed this - and it's a super ugly hack that I tried, but it worked. Basically, I took the VLC binary from Kubuntu, placed it under /usr/bin, launched it, used it to configure the Samba name, password and domain - because security shit. Then, on subsequent launches, the normal openSUSE VLC worked just fine against remote shares, since we had no more authentication issues. More to follow in a separate article.

Kubuntu version, SMB module

Smartphone support (and media playback)

Surprisingly good. Both Android (formerly Ubuntu Phone) and Windows Phone worked just fine, and were mounted correctly with MTP, something that many other KDE desktops often struggle with, even in this brave and modern age of decadence and the time when everyone has at least one smartphone. And we're talking full read and write permissions. In general, Plasma never did this gracefully, and in Kubuntu Zesty recently, I actually had to use ntfs-config to sort out the permissions.

Windows Phone

Moreover, I was able to play songs from both phones using Clementine and VLC but not Amarok, in the first two cases with all the bells and whistles and meta data and all. Very neat. The only downside is that I wasn't able to access folders that had their contents changed while mounted, like the Screenshot folder. Needs remount.

MP3 playing from phone

Android error on FS changes

Applications

When you get a full DVD of stuff, you get a lot. There's no shortage of programs, including some rather odd choices. The defaults are colorful and good, although some extras could never hurt. Firefox, KMail, LibreOffice, GIMP, Marble, Kopete, you name it.

Apps 1

Apps 2

Launching KMail did not work right away - it complained about Akonadi, and how this could not work and whatnot. Eventually though, the program started, but I do not know if it's going to worth correctly without the necessary backend services. Quite odd.

Akonadi issues

Extra software

I also installed some additional programs - Steam (in the added repos) and Skype, which I had to download manually. Oddly, Dolphin associates Ark, the archive manager, as the default program for handling rpm files. Anyway, with YaST, the installation will fail because of the signature thingie issue. You can ignore this and continue. Later on, I had the same problem with Google Chrome. If in doubt, and you don't like how the frontend handles this, you can use zypper for local installations, similar to dnf in Fedora.

Package supposedly broken

Error: INVALID:skypeforlinux-5.4.0.1-1.x86_64 (file-28fb849d): Signature verification failed [4-Signatures public key is not available]

Ignore and continue. Likewise, Steam would not launch right away. 'Cuz there were errors!

Assert( Assertion Failed: Could not open connection to X ):../steamexe/updateui_xwin.cpp:339

Installing breakpad exception handler for appid(steam)/version(1.0)
sh: /home/roger/.local/share/Steam/steam_msg.sh: No such file or directory
crash_20170824135611_3.dmp[20457]: Uploading dump (out-of-process)
/tmp/dumps/crash_20170824135611_3.dmp
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[2017-08-24 13:56:11] Startup - updater built Nov 23 2016 01:05:42
../steamexe/updateui_xwin.cpp (339) : Assertion Failed: Could not open connection to X
../steamexe/main.cpp (525) : Assertion Failed: failed to initialize update status ui, or create initial window
/home/roger/.local/share/Steam/steam.sh: line 444: no match: ssfn*
crash_20170824135611_3.dmp[20457]: Finished uploading minidump (out-of-process): success = yes
crash_20170824135611_3.dmp[20457]: response: CrashID=bp-6b668caf-df34-4f2e-9fb6-a06c22170824
crash_20170824135611_3.dmp[20457]: file ''/tmp/dumps/crash_20170824135611_3.dmp'', upload yes: ''CrashID=bp-6b668caf-df34-4f2e-9fb6-a06c22170824''

The solution is to run:

xhost+; steam

After that, on subsequent launches, Steam will work fine.

Desktop customization

I had to spend quite a lot of time tweaking and polishing and fixing things. In its native form, SUSE lacked certain grace, so I assailed it with all my aesthetic skills, including the task manager change to icons-only and indeed new icons. I wanted to go for the Papirus set, and even used the system utility to get it, alas the icons did not show in the list.

New icons do not show

I even copied the icons from my Kubuntu Zesty installation on another partition, but still nothing. It turns out that you cannot use the hidden .icons folder in your home directory, and you actually must copy the icons under /usr/share/icons, and only then will the show up in the list. Silly and unexpected.

Custom desktop 1

Custom desktop 2

Resource usage

In the past few iterations (releases), Plasma has become a rather slim and frugal desktop environment, taking few resources. The footprint is about 500 MB, and this is about one third of what Gnome eats. However, despite the low footprint, including a quiet CPU, performance and responsiveness could be better. I blame BTRFS.

Resources

Battery life

Very bad, I must say. Now, with battery deterioration of about 20%, we're still talking a low, sub-2h value at 50% brightness and an idle desktop, and that's a really bad number, because some distros can double this, on this very same box. The same is true with Windows 10, also installed on the G50 machine.

Battery life

Desktop hangs

Now, the clincher. Occasionally, especially under somewhat higher load, and in particular when using the Gnome screenshot app (this is a topic for a future tutorial), the system would just freeze for about 15-20 seconds and then recover. The kernel log says:

[ 4554.782878] [drm] GPU HANG: ecode 7:0:0xf3cffffe, in plasmashell [10010], reason: Hang on render ring, action: reset
[ 4554.782881] [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
[ 4554.782881] [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
[ 4554.782882] [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
[ 4554.782882] [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
[ 4554.782883] [drm] GPU crash dump saved to /sys/class/drm/card0/error
[ 4554.782940] drm/i915: Resetting chip after gpu hang
[ 4564.809902] drm/i915: Resetting chip after gpu hang

And of course, there's a bug, and this needs at least kernel 4.9. So now I have not only Realtek issues but also GPU issues. And I like how people blame my hardware, as if there's something special in Intel HD graphics and Realtek Wireless. Of course.

Kernel upgrade!

Believe or not, I decided to be adventurous. Because the alternative was a system with wonky network and desktop freezes, and that's just pure garbage. OpenSUSE does have a repo with new kernels, so you can add this one and install the latest image. This does beg a question, if you go about changing everything in the distro, is it still the system you started with or just a string placeholder?

zypper addrepo -f http://download.opensuse.org/repositories/Kernel:/HEAD/standard/ kernel-repo
Adding repository 'kernel-repo' .......................................[done]
Repository 'kernel-repo' successfully added

zypper dist-upgrade -r kernel-repo

...

The following NEW package is going to be installed:
kernel-default-4.13.rc6-2.1.g43edc52

The following 2 packages are going to be upgraded:
kernel-firmware ucode-amd

The following 2 packages are going to change vendor:
kernel-firmware  openSUSE -> obs://build.opensuse.org/Kernel
ucode-amd        openSUSE -> obs://build.opensuse.org/Kernel


2 packages to upgrade, 1 new, 2  to change vendor.
Overall download size: 106.8 MiB. Already cached: 0 B. After the operation, additional 338.5 MiB will be used.

Kernel update, wip

After the kernel upgrade ...

Some rather interesting findings. One, no more Wireless woes. Two, Bluetooth is still borked. Three, there's a significant performance improvement, and everything is much faster, snappier. Four, occasionally, the system does not wake after suspend.

New kernel

BTRFS still occasionally hogs the system massively, eating resources like mad, during which time the desktop is almost completely unresponsive. I am not sure if BTRFS, despite its impressive technology underpinnings, is suitable for home use. Not unless you have vast amounts of RAM and use RAID. All in all, the default choice is cool but it is an overkill for home use.

BTRFS, high usage

Battery life has improved immensely after the kernel change. We're talking a 50-60% improvement, which is insane. And actually, it begins to compare to some of the lithe and nimble distributions that we've tested in the past.

Battery life, new kernel

Resource usage, on paper remains the same, however, the system is ever so slightly snappier and more responsive. This comes with the penalty of an occasional kernel crash after waking up, and then, Plasma also crashed once.

Plasma crash

Crashed while I was trying to customize the digital clock.

Bluetooth fixes

I was able to fix the Bluetooth functionality - although this has nothing to do with the kernel. It comes down to /dev/rfkill permissions, which you can edit manually or use the rfkill tool for that. More about this in a separate article, which also shows the troubleshooting method and tools involved.

Bluetooth initially disabled

Pair device

File sent

Font rendering

And this is another big one. Horrible fonts. So pale, so weak. There isn't a quick solution to this one, so we will discuss this at length at some point. It is really sad that people have to deal with this nonsense. Fedora fixed its game, so maybe SUSE will one day, too.

Bad fonts

Bad fonts, zoomed

Other niggles

Kate auto-completes words - primarily using various nerdy code functions. Not nice. I didn't like that, as it impedes normal, human typing. Try with the word help then hit Enter, see what gives.

System time wasn't set to update automatically. That's another pointless configuration, which easily could have been avoided. As if the desktop did not have its share of woes so far. Leap 42.3 was not the smoothest ride in the park, I must say.

Light at the end of the tunnel

Now, please note that I've mentioned roughly a dozen different and fairly big problems in this review, hinting at the solutions and some partial workaround. I am going to write a complete, dedicated article on this, similar to my pimping articles, which will detail everything you need to do to tame SUSE and make it into a usable system.

We will fix everything. Except maybe fonts. Maybe.

And on that cliffhanger, let's conclude.

Conclusion

So what do we have here? Well, in the end, I have a working system, with 95% of all my original issues and woes fixed. It took me a single day to do all this. Which means the devs and the QA can do so much more. OpenSUSE Leap 42.3 in its default form is not usable. It has terrible hardware support - all the basics are screwed, wonky package management with conflicts and issues, codec problems, bad customization, performance issues, battery issues, filesystem misbehaving, etc. Completely unusable in this form really.

I managed to overcome all these, because I had a free day and I wanted to see what I can do. But then, my version of SUSE has little with the original. A new kernel, different looks, tons of extra software, lots of configuration changes and fixes. Except the name, it's not really a Leap, now is it. Just a Linux with Plasma and such. Thus, my sad summary is that while my games with openSUSE 42.3 were fun, the core product is not suitable for day to day use. You're better off with Kubuntu or even Fedora. Or anything. The amount of problems here was among the biggest in years. Very sad, because SUSE will always have that special place in my heart. Grade 3/10. With my changes 9/10. And lights.

Cheers.