Credits to a Reddit Thread.
This guide is 90% similar but with few more instructions to be beginner friendly...
Mullvad VPN comes with a Fedora RPM package. However, there might be dependencies issues when using it directly on OpenSUSE.
Hence, a good solution is to rebuild the RPM package for OpenSUSE.
- Open a Terminal/Console. (If you like a cleaner workspace, make a new directory, and
cd
into it) - On the Mullvad VPN's website, find the current version of the linux package.
It should be stated as something similar to "Latest version: 2024.2" - Replacing
{VERSION}
with the actual version numbers found, dowget https://mullvad.net/media/app/MullvadVPN-{VERSION}_x86_64.rpm
- Done, check if your current directory has a new file called
MullvadVPN-{VERSION}_x86_64.rpm
.
(Usels
in command line)
This step is optional, but its good for future-proofing purposes, as one can use this step as a way to figure out missing/incompatible packages.
With a terminal in the same directory as the downloaded RPM from step 1, run:
sudo rpm -ivh --test MullvadVPN-{VERSION}_x86_64.rpm
The result will display a similar error message on Tumbleweed or Leap:
error : Dependencies required:
dbus-libs needed by mullvad-vpn-2024.2-1.x86_64
However, as original RPM is build only to be compatible with Fedora, dbus-libs
package must be renamed libdbus-1-3
on
Tumbleweed & Leap, otherwise it will cause the installation to fail. If you force installation by ignoring dependencies,
Mullvad VPN will work but annoying dependencies errors will always be reported later. Is not the recommended method!
Rebuild the RPM for Tumbleweed or Leap with RPMRebuild utility is a much better solution.
For this guide, it will only assume
dbus-libs
is failing, and is replacable withlibdbus-1-3
.
But as more dependecies fail in future versions, you will have to either install them manually, or find alternative dependencies for those...
sudo zypper install rpmrebuild
sudo rpmrebuild -enp MullvadVPN-{VERSION}_x86_64.rpm
This will initiate an editing the RPM package in VIM.
All packages name will be listed in alphabetic order.
With RPMRebuild you'll have just to rename dbus-libs
package (Fedora/CentOS) to libdbus-1-3
(Tumbleweed/Leap equivalence).
- Use arrow keys to go to line #56, search for a line that says
Requires: dbus-libs
- Replace
dbus-libs
in the line, withlibdbus-1-3
- Optionally, you can find a
Requires: libnotify
, and replace it withRequires: libnotify4
. - After modifications are done. Press
ESC
, then:
,w
,q
. Then pressEnter
- You will be back at the RPM package editor, accept the prompt (
y
).
It should display that it has created the package in /usr/src/packages/RPMS/x86_64/
folder.<br>The new RPM filename will be
mullvad-vpn-{VERSION}-1.x86_64.rpm` as well.
cd
/usr/src/packages/RPMS/x86_64/`
(Or whatever other folder the package was created into)sudo rpm -ivh --test mullvad-vpn-2024.{VERSION}.x86_64.rpm
Ideally, it should display:
Verifying... ################################# [100%]
Preparation... ################################# [100%]
However, if there are any uninstalled required dependencies, you can install them with:
sudo zypper install {MISSING_DEPENDENCY_NAME}
Or you can ask your local AI Chatbot on how to install the state dependency for OpenSUSE.
sudo zypper install -f --allow-unsigned-rpm mullvad-vpn-{VERSION}-1.x86_64.rpm
And enjoy!