The essential openSUSE pimping guide

Updated: January 13, 2014

I have not been really pleased with the latest release of openSUSE, the autumn season 13.1 Bottle version. It was extremely beautiful and fast, but the integration of various bits and pieces was not done in the best way. All that said, if you can get past the initial obstacles, you can enjoy a pretty decent system.

To wit, and despite my harsh review, so to speak, I am presenting this guide, a pimpage howto that should help you put together a well-oiled, fully functional openSUSE machine, offering all the pleasures and vices of the modern computer usage. If you're inclined, follow me, we will do much the same we did with Salamander some time back.

Teaser

1. Additional repositories

A lot of good stuff in the openSUSE repositories is hidden away. By default, you just get the essential system updates. But if you want the latest virtualization technology, games, browser and office suite updates, and other stuff, you will need to enable these extra sources. This is done by going to YaST, Software Repositories, Add, Community Repositories. More or less as I show below.

Choose community repo

Repositories

Here, you can configure what you need. I'd recommend Packman, updates, games, LibreOffice, Mozilla, and if you have proprietary drivers, then those, too. Here's a screenshot from my Nvidia guide, more to follow in a jiffy.

Nvidia, add

Do not over do it. Don't add everything there is. Multiple repositories provide same packages, so you are bound to have conflicts, which can only be gracefully resolved by skill and expertise, which you might not have. Repository priorities come in play, and we will soon illustrate the problem in greater detail. Overzealous repo clicking has its price.

2. Proprietary graphics drivers

There are several ways you can go about this. First, read my guide, linked just then. Second, manually configure the necessary repositories, again refer just a few paragraphs up. Third, you can also use the 1-Click installer. However, do note that this option was still not available for openSUSE 13.1 at the time this article was written, but it will have changed by the time you read it.

Nvidia 1-Click

3. Multimedia codecs - be careful!

You might also be interested in codecs for your media. No worries. Again, there are many ways you can go about this. Manual installations or 1-Click installers. The second option will depend whether you use KDE or Gnome. The following link offers all of them, including the graphics drivers we have just discussed moments earlier. Another very useful howto is the unofficial guide to openSUSE 13.1, specifically their codecs section.

However, please be careful. Using multiple sources for 1-Click installs can and will break your package dependencies, forcing you to do a bit of juggling, deciding which version you prefer from which vendor. If this happens, please stop. You are probably not skilled enough to make the right choice, and you will most likely botch it.

Codec conflicts

Codec conflicts, zoomed

Instead, I would recommend only using a single extra repository for multimedia stuff, like Packman. It should be more than sufficient for all your needs. The situation is somewhat similar to the kind of problems you may have encountered with the RedHat family, as I've explained in my related guide for Scientific Linux.

If you just want the minimal subset of MP3 and Flash, then you can do it on your own using the command line. The installation command you require is:

zypper install gstreamer-fluendo-mp3 flash-player

4. VLC player

You sure want this one. In fact, after enabling Packman, only install:

zypper install vlc vlc-codecs

The second package is needed in order to get the extra codecs not available by default with the openSUSE distribution. Once you do this, you will be able to enjoy all your audio and video formats without any problems, with all kinds of formats.

VLC works fine

P.S. What happens below does not apply to those who followed the advice above. Now, the bitter alternative, in case you have not listened to me, you might see problems like the one below. First, you will be asked to make a variety of choices, like which version of which package to use, and whether to switch repositories:

Problem: vlc-2.1.1-185.4.x86_64 requires vlc-noX = 2.1.1-185.4, but this requirement cannot be provided
  uninstallable providers: vlc-noX-2.1.1-185.4.i586[ftp.gwdg.de-suse]
                   vlc-noX-2.1.1-185.4.x86_64[ftp.gwdg.de-suse]
 Solution 1: Following actions will be done:
  install vlc-noX-2.1.1-185.4.x86_64 (with vendor change)
    openSUSE  -->  http://packman.links2linux.de
  install vlc-noX-lang-2.1.1-185.4.noarch (with vendor change)
    openSUSE  -->  http://packman.links2linux.de
 Solution 2: do not install vlc-2.1.1-185.4.x86_64
 Solution 3: do not install vlc-2.1.1-185.4.x86_64
 Solution 4: break vlc-2.1.1-185.4.x86_64 by ignoring some of its dependencies

After you make your decision, the package manager will inform you of the changes it's making, and then it will add and remove software as needed to try to accommodate your ambiguity.

The following packages are going to change vendor:
  libvlc5       openSUSE -> http://packman.links2linux.de
  libvlccore7   openSUSE -> http://packman.links2linux.de
  vlc-noX       openSUSE -> http://packman.links2linux.de
  vlc-noX-lang  openSUSE -> http://packman.links2linux.de
  vlc-qt        openSUSE -> http://packman.links2linux.de

However, you will most likely end up with a failing VLC installation and a broken ffmpeg framework, so you won't be able to play a whole bunch of well-known and popular file formats. The solution is to remove all these extra packages, all the extra repositories, enable a single source and work from there.

VLC errors

And the errors will read something like:

No suitable decoder module:
VLC does not support the audio or video format "VP80". Unfortunately there is no way for you to fix this.

Not true. Easy fix. Single repo. No conflicts, and Bob's your uncle, see above. By the way, accidentally, this is a good howto for all VLC users worldwide, regardless what distribution they are running. If you happen to have a case where this fine player tells you of a problem that it supposedly cannot fix, you probably have repository conflicts, and the software is trying to use mismatched versions of different libraries and codecs from these conflicting sources. There you go.

5. DVD support

We will need an extra repository and package - libdvdcss.

DVD support

6. Touchpad

openSUSE 13.1 does not offer an elegant way of controlling or disabling the Touchpad. To this end, you can install the gsynaptics package and use it to make the necessary changes. Again, command line or GUI, as you prefer.

zypper install gsynaptics

Gsynaptics

7. Steam

Similar to what we did with Ubuntu, we do here. There's a 1-Click installer to get you going. Fairly simple all in all. Click and enjoy.

Steam configure repo

Steam, install

And then:

Steam works

8. Skype

Here, we will need to do a bit of manual work. First, resolve dependencies before we attempt to install Skype. If you insist and ignore my advice, you will see something like the screenshot below:

Skype dependencies

We need the following packages, as explained in this guide, plus an extra one, not covered by the tutorial, which is okay, since it was written for openSUSE 12.3 rather than the current family.

zypper install libqt4-32bit libqt4-x11-32bit libpng12-0-32bit libQtWebKit4-32bit xorg-x11-libs libXss1-32bit libpng12-0

But then:

linux-14x8:/home/suse/Downloads # rpm -Uvh skype-4.2.0.11-suse.i586.rpmerror: Failed dependencies:
        libXv.so.1 is needed by skype-4.2.0.11-suse121.i586

And the extra package is:

libXv1-32bit

Now, we can download Skype from the official site and run the installation:

rpm -Uvh <skype>.rpm

If all goes well, you will see something like:

rpm -Uvh skype-4.2.0.11-suse.i586.rpm
Preparing...                   ##################### [100%]
Updating / installing...
   1:skype-4.2.0.11-suse121    ##################### [100%]

And now, you can enjoy Skype:

Skype works

9. GRUB configuration

Feel like editing or updating the bootloader? Well, it's a little different from what you're used to doing in Ubuntu and family. In fact, the GRUB2 setup on openSUSE is very much like Fedora. So if you want to add new operating systems or make any kind of tweak, the update command that you need to run is as follows:

grub2-mkconfig -o /boot/grub2/grub.cfg

More reading

For CentOS fans, a similar treatment:

CentOS, the first installation before going large with my Nvidia-powered laptop

CentOS ceremoniously deployed in my high-end production setup!

CentOS - A perfect desktop pimpage guide leetness level 1337

More CentOS pimping - parts two and three

CentOS upgrades, from 6.0 to 6.1 and 6.2

CentOS + Nvidia card setup 

CentOS with SSD

And if you're not into CentOS at all, then here's just awesome software:

Best Linux software - The latest and greatest compilation

New cool list of Linux must-have programs

Best Linux apps for non-Gnome, non-KDE desktops

Conclusion

Now, I could have split this article into multiple tutorials, one for Steam, one for Skype, one for VLC and related codec problems, but it is best if you get it all from one solid resource, and I'm not so hungry for extra pageviews this may bring. I sort of like you more than my own glory. Just kidding. But still, you get all this in a single, unified kickass guide. If there be demand for more, we will have separate howtos.

Anyhow, this lovely compilation offers a total of eight great suggestions for your daily desktop use with openSUSE 13.1 and friends, including community repositories, graphics drivers, multimedia codecs, DVD support, VLC setup, Steam and Skype both, plus Touchpad and GRUB2 configuration. More than enough for happy computing, right. Moreover, you've learned important tips and tricks about repository conflicts, missing packages, resolving dependencies, and some command line use. Pretty decent. All in all, openSUSE can be tamed and used with grace. Like this.

If you like this article, share. That would be all.

Cheers.