gns3-gui icon indicating copy to clipboard operation
gns3-gui copied to clipboard

Apple silicon M1 support for the GNS3 VM

Open Haterss opened this issue 4 years ago • 54 comments

I got an issue with supporting M1 architect for the GNS3 VM, it just won't run in vm. does anyone have a work around for this issue?

Haterss avatar Oct 29 '21 04:10 Haterss

MacBook Pro M1

Screenshot 2021-10-29 at 12 02 16 PM

Haterss avatar Oct 29 '21 04:10 Haterss

I am not too familiar with this but maybe you must install VMware Fusion for M1?

grossmj avatar Oct 30 '21 10:10 grossmj

I tried all the methods, it seems like I was able to get a hold of VMware Fusion tech preview for M1. But now it seems like the only way for gns3 VM to work, they have to update a copy of GNS3 VM just for M1.

Haterss avatar Oct 31 '21 20:10 Haterss

But now it seems like the only way for gns3 VM to work, they have to update a copy of GNS3 VM just for M1.

This is correct, the current GNS3 VM won't work because everything inside is meant to work on Intel processors. We would have to make a GNS3 VM specifically for the ARM64 architecture (which M1 is based on).

The 2 main problems we have right now is we don't have any apple computer with M1 and we also have to find a way to automate the GNS3 VM build for it (all our VMs are built using circleCI / bare metal servers as a service)

I am thinking about a few solutions:

  • Build on a Intel based metal server and use Qemu ARM64 emulator to build the VM and then manually create the OVA package with scripts. The problem is this is likely to be really slow.

  • Build on an ARM server with KVM Virtualization which should be faster. Still I think there will be a lot of fiddling around to make it right.

  • Build on a M1 server (MacStadium and Scaleway have Mac Mini M1 we could rent on demand) with VMware Fusion for ARM (currently in Public Tech Preview) which I think would be the cleanest solution.

grossmj avatar Nov 03 '21 01:11 grossmj

for what it is worth @grossmj, i am of the opinion that your third dot point is commercially and technically the way to go. i for one, would be more than willing to help out in any way i can to support the ongoing gns3 development.

jnatschev avatar Nov 03 '21 02:11 jnatschev

would be more than willing to help out in any way i can to support the ongoing gns3 development.

Just to double check, does the GNS3 app run correctly on M1? (should automatically use Rosetta 2 I believe) Thanks 👍

grossmj avatar Nov 03 '21 03:11 grossmj

sorry @grossmj, that i can't answer because i don't have an Apple M1-based computer yet. is there a mechanism for a private communicaton by any chance?

jnatschev avatar Nov 03 '21 04:11 jnatschev

would be more than willing to help out in any way i can to support the ongoing gns3 development.

Just to double check, does the GNS3 app run correctly on M1? (should automatically use Rosetta 2 I believe) Thanks 👍

Screenshot 2021-11-03 at 1 26 42 PM Screenshot 2021-11-03 at 1 27 43 PM

Is working correctly for the GNS3 App, my school was kindly able to loan me a laptop for the semester to run a copy of GNS3 VM server. (MY VM is currently off)

Haterss avatar Nov 03 '21 05:11 Haterss

As a first step toward M1 apple silicon support, we now have Debian packages for ARM64 on our ppa (see https://github.com/GNS3/gns3-gui/issues/2419)

grossmj avatar Nov 04 '21 05:11 grossmj

Hi team,

I was able to get GNS3 VM running on a MacBook Air with M1 by using an emulator called UTM. I posted it on the GNS3 community site. Hope this can help you somehow:

https://gns3.com/my-workaround-to-get-gns3-vm-working-on-my-macbook-air-with-m1

kiraberserk avatar Nov 11 '21 13:11 kiraberserk

GNS3 client runs fine on M1 (tested personally) using Rosetta 2.

As for the server portion and it's related packages, won't there still be a problem with virtualization? My understanding is that KVM on ARM64 has all kinds of issues for virtualizing x86_64, which most modern virtualized appliances are built for.

eantowne avatar Nov 11 '21 21:11 eantowne

Hi @eantowne, there has not been any problem for me. I'm running the VM simulating a x86_64 so it works as if it's installed on an AMD64 CPU.

I explained all that in the original post, which I pasted above. Check it out and test it. It's working fine for me.

kiraberserk avatar Nov 11 '21 21:11 kiraberserk

@kiraberserk My comment was not in relation to using UTM, but more to native installation of the server portion on Mac.

Honestly, glad to see that there is a virtualization solution that does work for M1 architecture.

eantowne avatar Nov 11 '21 21:11 eantowne

@kiraberserk Thanks for the workaround 👍 Have you notice any slowness or have you tried to run many nodes?

We will still try to provide a GNS3 VM for ARM64 has it will be a lot better performance wise I think ;)

grossmj avatar Nov 13 '21 06:11 grossmj

@Haterss

Have you been able to import the GNS3 VM OVA using VMware Fusion tech preview for M1?

This is what I get when I try to import:

Screenshot from 2021-11-13 12-07-19

I suspect this is because it is still a preview....

grossmj avatar Nov 13 '21 06:11 grossmj

Build on a M1 server (MacStadium and Scaleway have Mac Mini M1 we could rent on demand) with VMware Fusion for ARM (currently in Public Tech Preview) which I think would be the cleanest solution.

