Mullvad VPN setup guide

TommyTran, Thank you for making the effort to create a guide.

I have not tried yoour guide yet. I feel with some effor on my part, I could get it to work.

I seldom post but I have used Qubes as my daily driver for over 5 years. I have used several VPN over that time. I switched to Mullvad VPN for the past 3. I followed @TommyTran732 guide exactly and the install went flawlessly for me. I’m no expert and parts of it felt a little intimidating but it worked perfect. For the first time I have a seamless Qubes VPN experience.

Thanks for the guide

@TommyTran732

Hi, you also got a script “mullvad.sh”, can I use it instead the first part of the howto or is it outdated?

Also I think there is a typo in it, Line 31:

sudo mkdir /-p etc/systemd/system/systemd-resolved.service.d

Should be:

sudo mkdir -p /etc/systemd/system/systemd-resolved.service.d

Thank you!

Edit:

After running the Fedora-Gnome Script I get the following warning at the end:

sed: can’t read /etc/yum.repos.d/divested-release.repo: No such file or directory

Maybe becuase yum is not installed? Can I simply ignore it?

Sorry for the late reply. Both issues have been fixed fixed.

sed: can’t read /etc/yum.repos.d/divested-release.repo: No such file or directory

Maybe becuase yum is not installed? Can I simply ignore it?

Yeah you can ignore it. I used to have the Divest repo in there. I removed it awhile back but missed removing the sed command.

1 Like

@TommyTran732 I used this guide with great success with Fedora 40. I would like to use it with Fedora 41 and future Fedora releases. What is the best way to accomplish this?

It should work just fine with Fedora 41. I am using it.

In a Fedora 41 template, the command
" $ sudo dnf config-manager --add-repo https://repository.mullvad.net/rpm/stable/mullvad.repo "
results in
" Unknown argument “–add-repo” for command “config-manager”. Add “–help” for more information about the arguments."

Instead I used
" sudo dnf config-manager addrepo --from-repofile=https://repository.mullvad.net/rpm/stable/mullvad.repo "
(from Mullvad VPN for Linux )

Ah yeah I updated my scripts but forgot to update the guide. This should be fixed now.

Hey @TommyTran732,

First of all, thanks for your guide and scripts!

I tried running your QubesOS-Scripts/fedora-gnome/fedora-gnome.sh at main · TommyTran732/QubesOS-Scripts · GitHub script in a newly created template qube based in fedora 41.

However when I run it i get a “rpm transaction failed” error at the line 114 (when trying to remove openh264) at the second to last step of that command.

Do you have any idea why it fails?

I ended up changing:

sudo dnf -y remove openh264 ImageMagick* sane* simple-scan

to:

sudo dnf -y remove ImageMagick* sane* simple-scan

And the rest of the script is still working perfectly.

Once again thanks for your awesome work!

1 Like

I works just fine for me so /shrug

Had the same problem running the trimming script on the Fedora 42 template. Removing openh264 worked, and the script executed successfully. Other than the “rpm transaction failed” error, I ran into no other problems and everything is working.

Thank you for the guide TommyTran.

Thank you very much for providing this guide.

Since fedora templates got updated, I tried to adapt your guide to the latest templates. (As of now this is fedora-43 , version 0:4.3.0-202601041226 ). Unfortunately, I probably ran into an error that I believe is the same error as Antar and redheart have reported.

It seems to be that just a sole sudo dnf remove openh264 triggers a removal of 700+ other packages, including qubes-specific administration packages and others that seem vital to me on first glance. During this transaction the command aborts.

Since I got so surprised about this behavior, wondered what happened - and doubt that it works as intended, I outsourced the openh264 removal into a dedicated thread: