Migration to OpenSuse

2017-08-15

I started to gradually moving from Ubuntu to Fedora around 2011 after Unity had become the default desktop environment, which seemed to violate my requirements for a productive environment (also the controversy regarding sending search results to Amazon out-of-the-box certainly helped in me making my decision). I had a hard time getting accustomed to the Gnome3 environment as it, in my personal opinion, seemed to value aesthetics over utility with little out-of-the-box customizability options.

I did not learn about Ubuntu derivatives like kubuntu and xubuntu till much later, and instead switched to Fedora. Unfortunately, Fedora soon moved in footsteps of Ubuntu and made Gnome3 its default desktop environment starting Fedora 15. Fortunately, it didn't take long for MATE, a fork of GNOME2, to come out.

Fedora is great, but I had issues with its fast release cycles (6 months) and short(ish) support life (less than 2 years). While upgrading to a new release is possible, I have never felt comfortable doing multiple upgrades and preferred doing a fresh install. In fact, years earlier when I had done a similar update on my main Ubuntu machine, my machine ended up half broken and I ended up having to reinstall from scratch and restore my /home/.

There isn't much I look forward to but to be able to get work done, and in order to be productive, generally I only need my editor, a good terminal emulator, a good package manager, and for the desktop environment to stay out of my way with unnecessary distractions like transitions or full page menus popping up. More recently I decided to consider switching to OpenSuse Tumbleweed on my main laptop. Tumbleweed can be thought of as a 'rollingrelease' Linux distro. This post highlights my initial experience in switching to hopefully my new permanent OS.

Initial Impressions

The initial installation offers a wide set of options for customizing your install, including option to specify in detail what to (and not to) install which you may not need like word processor suits such as LibreOffice, games, etc, lets you choose between NetworkManager or SUSE's default wicked, or select base desktop environment (defaults to KDE).

I had no previous exposure to KDE, but it has been overall pleasant, stable, and more importantly, productive environment. As a bonus, the interface does not look dated out-of-the-box and I required minimal configurations before I was able to be get back to work. I did notice KDE's default launcher, krunner, seldom would crash, but otherwise has provided a very stable environment for working.

Upgrade

For Tumbleweed, there may be 1000s of updates pushed out every few weeks, which can happen e.g. if there is an update to texlive-full installation, or there is an update to gcc which may trigger for everything to be rebuilt. Nonetheless, so far I have not had any breakage.

I did notice few behaviors which caught me offguard:

Package Manager

As alluded to above, the package manager is zypper. The basic commands needed for basic workflows when migrating from dnf/yum:

/tmp

Fedora cleans up /tmp on boot. openSUSE by default does not. Edit /usr/lib/tmpfiles.d/tmp.conf to change the default behavior. See

man tmpfiles.d

for more details.

NVIDIA

If your laptop contains an "optimus"-enabled NVIDIA card with no option to disable in the BIOS you may have had a difficult experience trying to deal with it. While nouveau gets the job done for everyday tasks, as far as I know NVIDIA drivers are needed to use CUDA. As of this writing and to my best of knowledge, NVIDIA still does not offer full optimus support in their propiatory drivers, and instead it can be opted to to have it on all the time. When using them with Fedora, my personal experience was that they were very unstable and crash my system to become completely unresponsive at random times.

There is option to use the open-source drivers (see reference)

Install Mesa-dri-nouveau (it is supposedly unstable)

> xrandr --setprovideroffloadsink 1 0
> xrandr --listproviders
> xrandr --setprovideroffloadsink 1 0
> DRI_PRIME=0 glxinfo | grep  "OpenGL renderer"
> DRI_PRIME=1 glxinfo | grep  "OpenGL renderer"
> DRI_PRIME=1 glxgears
> DRI_PRIME=1 vblank_mode=0 glxgears

Alternatively, to utilize NVIDIA, use Bumblebee by following these instructions. Without performing the steps titled "OPTIONAL: Install NVIDIA driver", I found that it would not work on my system.

SSH

firewalld comes installed by default and it is disabled by default. Unless default SSH port is unblocked during installation, it has to be enabled with appropriate ruleset.

su -c "systemctl start firewalld"

VLC + Codecs

By default and/or depending on your installation selection, there will some codecs missing along the H264. This means that a lot videos on firefox will not work. Existing documentation is well done.

GTK applications

Certain applications such as Inkscape, may have pop-up tooltip's text matching the tooltip's background color resulting in what appears to be "blank" tooltips. See work-around.

Alternatively, the colors may be specified.

Overall

Overall the OS experience, package manager, and the community have been great and I would recommend considering it for your development machine with understanding that some things may break in the many updates.