-
Notifications
You must be signed in to change notification settings - Fork 352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request] Linux ARM support #952
Comments
You should be able to build the system service and the CLI for these platforms pretty easily. We have experimentally built the Sadly we can't prioritize building and distributing ready made binaries for more platforms at the moment, but we hope to expand on this in the future. |
The CLI daemon is perfectly fine for my NAS.
I will try to build it on my NAS and let you know if it worked :)
|
I tried to build the daemon with the instructions from the README. I used the
I checked and made sure that the |
Ah, Ok. Yeah it won't help to install the libraries to your system. We use our own bundled versions that we have statically compiled. These exist in a submodule in So.. These libraries must be built for ARM then as well I guess. Same goes for OpenSSL and OpenVPN. Sadly this complicates stuff a bit. But the README in the binaries submodule ( Remember that to do this you must recursively check out all submodules now, the shallow clone from the README you followed won't be enough now since you need the I hope you get it to work. |
If you manage to get it to work it would be very appreciated if you posted here how you did it. That way it can help others before we release any official builds. It could also help us speed up the implementation of doing these builds officially :) |
Hmmmm, yeah that requires to rebuild each bundled library. If I get stuck, I will let you know :) EDIT: |
Run |
This is the first library that fails the build process. It complains about a too old version of the library. These are my build steps:
|
Have you made sure it did produce/you copied? This is what our own makefile should do for you if you just cd dist-assets/binaries
make libnftnl like the binaries repo readme states |
Alright I tried to build libnftnl
Libnftnl compiles all the way, but at the end this error occurs. For some reason, the library file isn't created? openvpn & update_openssl
OpenVPN seems to use a GCC 64 bit feature, that's not available at ARM 32 bit GCC |
please consider making än official RPI 4 build, thanks. |
I tried to build it on a Raspberry Pi 4 and it crashed during building:
I agree with manderss99: a binary-release for the RPI would be great! |
I too would love to see an official Raspberry Pi build |
All errors posted are from building |
+1 on this, I just ran into the very same compilation error trying to build the app on an Orange Pi Zero (basically a Chinese clone of the Raspberry Pi, armv7 architecture). @faern could you give any more details on how you previously managed to compile |
I suspect last time we successfully built it for ARM was before this functionality was added to |
do you know which version is the latest you think it would compile successfully? as-in, before addition of nftnl-rs functionality |
I have no idea. I have never built |
Unless there are other issues as well, you might use version 0.3 of the nftnl crate, which builds on arm. I.e., update the Cargo.toml files to use this version. |
We upgraded our |
Yeah so the app depends on a number of external things not part of the Rust build chain. For example WireGuard. You will have to check There are probably many more places like this you will run into. The app is kind of built for 64 bit x86 at the moment :/ |
I have managed to build and use mullvad-app on Manjaro Linux on a RPi4 (aarch64) once, if I remember correctly, it was 2020.4-1. I have used the existing Arch Linux AUR packages, I have only updated the PKBUILD file, adding 'aarch64' to the architecture list. It did not manage to generate .deb file, but everything else was fine, I have manually copied the binaries to the system and successfully ran the app. Note: |
The following is a bit off-topic, but it wasn't obvious for me and may help others. You can actually to connect to Mullvad without using the official app or command-line interface at all. You can configure a Wireguard or OpenVPN client to connect directly to their servers. See instructions here: https://mullvad.net/en/help/tag/other-vpn-software/ I just tested on a Pinebook Pro (ARM architecture), and adding the provided Wireguard configuration to NetworkManager works perfectly. Of course having the official app work on ARM would be nice, but it's not required to be able to use the VPN. |
Hey Robin, thanks for the follow-up.
I was aware of these options, both Wireguard and OpenVPN work on ARM. Right now I have configured OpenVPN to connect to the Mullvad servers on my Raspberry Pi. However, in the past, I have experienced problems with WG and OpenVPN, dns leaks or connection hangs on boot or on network connection change (ex. WiFi->Eth).
None of these were happening when using mullvadvpn-app, this is why I would have liked to be able to build mullvadvpn-app on RPi, especially that I have managed to achieve this with an earlier version.
Anyway, supporting another platform is not a walk in the park, so I will patiently wait and hope :)
Cheers!
On July 5, 2020 3:36:04 a.m. GMT+03:00, Robin Lange ***@***.***> wrote:
This is a bit off-topic, but it wasn't obvious for me and may help others.
You can actually to connect to Mullvad without using the official app or command-line interface at all. You can configure a Wireguard or OpenVPN client to connect directly to their servers. See instructions here: https://mullvad.net/en/help/tag/other-vpn-software/
I just tested on a Pinebook Pro (ARM architecture), and adding the provided Wireguard configuration to NetworkManager works perfectly.
Of course having the official app work on ARM would be nice, but it's not required to be able to use the VPN.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#952 (comment)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
|
With Apple moving to ARM processors I'm guessing this will get done soonish. |
I'm able to get past the wg stuff by forcing it to build for aarch64 in env.sh. However I cannot get past: Error: Command failed: bash ./scripts/build-proto.sh Apparently grpc requires x86_64. Would it be possible to compile mullvad without grpc while they work on support? See: grpc/grpc#24002 |
No, but what we're doing is we're building the GRPC code on an x86-64 host and then copying the generated code over to an arm64 host for a build. |
Looks like grpc supports arm now |
Is there any progress on this? I use mullvad and would love to be able to use mullvad on my arm laptop |
@rcunn87 We're using |
Please support arm arch |
It claims to be prebuilt for everything but their ruby module https://grpc.io/blog/grpc-on-arm64/ |
Hopefully they can get that ironed out soonish. I am down to help, but I am no programmer |
@natis1 To clarify what I meant above. gRPC works on ARM64. What @pinkisemils talked about above is More info about why |
Are there any news regarding ARM support? |
Sadly no. We have not taken the time to build the dependencies we need there yet. |
Please do it. Thanks |
As a new Mullvab user, I'd love to see ARM builds too (at least for the CLI tool, missing the GUI would not be a big deal for me). ARM devices are now very widespread and most of the devices I would use Mullvab on are ARM. OpenVPN can work until then, but the flexibility of the CLI or GUI clients would be a lot more convenient. |
The interface looks like it would work well with the PinePhone already, just need an arm64 build |
would love to see arm support added. now there is a serious number of arm devices out there that people are actually using like the pi and all of the new mac devices it would seem like having the gui tool available would be awesome. fortunately you can still grab openvpn config files, but that certainly isnt optimal and lacks a number of features. |
Well, even the |
I had the Was curious how things are now and just found #3474 which solves the shadowsocks issue I mentioned above. That was one of my annoyances with getting mullvad to work on my Pi, that's nifty |
i made a mullvad app gui for wireguard if anyone wants to see: https://github.com/slendermon/ehh |
We now include |
It would be nice to get the Mullvad VPN app and daemon running on ARM platforms.
Support for
armv7hl
andaarch64
would be appreciated!This is ideal for using Mullvad as a VPN on DIY NAS systems. Most of these setup have some kind of SBC like a Raspberry Pi or Odroid running an ARM processor.
The text was updated successfully, but these errors were encountered: