Ever since a TW update that happened in past mid-month, Mullvad VPN no longer works. The application launches but is unable to establish a VPN connection. I have noticed that it no longer creates a Wireguard connection in my network.
I have tried uninstalling/reinstalling different versions of Mullvad with no success. The only solution that works is rolling back to TW 20250121.
Obviously since Mullvad doesn’t officially support OpenSUSE they are no help, other than suggest that an essential component might have been removed in one of the last updates.
Has anyone else experienced this problem? What changes were made post TW 20250121 that could explain this? I usually update about once a week so it might have been broken a few snapshots later.
2 Likes
Yes, I do too… for a few weeks now. My logs look like this:
sudo journalctl -u mullvad-daemon
gives:
[mullvad_daemon::version][INFO] Starting mullvad-daemon - 2025.2
[mullvad_daemon][INFO] Logging to /var/log/mullvad-vpn
[mullvad_daemon::management_interface][INFO] Management interface listening on /var/run/mullvad-vpn
[mullvad_api::address_cache][DEBUG] Loading API addresses from /var/cache/mullvad-vpn/api-ip-address.txt
[mullvad_api::address_cache][DEBUG] Using API address: 45.83.223.196:443
[mullvad_api::availability][DEBUG] Restarting API inactivity check
[mullvad_api::availability][DEBUG] Stopping API inactivity check
[mullvad_daemon::migrations::v9][INFO] Migrating settings format to V10
[mullvad_daemon::settings][INFO] Loading settings from /etc/mullvad-vpn/settings.json
[mullvad_relay_selector::relay_selector::parsed_relays][DEBUG] Reading relays from /var/cache/mullvad-vpn/relays.json
[mullvad_relay_selector::relay_selector::parsed_relays][DEBUG] Reading relays from /opt/Mullvad VPN/resources/relays.json
[mullvad_relay_selector::relay_selector::parsed_relays][ERROR] Failed to load bundled relays: Failed to open relay cache file
[mullvad_relay_selector::relay_selector][INFO] Initialized with 680 cached relays from 2025-01-22 17:29:52.555
[mullvad_api::availability][DEBUG] Pausing background API requests
[mullvad_daemon::account_history][INFO] Opening account history file in /etc/mullvad-vpn/account-history.json
[mullvad_daemon::target_state][DEBUG] No cached target state to load
[talpid_core::firewall][INFO] Resetting firewall policy
[talpid_core::firewall::imp][DEBUG] Removing table and chain from netfilter
[mullvad_daemon::api][INFO] Initial offline state - online
[mullvad_api::availability][DEBUG] Resuming API requests due to coming online
[mullvad_daemon::version_check][DEBUG] Loading version check cache from /var/cache/mullvad-vpn/version-info.json
[talpid_core::dns][INFO] Resetting DNS
[mullvad_daemon][ERROR] Error: Unable to initialize daemon
Caused by: Unable to initialize split tunneling
Caused by: Unable to initialize net_cls cgroup instance
Caused by: EINVAL: Invalid argument
[talpid_core::tunnel_state_machine][DEBUG] Tunnel state machine exited
[mullvad_daemon][DEBUG] Process exiting with code 1
mullvad-daemon.service: Main process exited, code=exited, status=1/FAILURE
mullvad-daemon.service: Failed with result 'exit-code'.
mullvad-daemon.service: Scheduled restart job, restart counter is at 5.
mullvad-daemon.service: Start request repeated too quickly.
mullvad-daemon.service: Failed with result 'exit-code'.
Failed to start Mullvad VPN daemon.
I guess the issue relies in these cryptic messages:
[mullvad_daemon][ERROR] Error: Unable to initialize daemon
Caused by: Unable to initialize split tunneling
Caused by: Unable to initialize net_cls cgroup instance
Caused by: EINVAL: Invalid argument
I can’t really find any solution about it 
2 Likes
I can confirm. Booting the older 6.12.10 kernel, fixed the issue for me.
2 Likes
Thank you for your help, both qwertzui11 and arvidjaar.
Pardon my ignorance (I’m a relatively recent Windows refugee who is still learning, if it wasn’t obvious enough already), but would manually setting that value in the config file be a temporary fix that could work for me until hopefully the next Kernel update fixes this?
No, this value is used when the kernel is built, not on your system. Unless you need kernel 6.13 for something else, just use 6.12 until 6.13 is fixed.
2 Likes