Bitwig studio on Fedora 32

Bitwig Studio is an amazing cross platform digital audio workstation (DAW). One of its best features, at least for me, is that it works on Linux, which is pretty rare in the professional audio world.

While they say on their website that they support "Linux", what they mean is that they support Debian-based distributions like Ubuntu, as they only provide .deb packages. Fortunately for Fedora users, there's a way to get around that using alien, an application that lets us convert .deb packages into .rpm format.

Unfortunately alien isn't able to convert the package automatically. The theory is that you should be able install alien and run sudo alien -r bitwig-studio-3.2.3.deb, and it will output a working .rpm package. The package it produces looks viable, but when you go to install it dnf produces an error that looks something like this

$ sudo dnf install bitwig-studio-3.2.3-2.x86_64.rpm
Dependencies resolved.
 Package                        Architecture            Version                  Repository                     Size
 bitwig-studio                  x86_64                  3.2.3-2                  @commandline                  183 M

Transaction Summary
Upgrade  1 Package

Total size: 183 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction test error:
  file / from install of bitwig-studio-3.2.3-2.x86_64 conflicts with file from package filesystem-3.14-2.fc32.x86_64
  file /usr/bin from install of bitwig-studio-3.2.3-2.x86_64 conflicts with file from package filesystem-3.14-2.fc32.x86_64

This seems to be the case with every package I've tried converting with alien, it appears to be a bug that's cropped up since its last release in 2016.

It's caused by alien leaving the paths / and /usr/bin in the package's manifest, which are both owned by the filesystem package. As luck would have it, we can work around this too.

In addition to the alien package, we're also going to have to install the rpm-build package.

sudo dnf install alien rpm-build

Then we convert the package to the rpm format, but instead of saving it as a package, we create a directory with the necessary build files.

sudo alien -r -g bitwig-studio-3.2.3.deb

Then we enter the directory, which should be named the same as the debian package minus the .deb file extension. In there we edit the .spec file and remove the offending lines.

--- bitwig-studio-3.2.3-2.spec
@@ -18,7 +18,6 @@
 (Converted from a deb package by alien version 8.95.)

-%dir "/"
 %dir "/usr/"
 %dir "/usr/share/"
 %dir "/usr/share/applications/"
@@ -40,7 +39,6 @@
-%dir "/usr/bin/"
 %dir "/opt/"
 %dir "/opt/bitwig-studio/"

After this we build a binary package using rpmbuild.

sudo rpmbuild --buildroot=/path/to/bitwig-studio-3.2.3/ -bb bitwig-studio-3.2.3-2.spec

You must specify the full path in the --buildroot= argument.

The created .rpm package should now be up a directory, next to the initial .deb file. To install it we run

cd ..   # go up to where the rpm is located
sudo dnf install bitwig-studio-3.2.3-2.x86_64.rpm

In previous version of the Bitwig, there was an issue where it would fail to start, complaining that was missing. This could be solved by creating a symbolic link to the system's version.

sudo ln -s /usr/lib64/ /opt/bitwig-studio/lib/bitwig-studio/

It doesn't seem to be an issue with the latest release, but I'll leave it here in case it happens again.

That's it, Bitwig Studio should be installed and ready to go!