Skip to content

Instantly share code, notes, and snippets.

@jonpalmisc
Last active June 1, 2023 02:55
Show Gist options
  • Save jonpalmisc/e7a276808608a6c83c081acf387307d1 to your computer and use it in GitHub Desktop.
Save jonpalmisc/e7a276808608a6c83c081acf387307d1 to your computer and use it in GitHub Desktop.

Quartus on M1 (Linux) Notes

These are some old notes from when I got Quartus mostly working on M1. Take them with a grain of salt.

Setup details

  • 2021 14" MacBook Pro
  • macOS 13
  • Parallels 18.1.1 (Build 53328)
  • Ubuntu 20.04.5 LTS
  • Quartus Lite 19.1.670
  • ModelSim 19.1.670
  • FEX 2302
  • FEX Ubuntu 20.04 RootFS

Procedure (from what I recall)

  1. Create an Ubuntu VM. You are encouraged to start by assigning the VM only a single core; this should reduce/eliminate the chance of poor TSO emulation breaking an otherwise correct configuration.
  2. Install FEX. If prompted to install a RootFS, use the one listed above.
  3. Unpack the default RootFS via unsquashfs -f -d WorkFS/ Ubuntu_20_04.sqsh, where WorkFS is the name of the directory to unpack to.
  4. Get a shell inside the RootFS and install all of the packages in the RootFS package list with apt. The --allow-unauthenticated flag for APT might be of use to you if you get authentication errors.
  5. Start a FEX Shell (FEXShell) and install Quartus as you normally would.
  6. (Optional) Request luck from your preferred religious deity.
  7. Run Quartus.
  8. Verify the BDF editor, VWF editor, simulator, and programmer work.
  9. ???
  10. Profit?

Appendix

RootFS package list

libc6:i386
expat:i386
libexpat1:i386
fontconfig:i386
libfreetype6:i386
libgtk-3-0:i386
libcanberra0:i386
libice6:i386
libsm6:i386
libncurses5:i386
zlib1g:i386
libx11-6:i386
libxau6:i386
libxdmcp6:i386
libxext6:i386
libxft2:i386
libxrender1:i386
libxt6:i386
libxtst6:i386

Desktop file

GNOME desktop file to place at ~/.local/share/applications/quartus.desktop:

[Desktop Entry]
Type=Application
Version=19.1
Name=Quartus Prime
Comment=Quartus (Quartus Prime 19.1) Lite Edition
Icon=/home/<user>/intelFPGA_lite/19.1/quartus/adm/quartusii.png
Exec=quartus
Terminal=false

Attribution

While this guide was assembled by me (Jon Palmisciano), this knowledge was pulled from a variety of sources and I simply tried things until they worked.

TODO: Reference links.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment