Quartus II from Intel/Altera can be installed on Windows and Linux only.
The solution is to install and run Quartus on a Linux distribution running in a docker container. The X11 graphical interface is channeled to the macOS and viewed with XQuartz.
- Install and run XQuartz
- From XQuartz Preferences, in the Security tab, make sure "Allow connections from network clients" is enabled. Restart XQuartz if you changed this option.
- run
xhost + localhost
in a shell terminal on the host
- You must have downloaded the installation file from altera in the folder where dockerfile resides. (this is a huge file, more than 2G). The link is : https://download.altera.com/akdlm/software/acdsinst/20.1std.1/720/ib_installers/QuartusLiteSetup-20.1.1.720-linux.run
- You must have downloaded the installation file from altera for ModelSim. The link is https://download.altera.com/akdlm/software/acdsinst/20.1std.1/720/ib_installers/ModelSimSetup-20.1.1.720-linux.run
- You must have downloaded the files for your specific FPGA, e.g. : https://download.altera.com/akdlm/software/acdsinst/20.1std.1/720/ib_installers/cyclone10lp-20.1.1.720.qdz
- These pieces of software are licensed material from Intel corporation. Please read the Licence Agreement in QUARTUS_LICENSE. The LICENSE file applies only to the Dockerfile and readme files, and not to these Intel licensed softwares.
- You must have downloaded the sources of the 32bits freetype library. The link is http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.bz2
- In a shell terminal, run
docker build -t quartus .
- NB: don't forget the ending dot !
The resulting docker image will have a size ~15G
Run this shell command: docker run --rm -d -e DISPLAY=host.docker.internal:0 --net=host --volume=$HOME/quartus/config:/root --volume=/shared/folder:/macOS quartus
/shared/folder
is a folder on macOS side (you can choose whatever folder you need). /macOS/shared/folder
is the path of this shared folder inside the docker container, it can be accessed inside Quartus.
$HOME/quartus/config
is a folder on macOS side to persist config data (e.g. preferences) generated by quartus.
The process of launching XQuartz and runing the docker shell command has been bundled into a macOS Quartus ii.app application. The user's home directory is mapped to /macOS inside the linux container.
This app is only a launcher : it bounces in the dock until Quartz and the linux quartus app are up and running, then it disapears from the dock, since Quartus runs now independently in a docker container.