Qubes protonvpn issues (bug?)

I’m installing this on a Debian 11 AppVM netqube connected to sys-firewall.

$protonvpn-app
 
2023-12-16T00:58:40.679386 | proton.vpn.app.gtk.app:59 | INFO | APP:PROCESS_START | self=<app.App object at 0x7ad46cd09bc0 (proton+vpn+app+gtk+app+App at 0x19190f0)>
2023-12-16T00:58:40.852586 | proton.vpn.app.gtk.widgets.main.tray_indicator:45 | INFO | AyanaAppIndicator3 not found: Namespace AyatanaAppIndicator3 not available
2023-12-16T00:58:40.852984 | proton.vpn.app.gtk.widgets.main.tray_indicator:53 | INFO | AppiIndicator3 not found: Namespace AppIndicator3 not available
2023-12-16T00:58:40.854865 | proton.vpn.app.gtk.app:201 | INFO | Runtime libraries required not available.
2023-12-16T00:58:41.352099 | proton.vpn.connection.vpnconnector:185 | INFO | CONN:STATE_CHANGED | Disconnected (initial state)
2023-12-16T00:58:41.364921 | proton.vpn.app.gtk.services.reconnector.reconnector:92 | INFO | VPN reconnector enabled.
2023-12-16T00:58:44.903695 | proton.vpn.app.gtk.controller:129 | INFO | APP.STARTUP:STARTUP_ACTIONS | Running startup actions
2023-12-16T00:58:44.904292 | proton.vpn.app.gtk.widgets.vpn.vpn_widget:174 | INFO | APP.VPN:WIDGET_READY | VPN widget is ready (load time: 3.55 seconds)
2023-12-16T00:58:44.904547 | proton.vpn.app.gtk.services.refresher.vpn_data_refresher:148 | INFO | APP.VPN_DATA_REFRESHER:ENABLE | VPN data refresher service enabled.
2023-12-16T00:58:44.904724 | proton.vpn.app.gtk.services.refresher.client_config_refresher:68 | INFO | Client config refresher enabled.
2023-12-16T00:58:44.904912 | proton.vpn.app.gtk.services.refresher.client_config_refresher:107 | INFO | Next client config refresh scheduled in 2:43:43.304777
2023-12-16T00:58:44.905169 | proton.vpn.app.gtk.services.refresher.server_list_refresher:74 | INFO | Server list refresher enabled.
2023-12-16T00:58:44.905378 | proton.vpn.app.gtk.services.refresher.server_list_refresher:126 | INFO | Next server list refresh scheduled in 0:02:38.844012
2023-12-16T00:58:47.185072 | proton.vpn.app.gtk.services.reconnector.reconnector:170 | INFO | Network connectivity was detected.
2023-12-16T00:58:57.155317 | proton.vpn.core.connection:156 | INFO | CONN.CONNECT:START | Server: 185.180.222.89 / Protocol: openvpn-udp / Ports: [80, 51820, 4569, 1194, 5060] / Backend: None
2023-12-16T00:58:57.275500 | proton.vpn.app.gtk.widgets.main.exception_handler:174 | CRITICAL | APP:CRASH | Unexpected error.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/proton/vpn/killswitch/interface/killswitch.py", line 52, in get
    return Loader.get("killswitch", class_name=class_name)
  File "/usr/lib/python3/dist-packages/proton/loader/loader.py", line 113, in get
    raise RuntimeError(f"Loader: couldn't find an acceptable implementation for {type_name}.")
RuntimeError: Loader: couldn't find an acceptable implementation for killswitch.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/proton/vpn/app/gtk/widgets/vpn/serverlist/country.py", line 251, in _on_connect_button_clicked
    self._controller.connect_to_country(self.country_code)
  File "/usr/lib/python3/dist-packages/proton/vpn/app/gtk/controller.py", line 169, in connect_to_country
    self._connect_to_vpn(server)
  File "/usr/lib/python3/dist-packages/proton/vpn/app/gtk/controller.py", line 194, in _connect_to_vpn
    self._api.connection.connect(
  File "/usr/lib/python3/dist-packages/proton/vpn/core/connection.py", line 162, in connect
    self._connector.connect(
  File "/usr/lib/python3/dist-packages/proton/vpn/connection/vpnconnector.py", line 120, in connect
    connection = VPNConnection.create(
  File "/usr/lib/python3/dist-packages/proton/vpn/connection/vpnconnection.py", line 165, in create
    return protocol_class(server, credentials, settings)
  File "/usr/lib/python3/dist-packages/proton/vpn/backend/linux/networkmanager/protocol/openvpn/openvpn.py", line 38, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/proton/vpn/backend/linux/networkmanager/core/networkmanager.py", line 52, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/proton/vpn/connection/vpnconnection.py", line 83, in __init__
    self._killswitch = killswitch or KillSwitch.get()()
  File "/usr/lib/python3/dist-packages/proton/vpn/killswitch/interface/killswitch.py", line 54, in get
    raise MissingKillSwitchBackendDetails(excp) from excp
proton.vpn.killswitch.interface.exceptions.MissingKillSwitchBackendDetails: Loader: couldn't find an acceptable implementation for killswitch.

$protonvpn-cli is the cli version. It gives me an error as well that’s very vague and asks if I’m connected to the internet.

This isn’t the first vpn I’ve had issues with on qubes. I could install this on an android qube but qubes doesn’t seem to allow using android as a net qube. I’m wondering if I’m going to be restricted to qubes friendly vpns like mullvad. I was attracted to qubes for greater control over my anonymity, privacy and how I achieve those things. I don’t feel I have that if I’m limited to special qubes friendly services.

I added code block markup for readability.

Enabling the service network-manager in the qube solves the issue, it seems the app as a strong dependency on network manager service being running.