VpnHood!

Linux requirements

What a machine needs to run VpnHood! CLIENT or VpnHood! CONNECT on Linux: one of the systems below, with systemd, and an x64 or ARM64 processor.

Distributions

The apps run on x64 and ARM64. They install and start on these distributions; the ones built on them, and others with systemd and glibc, should also work:

DistributionVersions
Ubuntu22.04, 24.04, 26.04
Debian12, 13
AlmaLinux8, 9, 10
Rocky Linux9
CentOS Stream9, 10
Fedora43, 44
openSUSE Leap16.0
Amazon Linux2023
Arch LinuxRolling release, kept up to date

Not supported: Alpine and the other distributions built on musl instead of glibc. The installer finishes there, but the app cannot start.

What the system needs

  • Root access to install the app, and systemd, which runs its VPN service.
  • An administrator's account to use it: root, or a member of the sudo, wheel or admin group. A line in the sudoers file is not enough.
  • A TUN device for the VPN, which nearly every machine has.
  • A way to set the VPN's DNS, which the installer does not add: systemd-resolved, turned on, or resolvconf. Without one, the app cannot connect, and its error says what to do. Many systems have systemd-resolved turned off, so check this first.
  • For the kill switch, nftables, which the installer adds, and cgroup v2. Without them, the app says so and does not connect while the kill switch is on.
  • For QUIC, MsQuic, which the installer adds. Where it cannot, as on Amazon Linux 2023, the app connects without QUIC.
  • For the window, a desktop. The installer adds the libraries the window needs. Without a desktop, you get the VPN service and the commands.
  • VpnHood! CONNECT signs in from its window, so for now it needs a desktop.

Processor

An ARM64 processor, or an x64 processor with SSE4.2 and POPCNT, as .NET 11 requires. Every x64 processor from the last ten years has them, but some VPS providers hide them behind a basic virtual processor, which Linux names Common KVM processor. On such a machine the server stops as soon as it starts, with the error The current CPU is missing one or more of the following instruction sets.

To check an x64 Linux machine, run this on it:

grep -qw sse4_2 /proc/cpuinfo && grep -qw popcnt /proc/cpuinfo && echo Supported || echo "Not supported"

If it prints Not supported, ask your provider to change the machine's CPU type to host or x86-64-v2. If they cannot, choose another provider.

Next steps