Skip to main content
Topic: MullvadVPN Installation? (Read 3824 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

MullvadVPN Installation?

Hello, I just installed Artix and have most of the apps/programs I use installed without any problems but has anyone got this working on KDE Plasma 6.4.0?
I've tried installing both versions in AUR and have searched the Net for the error below but still haven't found anything that works yet.
Wondering if the difference might be I'm using dinit where in EOS, CachyOS and BigLinux (have it installed in all 3) are systemd?



mullvad.png


Re: MullvadVPN Installation?

Reply #1
Did you install mullvad-vpn-dinit (and enable) or manually start the daemon?
Code: [Select]
/usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
is what the service file is doing.


Re: MullvadVPN Installation?

Reply #2
Did you install mullvad-vpn-dinit (and enable) or manually start the daemon?

I installed mullvad-vpn-dinit but maybe I didn't enter the command to enable/start it correctly?
Code: [Select]
blucheer:[blucheer]:~$ dinitctl enable mullvad-daemon.service
dinitctl: connecting to socket: /run/user/1000/dinitctl: No such file or directory
dinitctl: perhaps no user instance is running?






Re: MullvadVPN Installation?

Reply #3
I installed mullvad-vpn-dinit but maybe I didn't enter the command to enable/start it correctly?
Do it as root.
Not sure if your command is correct or not as I don't use dint. But just try adding sudo at the start.

Re: MullvadVPN Installation?

Reply #4
Do it as root.
Not sure if your command is correct or not as I don't use dint. But just try adding sudo at the start.

Using sudo gets a little different error...
Code: [Select]
blucheer:[blucheer]:~$ sudo dinitctl enable mullvad-daemon.service
dinitctl: failed to find service description.
dinitctl: check service description file exists / service name spelling.



Re: MullvadVPN Installation?

Reply #7
Try the command I mentioned as root.
Code: [Select]
/usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
Does it work after that?

Re: MullvadVPN Installation?

Reply #8
Try the command I mentioned as root.
Code: [Select]
/usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
Does it work after that?
Doesn't seem to do anything...
Code: [Select]
blucheer:[blucheer]:~$ sudo blucheer:[blucheer]:~$ /usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
>

Re: MullvadVPN Installation?

Reply #9
Did you try the Gui program afterwards ?
You need the daemon running but it's not going to do much that you'd notice visually on the command line unless there were problems which if you posted all the output there doesn't seem to be.

Re: MullvadVPN Installation?

Reply #10
Yes no change, still same error message.

Re: MullvadVPN Installation?

Reply #11
idk then sorry.

Re: MullvadVPN Installation?

Reply #12
Try the command I mentioned as root.
Code: [Select]
/usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
Does it work after that?
Doesn't seem to do anything...
Code: [Select]
blucheer:[blucheer]:~$ sudo blucheer:[blucheer]:~$ /usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
>

Reason why it's not doing anything is because of the unclosed double quotation. Bash (or whichever shell you're using) is waiting for that double quote to be closed:

/usr/bin/mullvad-daemon" -v --disable-stdout-timestamps

Either close that quotation or remove the opening quotation: (I recommend just removing it.)

Code: [Select]
/usr/bin/mullvad-daemon -v --disable-stdout-timestamps

 

Re: MullvadVPN Installation?

Reply #13
Reason why it's not doing anything is because of the unclosed double quotation. Bash (or whichever shell you're using) is waiting for that double quote to be closed:
/usr/bin/mullvad-daemon" -v --disable-stdout-timestamps
Either close that quotation or remove the opening quotation: (I recommend just removing it.)
Code: [Select]
/usr/bin/mullvad-daemon -v --disable-stdout-timestamps
Thx, this got the daemon running but with errors.
I'm not sure how to exit out of the terminal to keep it running so I don't have to restart it every time?

Code: [Select]
blucheer:[blucheer]:~$ sudo /usr/bin/mullvad-daemon -v --disable-stdout-timestamps
[sudo] password for blucheer:
[mullvad_daemon::version][INFO] Starting mullvad-daemon - 2025.7 2025-06-23
[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_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 /usr/bin/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 734 cached relays from 2025-06-28 06:13:23.823
[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][INFO] Automatically connecting since auto-connect is turned on
[mullvad_daemon::api][INFO] Initial offline state - online
[mullvad_daemon::version_check][DEBUG] Loading version check cache from /var/cache/mullvad-vpn/version-info.json
[mullvad_api::availability][DEBUG] Resuming API requests due to coming online
[mullvad_api::access][DEBUG] Fetching access token for an account
[mullvad_api::rest][ERROR] Error: HTTP request failed
Caused by: Legacy hyper error
Caused by: client error (Connect)
Caused by: Connection refused (os error 111)
[mullvad_api::rest][ERROR] Error: HTTP request failed
Caused by: Legacy hyper error
Caused by: client error (Connect)
Caused by: Connection refused (os error 111)
[mullvad_relay_selector::relay_selector::detailer][INFO] Selected Shadowsocks bridge us-mia-br-101 at 146.70.183.34:1234/UDP
[mullvad_api::access_mode][INFO] A new API access method has been selected: Mullvad Bridges
[talpid_core::firewall][INFO] Applying firewall policy: Connecting to 146.70.187.66:31643/UDP, Allowing LAN, interface: none. Allowing endpoint 45.83.223.196:443/TCP
[talpid_core::firewall][INFO] Applying firewall policy: Connecting to 146.70.187.66:31643/UDP, Allowing LAN, interface: none. Allowing endpoint 146.70.183.34:1234/TCP
[mullvad_api::availability][DEBUG] Resuming background API requests
[mullvad_daemon][DEBUG] New tunnel state: Connecting { endpoint: TunnelEndpoint { endpoint: Endpoint { address: 146.70.187.66:31643, protocol: Udp }, tunnel_type: Wireguard, quantum_resistant: true, proxy: None, obfuscation: None, entry_endpoint: None, tunnel_interface: None, daita: false }, location: Some(GeoIpLocation { ipv4: None, ipv6: None, country: "USA", city: Some("Miami, FL"), latitude: 25.761681, longitude: -80.191788, mullvad_exit_ip: true, hostname: Some("us-mia-wg-102"), bridge_hostname: None, entry_hostname: None, obfuscator_hostname: None }), feature_indicators: FeatureIndicators(["LAN Sharing", "Quantum Resistance"]) }
[mullvad_daemon][DEBUG] Settings: openvpn mssfix: unset, wg mtu: unset, wg ip version: any, multihop: off, ipv6 (tun): off, lan: on, pq: auto, obfs: auto, dns: default
[mullvad_api::rest][ERROR] Error: HTTP request failed
Caused by: Legacy hyper error
Caused by: client error (Connect)
Caused by: Connection refused (os error 111)
[talpid_wireguard][DEBUG] Tunnel MTU: 1380
[mullvad_encrypted_dns_proxy::state][ERROR] Failed to fetch a new proxy configuration: ResolutionError(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }) }) })
[mullvad_daemon::api][WARN] Failed to fetch new Encrypted DNS Proxy configurations
[mullvad_daemon::api][DEBUG] FetchConfigError(
    ResolutionError(
        ResolveError {
            kind: Proto(
                ProtoError {
                    kind: Io(
                        Os {
                            code: 111,
                            kind: ConnectionRefused,
                            message: "Connection refused",
                        },
                    ),
                },
            ),
        },
    ),
)
[mullvad_daemon::api][WARN] Could not select next Encrypted DNS proxy config
[mullvad_api::access_mode][INFO] A new API access method has been selected: Encrypted DNS proxy
[talpid_dbus::network_manager][DEBUG] /etc/resolv.conf differs from reference resolv.conf, therefore NM is not managing DNS
[talpid_wireguard][DEBUG] Using kernel WireGuard implementation through netlink
[talpid_core::firewall][INFO] Applying firewall policy: Connecting to 146.70.187.66:31643/UDP, Allowing LAN, interface: none. Allowing endpoint 45.83.223.196:443/TCP
[mullvad_daemon::management_interface][DEBUG] Broadcasting access method event
[mullvad_daemon::management_interface][DEBUG] Broadcasting access method event
[talpid_core::firewall][INFO] Applying firewall policy: Connecting to 146.70.187.66:31643/UDP over "wg0-mullvad" (ip: 10.134.254.115, v4 gw: 10.64.0.1, v6 gw: None, allowed in-tunnel traffic: 10.64.0.1:1337/TCP), Allowing LAN. Allowing endpoint 45.83.223.196:443/TCP
[talpid_routing::imp::imp][DEBUG] Adding routes: {RequiredRoute { prefix: V4(Ipv4Network { addr: 10.64.0.1, prefix: 32 }), node: RealNode(Node { ip: None, device: Some("wg0-mullvad") }), main_table: true, mtu: None }}
[talpid_wireguard::ephemeral][DEBUG] Requesting ephemeral peer
[talpid_tunnel_config_client][DEBUG] Connecting to relay config service at 10.64.0.1
[talpid_tunnel_config_client::socket::sys][DEBUG] Tunnel config TCP socket MSS: 496
[talpid_tunnel_config_client][DEBUG] Connected to relay config service at 10.64.0.1
[talpid_tunnel_config_client][DEBUG] Generated quantum-resistant key exchange material in 9 ms
[talpid_wireguard::ephemeral][DEBUG] Retrieved ephemeral peer
[talpid_tunnel_config_client::socket_sniffer][DEBUG] Tunnel config client connection ended. RX: 16128 bytes, TX: 9145 bytes, duration: 0 s
[talpid_core::firewall][INFO] Applying firewall policy: Connecting to 146.70.187.66:31643/UDP over "wg0-mullvad" (ip: 10.134.254.115, v4 gw: 10.64.0.1, v6 gw: None, allowed in-tunnel traffic: All), Allowing LAN. Allowing endpoint 45.83.223.196:443/TCP
[talpid_wireguard::mtu_detection][DEBUG] Starting MTU detection
[talpid_wireguard::mtu_detection][DEBUG] MTU 1380 verified to not drop packets
[talpid_routing::imp::imp][DEBUG] Adding routes: {RequiredRoute { prefix: V4(Ipv4Network { addr: 0.0.0.0, prefix: 0 }), node: RealNode(Node { ip: None, device: Some("wg0-mullvad") }), main_table: false, mtu: None }}
[talpid_core::firewall][INFO] Applying firewall policy: Connected to 146.70.187.66:31643/UDP over "wg0-mullvad" (ip: 10.134.254.115, v4 gw: 10.64.0.1, v6 gw: None), Allowing LAN
[talpid_core::dns][INFO] Setting DNS servers: Tunnel DNS: {10.64.0.1} Non-tunnel DNS: {}
[talpid_core::dns::imp][DEBUG] Can't manage DNS using systemd-resolved: systemd-resolved operation failed
[talpid_dbus::network_manager][DEBUG] /etc/resolv.conf differs from reference resolv.conf, therefore NM is not managing DNS
[talpid_core::dns::imp][DEBUG] Can't manage DNS using NetworkManager: NetworkManager is not managing DNS
[talpid_core::dns::imp][DEBUG] Can't manage DNS using resolveconf: Failed to detect 'resolvconf' program
[talpid_core::dns::imp::static_resolv_conf][INFO] Restoring DNS state from backup
[talpid_core::dns::imp][DEBUG] Managing DNS via /etc/resolv.conf
[mullvad_daemon][DEBUG] New tunnel state: Connected { endpoint: TunnelEndpoint { endpoint: Endpoint { address: 146.70.187.66:31643, protocol: Udp }, tunnel_type: Wireguard, quantum_resistant: true, proxy: None, obfuscation: None, entry_endpoint: None, tunnel_interface: Some("wg0-mullvad"), daita: false }, location: Some(GeoIpLocation { ipv4: None, ipv6: None, country: "USA", city: Some("Miami, FL"), latitude: 25.761681, longitude: -80.191788, mullvad_exit_ip: true, hostname: Some("us-mia-wg-102"), bridge_hostname: None, entry_hostname: None, obfuscator_hostname: None }), feature_indicators: FeatureIndicators(["LAN Sharing", "Quantum Resistance"]) }
[mullvad_daemon::geoip][DEBUG] Fetching GeoIpLocation
[hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", ipv4.am.i.mullvad.net)
[mullvad_api::access][DEBUG] Fetching access token for an account
[hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.mullvad.net)
[hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.mullvad.net)
[hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.mullvad.net)
[mullvad_daemon::management_interface][DEBUG] get_account_history
[mullvad_daemon::management_interface][DEBUG] get_tunnel_state
[mullvad_daemon::management_interface][DEBUG] get_device
[mullvad_daemon::management_interface][DEBUG] get_settings
[mullvad_daemon::management_interface][DEBUG] get_account_data
[mullvad_daemon::management_interface][DEBUG] update_device
[mullvad_daemon::management_interface][DEBUG] get_account_history
[hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.mullvad.net)
[mullvad_daemon::management_interface][DEBUG] get_current_api_access_method
[mullvad_daemon::management_interface][DEBUG] get_relay_locations
[mullvad_daemon::management_interface][DEBUG] get_current_version
[mullvad_daemon::management_interface][DEBUG] get_version_info
[hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.mullvad.net)
[mullvad_daemon::device][DEBUG] The current device is still valid
[hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.mullvad.net)
[hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.mullvad.net)
[hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.mullvad.net)
[hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.mullvad.net)
[mullvad_daemon::relay_list][DEBUG] Relay list is up-to-date
[mullvad_daemon::leak_checker][DEBUG] Attempting to leak traffic on interface Name("eth0") to 146.70.187.66:31643/UDP
[mullvad_leak_checker::traceroute::unix::linux][DEBUG] Binding socket to Name("eth0")
[mullvad_leak_checker::traceroute::unix][DEBUG] Sending probe packets (ttl=1..4)
[mullvad_leak_checker::traceroute::unix][DEBUG] send_to failed, was probably caught by firewall
[mullvad_daemon::leak_checker][DEBUG] No leak detected
[hyper_util::client::legacy::client][DEBUG] client connection error: connection closed before message completed


Re: MullvadVPN Installation?

Reply #14
I use dinit as well (with xfce) and had similar problems when coming over to Artix. I found the simplest and fastest option was just to use the cli version of Mullvad. It's already on your system as it comes with the app version. Just have to write a simple dinit-script (like 4 lines) and it runs perfectly. The Mullvad website also has loads of info on using just the cli. It's also lighter than using the gui.

Once you have it setup, you just login to your account (in the terminal) then you can do things like set it to connect at boot, to allow local network and change dns settings for blocking whatever you want. It's very easy and way more simple than trying to get the app working.

I would also recommend just "trying" the cli from the terminal as it's a lot more straightforward. Try resetting everything from the terminal

Code: [Select]
mullvad factory-reset

Then start from there (still in the terminal). Login to your account.

Code: [Select]
mullvad account login 1234123412341234

and then proceed to turn things on (& off if something doesn't work as it should) & see how it goes.

Plenty of help here .