WireGuard (VPN) and Jetson TX2?

Hi all,

Has anyone managed to run WireGuard VPN (https://www.wireguard.com/) on Jetson TX2? It is supposed to be a faster and better alternative to OpenVPN and we would love to test it out on our Jetson. By the looks of it, it would be needed to compile the project with the headers from Tegra.



I haven’t tried to build it, but I see it has a Kconfig instead of a Makefile. Thus it is compiled against the existing kernel as a module rather than as a separate program (there may be separate programs involved, but the git clone is for the part which provides a kernel module making the rest possible).

I see these are configured in the default Jetson kernel:


These are requested in the Kconfig:

select NEON

I suspect there might be an edit needed for “select NEON”, and perhaps “CONFIG_CRYPTO_AES_ARM64_NEON_BLK” would work with tweaks. I haven’t really investigated, but it sounds like NEON is from 32-bit ARM and may need to be edited to instead use a 64-bit version.

It does look like the tool “wg” (a user space tool for controlling WireGuard) is built at the same time the kernel module is built.

You might set up for building a kernel identical to the existing kernel, leaving that source in place, and then seeing what works or fails when building against that source (I’d suggest doing it all natively on the Jetson to avoid any cross-compile issues). This might be of use if you want to try: