New-package: Mullvad vpn
- I tested the changes in this PR: yes, in the field.
- This new package conforms to the package requirements: YES
- I built this PR locally for my native architecture, (
aarch64-glibc)
cc #21154
Can we help move this forward somehow?:)
I can also confirm that this package works great for me locally (x86_64-glibc).
@MarkusPettersson98 Thanks! This has been working well for me for a while on Apple silicon. Do you think a pure rust build using gotatun will get released soon for Linux? I was tracking the master branch, hoping to drop go, so that more archs and crossbuild could potentially work.
@MarkusPettersson98 Thanks! This has been working well for me for a while on Apple silicon. Do you think a pure rust build using gotatun will get released soon for Linux? I was tracking the master branch, hoping to drop go, so that more archs and crossbuild could potentially work.
The goal is to switch over to gotatun asap. No specific timeline though, and we will roll it out slowly (most likely do one platform at a time). Switching the Android app over to gotatun has worked out very well and increased our confidence that we are able to move away from wireguard-go completely. There has literally been zero downsides for us this far: Better performance, smaller binary sizes, simpler builds and no crashes (while wggo stood for the majority of crashes in the Android app). We are excited for the future of gotatun.
For the Linux community, dropping wggo will simplify packaging. I know that nixpkgs go to great lengths to work around how we bundle wggo with the daemon atm.
Edit: If you build the app from source with cargo today, it is already the case that gotatun is used instead of wireguard-go*. It should work fine on Linux, but we have not tested or benchmarked it extensively yet. There is a known issue with glibc's malloc and memory fragmentation, but musl is more well-behaved from our testing :)
*On the 2025.14 release branch, you still need to pass --features boringtun when building mullvad-daemon. This won't be necessary in coming releases.
What's the status of this PR? I see a do not merge commit. Are you waiting for a new upstream release?
@meator That commit was just for experimenting with pure rust, it can be dropped. It is already working quite well. @MarkusPettersson98 if I drop the wireguard-go and build 2025.14, the build fails even with that feature. Am I missing smth?