ARM64 support

Got a problem with Viscosity or need help? Ask here!

jwischka

Posts: 1
Joined: Tue Feb 18, 2020 2:50 am

Post by jwischka » Tue Feb 18, 2020 2:54 am
The release notes for 1.8.2 and later show that Viscosity is now supporting ARM64, however when downloading / launching the Windows installer on an ARM64 machine (Surface Pro X), it appears that the x86 version is installed. Is there a separate ARM64 installer that should give an ARM64 native build, or were there just optimizations made to the x86 version to enable it to run emulated on ARM64? The release notes aren't clear. In the case of the second, are there any plans to release a native ARM64 build?

Thanks

James

User avatar
Posts: 2313
Joined: Thu Sep 04, 2008 9:27 pm

Post by James » Tue Feb 18, 2020 10:45 pm
Hi jwischka,

Your connections in Viscosity run as full ARM64 bit code, so all the processing that can be CPU intensive, like encryption/decryption, packet processing, etc., runs natively on ARM machines. So you should find that Viscosity is much more performant, with significantly better battery life, than x86 clients running with emulation.

Viscosity's GUI process is also ready for ARM64, however sadly it will still run as emulated x86 as it links to .NET (which is necessary for things like rendering the user interface using Winforms/WPF). Sadly Microsoft hasn't added ARM support to .NET yet, which is why the Viscosity GUI will run with x86 emulation. However connection processing does not take place in the GUI, so this shouldn't have any noticeable performance or battery life impact.

We were originally hoping Microsoft would have ARM support in .NET by now, so that Viscosity's GUI processes can run as native ARM and reduce the confusion. Sadly Microsoft have scheduled ARM64 support for .NET 5, which is still quite some time away from release.

Because of this, we're currently exploring other options for the GUI, including moving to our own custom ARM64 build of .NET Core (Microsoft's open source version of .NET), or reimplementing the GUI using low-level Win32 API calls. However this is mostly for completeness: your connections in Viscosity 1.8.2 and later will run natively on ARM64 hardware.

Cheers,
James
Web: https://www.sparklabs.com
Support: https://www.sparklabs.com/support
Twitter: https://twitter.com/sparklabs

mbalcerzyk

Posts: 1
Joined: Tue Jun 09, 2020 3:58 am

Post by mbalcerzyk » Tue Jun 09, 2020 4:08 am
I am about to buy Surface Pro X with ARM64. Two questions concerning OpenVPN on it:
1. My university (at vpn.us.es ) insists on the use of OpenVPN client 2.3.1 or even 2.2.2, most likely because they are still free clients. It may be that the OpenVPN server is also old, which I have no idea how to check. I can connect from Android with a modern client. Is there anything in Viscosity 1.8.2 or newer that requires a specific version of the server of OpenVPN?
2. I plan to have Windows Insider build for Windows 10 on that Surface Pro X. Does it impose any limitations with Viscosity?

Regards
Marcin

Eric

User avatar
Posts: 1146
Joined: Sun Jan 03, 2010 3:27 am

Post by Eric » Tue Jun 09, 2020 9:51 am
Hi Marcin,
Tue Jun 09, 2020 4:08 ammbalcerzyk wrote:
1. My university (at vpn.us.es ) insists on the use of OpenVPN client 2.3.1 or even 2.2.2, most likely because they are still free clients. It may be that the OpenVPN server is also old, which I have no idea how to check. I can connect from Android with a modern client. Is there anything in Viscosity 1.8.2 or newer that requires a specific version of the server of OpenVPN?
While there is nothing specific, Viscosity uses OpenVPN 2.4 itself so you may have issues with very old servers, though you should be OK. Please note you have a 30 day built in trial to Viscosity before you need to purchase to evaluate this.
Tue Jun 09, 2020 4:08 ammbalcerzyk wrote:
2. I plan to have Windows Insider build for Windows 10 on that Surface Pro X. Does it impose any limitations with Viscosity?
There are no restrictions from Viscosity in doing this however if you run into problems, we may not be able to help you unless you are on a release version of Windows.

Regards,
Eric
Eric Thorpe
Viscosity Developer

Web: http://www.sparklabs.com
Support: http://www.sparklabs.com/support
Twitter: http://twitter.com/sparklabs
4 posts Page 1 of 1