I’ve been successfully running Bitwig on openSUSE for about a year now. I have been able to successfully install upgrades for Bitwig, and have even switched from openSUSE 13.2 to openSUSE Tumbleweed successfully. Frankly, I am downright amazed by the fact that this is all working.

Bitwig is arguably a game-changer as far as digital audio workstation (DAW) software goes, and impressively, it’s available for Linux. Ubuntu Linux, that is.

So… if it is only released for the Debian-based Ubuntu Linux distribution… how was I able to install it on the RPM-based openSUSE Linux distribution?

Meet Joey Hess, and figure out how to buy him a beer. He authored the Perl script called alien which converts software packages (like a .deb package to an .rpm package!). Following me? Ensure it’s installed on your machine.

Head to Bitwig’s website and download the demo for the Ubuntu platform.

Open up your terminal and get cracking!

Switch to the root user and enter your password:

su

Run the following to convert the Debian-based software package to an RPM-based software package which openSUSE can work with:

alien -r bitwig-studio-1.x.x.deb

Depending on your machine, it may take a while. Perhaps look up Brian Bollman in the mean time. He offers a plethora of video tutorials which will get you up to speed with Bitwig quickly and confidently, regardless of your experience with digital audio workstations or audio in general.

When alien is done, you’ll see something like:

bitwig-studio-1.x.x-x.x86_64.rpm generated 

With the .rpm generated, we can check the dependencies of the package by running the following:

rpm -i --test bitwig-studio-1.x.x-x.x86_64.rpm

Now, the following is going to depend on what you already have installed on your machine. The machine I am testing on is set up in a fairly bare-bones manner, so I anticipate that the majority of people will experience the same:

error: Failed dependencies:
    libavcodec.so.53()(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavcodec.so.53(LIBAVCODEC_53)(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavcodec.so.54()(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavcodec.so.54(LIBAVCODEC_54)(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavformat.so.53()(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavformat.so.53(LIBAVFORMAT_53)(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavformat.so.54()(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libavformat.so.54(LIBAVFORMAT_54)(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libbsd.so.0()(64bit) is needed by bitwig-studio-1.x.x-x.x86_64
    libbsd.so.0(LIBBSD_0.2)(64bit) is needed by bitwig-studio-1.x.x-x.x86_64

This essentially means… for the Bitwig .rpm to install and work correctly, it’s going to depend on the above packages. So, open your YaST and look up these packages. Try searching for libavcodec, libavformat and libbsd. It’s been confirmed that they aren’t there, but maybe you’ll learn something in the process of searching.

Here’s what I found:

screenshot-from-2016-11-22-19-56-36

screenshot-from-2016-11-22-19-58-03

screenshot-from-2016-11-22-19-59-08

With a few basic searches, I learn that libavcodec and libavformat are part of the FFmpeg library, and it looks like openSUSE has a few libavcodec and libavformat packages installed, though not the same ones that Ubuntu uses which Bitwig expects. Another thing I notice is that the failed dependency error we received earlier didn’t explicitly name the package as we’d expect to see in YaST. It looks as though where we are told we require libavcodec.so.53(), when we actually need to look for a package that is named libavcodec53. Lastly, it looks like the libbsd0 package is available in our standard openSUSE repositories, so taking care of this dependency is as easy as checking the box and installing. So go ahead and do that while YaST is open… or close YaST and be explicit in your terminal:

zypper install libbsd0

Now, because I’m not interested in hosting Linux packages, and neither do I want to encourage people to blindly download and install packages from a source they’re not 100% familiar with (including my website), this is where I tell you to spread your wings and fly. Your homework is to find the libavcodec53, libavcodec54, libavformat53 and libavformat54 packages and ensure they are manually and properly installed on your machine.

After completing your homework, run:

rpm -i bitwig-studio-1.x.x-x.x86_64.rpm

And revel in the typing of your final command:

bitwig-studio

Voila!! Bitwig will load, step you through the EULA and prompt you to install any content packages, if you’re interested.

screenshot-from-2016-11-22-21-11-48

Did you experience problems finding and installing the libavcodec53, libavcodec54, libavformat53 and libavformat54 packages? No biggie. As a last resort, you could simply forget about ’em and force Bitwig to install anyways… Not recommended, but on a test machine I was able to successfully run Bitwig even without these dependencies. There are likely to be features of Bitwig which fail to work, but I wasn’t able to find them.

Run the following:

rpm -Uvh bitwig-studio-1.x.x-x.x86_64.rpm --nodeps

Then:

bitwig-studio

Merry beat-making!!