Well that seemed to be the best option until I found out that Apple forces provider (like MacStadium and Scaleway) to lease macOS servers for a minimum of 24 hours... :disappointed: I only need something like 15-20 max to build a GNS3 VM.

So, I used Qemu for aarch64 on my AMD64 computer to create an Ubuntu image and I was successful running it in VMware Fusion tech preview for M1 (I leased that mac mini M1 for 24 hours...) The only problem I faced is I couldn't import any OVA I created into VMware Fusion (see https://github.com/GNS3/gns3-gui/issues/3257#issuecomment-967789420).

grossmj avatar Nov 13 '21 06:11 grossmj

@Haterss

Have you been able to import the GNS3 VM OVA using VMware Fusion tech preview for M1?

This is what I get when I try to import:

Screenshot from 2021-11-13 12-07-19

I suspect this is because it is still a preview....

Hey,

I tried all the method before with Tech Preview, it seems like VMware yet to update their OVA toolkit. So for now they need VM developer to build their VM on ARM64 Architect.

Haterss avatar Nov 13 '21 12:11 Haterss

@kiraberserk Thanks for the workaround 👍 Have you notice any slowness or have you tried to run many nodes?

We will still try to provide a GNS3 VM for ARM64 has it will be a lot better performance wise I think ;)

Yes, It runs slower than what I expected and I haven't done a really big network either.

I think KVM is gonna be the big deal for you guys to get GNS3 VM working native on M1. But hey! I have a Macbook M1 and I could help if you can guide me through. :)

kiraberserk avatar Nov 13 '21 12:11 kiraberserk

@kiraberserk Thanks for the workaround 👍 Have you notice any slowness or have you tried to run many nodes? We will still try to provide a GNS3 VM for ARM64 has it will be a lot better performance wise I think ;)

Yes, It runs slower than what I expected and I haven't done a really big network either.

I think KVM is gonna be the big deal for you guys to get GNS3 VM working native on M1. But hey! I have a Macbook M1 and I could help if you can guide me through. :)

@grossmj

let us know if u need me or @kiraberserk help to build the VM up. My Machine might be slower compare to the new M1 Pro haha

Screenshot 2021-11-13 at 10 57 12 PM

Haterss avatar Nov 13 '21 14:11 Haterss

I managed to build a GNS3 VM for ARM that you can run on macOS M1. Please see https://github.com/GNS3/gns3-gui/discussions/3261 how to use it as well as limitations and other workarounds.

grossmj avatar Nov 19 '21 08:11 grossmj

It would be interesting to compare the speed of the running the x86_64 VM in UTM vs running the ARM64 VM in VMware Fusion, especially with running Qemu based appliances like IOSv, IOSv-L2 etc.

Please @kiraberserk @Haterss could you test that? Thanks :)

grossmj avatar Nov 19 '21 13:11 grossmj

I'd like to, but I don't know how to do it. Can you guide me through it?

kiraberserk avatar Nov 19 '21 13:11 kiraberserk

@kiraberserk please see https://github.com/GNS3/gns3-gui/discussions/3261 you will need a VMware account to download VMware Fusion for M1 from https://customerconnect.vmware.com/downloads/get-download?downloadGroup=FUS-PUBTP-2021H1

Let me know if you have questions.

grossmj avatar Nov 19 '21 13:11 grossmj

Ohh? I will be sure to try it, currently have tons of school work on hand need to submit. So probably tomorrow night will test it and update u guys!

Haterss avatar Nov 19 '21 16:11 Haterss

Screenshot 2021-11-23 at 12 43 20 PM

Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone

Haterss avatar Nov 23 '21 04:11 Haterss

Screenshot 2021-11-23 at 12 43 20 PM

Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone

Screenshot 2021-11-23 at 12 47 33 PM it seems like the Performance is not that bad Layer 3 router seems slightly slow responsive but it works and the temps on the apple silicon is a monster.

Haterss avatar Nov 23 '21 04:11 Haterss

Awesome, thanks for testing this out. Let me know if you have more findings in the next few days 👍

grossmj avatar Nov 23 '21 11:11 grossmj

Screenshot 2021-11-23 at 12 43 20 PM Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone
Screenshot 2021-11-23 at 12 47 33 PM

it seems like the Performance is not that bad Layer 3 router seems slightly slow responsive but it works and the temps on the apple silicon is a monster.

Hey man, can you detail what you did to make it work? I have an interview and I need to use GNS as fast as possible.

Thanks from advance

NineTailed999 avatar Nov 23 '21 15:11 NineTailed999

Screenshot 2021-11-23 at 12 43 20 PM Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone
Screenshot 2021-11-23 at 12 47 33 PM it seems like the Performance is not that bad Layer 3 router seems slightly slow responsive but it works and the temps on the apple silicon is a monster.

Hey man, can you detail what you did to make it work? I have an interview and I need to use GNS as fast as possible.

Thanks from advance

Hey man i followed what @grossmj posted on another forum

Haterss avatar Nov 25 '21 16:11 Haterss

@NineTailed999 this is the post: https://github.com/GNS3/gns3-gui/discussions/3261

grossmj avatar Nov 25 '21 23:11 grossmj