Skip to content
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

ARM64 support (Linux and macOS) #2959

Closed
10 tasks done
prusnak opened this issue Nov 12, 2020 · 8 comments · Fixed by #4082
Closed
10 tasks done

ARM64 support (Linux and macOS) #2959

prusnak opened this issue Nov 12, 2020 · 8 comments · Fixed by #4082
Assignees

Comments

@prusnak
Copy link
Member

prusnak commented Nov 12, 2020

It should be possible to run Trezor Suite on ARM64 systems:

  • Linux - e.g. Raspberry Pi 4 or Pi 400
  • Windows - e.g. Microsoft Surface Pro X
  • macOS - e.g. the new Macbook Air

Progress:

Landing pages - merged via PR #2969 🎉

  • add arch to download links
  • add arm64 download links

Linux - merged via PR #2969 🎉

  • enable build
  • bundle Tor binary
  • bundle Bridge binary
  • test on real hardware

macOS - PR in #4082

  • enable build
  • bundle Tor binary
  • bundle Bridge binary
  • test on real hardware

We decided to not do Windows ARM64 build for now:

  • BLOCKED by Golang not being able to (cross)compile bridge (Go+C) for Windows/ARM
  • BLOCKED by Electron-builder not able to produce Windows/ARM packages
@prusnak prusnak self-assigned this Nov 12, 2020
@prusnak prusnak changed the title Raspberry Pi (Linux ARM64) support ARM64 support (Linux, Windows, macOS) Nov 12, 2020
@prusnak
Copy link
Member Author

prusnak commented Dec 12, 2020

macOS running on Apple Silicon will be able to run Suite via Rosetta after #3164 is fixed (which should happen just in time for the January release). In the meantime, November's release works just fine on Apple Silicon devices, i.e. only December's release does not work on Rosetta.

@CoelWu
Copy link

CoelWu commented Jul 28, 2021

It seems like Golang 1.16+ add support for darwin/arm64 already. (Compiling From My Intel MacBook Air)

Coels-Air:trezord-go coel$ CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build .
# github.com/trezor/trezord-go/usb/lowlevel/libusb
cgo-gcc-prolog:1186:2: warning: 'libusb_set_debug' is deprecated [-Wdeprecated-declarations]
usb/lowlevel/libusb/c/libusb.h:1351:1: note: 'libusb_set_debug' has been explicitly marked deprecated here
usb/lowlevel/libusb/c/libusb.h:70:50: note: expanded from macro 'LIBUSB_DEPRECATED_FOR'
Coels-Air:trezord-go coel$ file trezord-go 
trezord-go: Mach-O 64-bit executable arm64

@prusnak
Copy link
Member Author

prusnak commented Jul 28, 2021

Right. We can already build Trezor Bridge for arm64-mac. We are still missing tor binary for arm64-mac, though.

@CoelWu
Copy link

CoelWu commented Jul 28, 2021

I found a script that can compile tor into native arm64 format. It's from Brave Browser which also use tor as it's dependencies.

Here is the link: https://github.com/brave/tor_build_scripts

Coels-Air:tor_build_scripts coel$ file /Users/coel/Desktop/tor_build_scripts/arm64/tor-0.4.5.9/root/bin/tor 
/Users/coel/Desktop/tor_build_scripts/arm64/tor-0.4.5.9/root/bin/tor: Mach-O 64-bit executable arm64

Hope this could help :)

@prusnak
Copy link
Member Author

prusnak commented Jul 28, 2021

I prepared the PR in #4082 which adds native bridge and tor binaries enabled native arm64 build for the Suite

Thanks @CoelWu !

@prusnak prusnak changed the title ARM64 support (Linux, Windows, macOS) ARM64 support (Linux and macOS) Jul 28, 2021
@CoelWu
Copy link

CoelWu commented Jul 28, 2021

You're more than welcome! @prusnak

@nix2intel
Copy link

If ya'll need some testers on real hardware let me know! So excited ya'll got this so fast!

@nix2intel
Copy link

I'm on a mac mini m1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants