新しくMacBook Neoを購入しました。
Apple謹製のContainerコマンドでVitis / Vivadoが起動するのか試してみます。
前提
前提1: Homebrewの環境
Homebrewをインストールしている環境を前提にします。
Homebrewを使っていない方は各種アプリを手動でインストールします。
前提2: XQuartzの環境
- XQuartzをインストールします:
$ brew install xquartz - XQuartzの設定から"Allow connections from network clients"を有効にします。
- XQuartzを再起動します。
- ネットワーク経由のX11を許可します:
$ /opt/X11/bin/xhost +(セキュリティに注意)
前提3: Rosetta2の環境
$ softwareupdate --install-rosetta --agree-to-license
前提4: コンテナ実行環境の準備
- HomebrewからApple Containerをインストールします:
$ brew install container - コンテナのデーモンを起動します:
$ container system start - ローカルホストを"host.container.internal"として登録します。
$ sudo container system dns create host.container.internal --localhost 203.0.113.113
VivadoをインストールしたDockerイメージを作成する
- Vitis 2025.2 - Linux Self Extracting Web Installerをダウンロードします。
- 何かの方法でinstall_config.txtとwi_authentication_keyを同じフォルダに用意します。
- 同じフォルダに以下のファイルを用意します。
Containerfile
FROM --platform=linux/amd64 ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates coreutils findutils grep sed gawk \
tar xz-utils file \
perl make \
locales \
libstdc++6 libtinfo6 libncurses6 zlib1g \
libx11-6 libxext6 libxrender1 libxtst6 libxi6 \
libxrandr2 libxcursor1 libxinerama1 libsm6 libice6 \
libglib2.0-0 libgtk2.0-0 \
libnss3 libxss1 \
libfontconfig1 libfreetype6 fonts-dejavu-core \
&& ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 \
&& ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5 \
&& locale-gen en_US.UTF-8 \
&& rm -rf /var/lib/apt/lists/*
COPY FPGAs_AdaptiveSoCs_Unified_SDI_2025.2_1114_2157_Lin64.bin /tmp/installer.bin
RUN chmod +x /tmp/installer.bin && /tmp/installer.bin --noexec --target /tmp
COPY install_config.txt /tmp/install_config.txt
COPY wi_authentication_key /root/.Xilinx/wi_authentication_key
RUN /tmp/xsetup --agree XilinxEULA,3rdPartyEULA --batch Install --config /tmp/install_config.txt
コンテナをビルドします(24時間くらいかかりました。。)
$ container build --platform linux/amd64 -t vivado:2025.2 .
Vivadoを起動します
$ container run -it --platform=linux/amd64 -e DISPLAY=host.container.internal:0 --memory=8G vivado:2025.2 /tools/Xilinx/2025.2/Vivado/bin/vivado
ビットストリーム合成中。。。
合成できた!
(記事では2025.2で紹介していますが動かしたのは2025.1です。手元にバイナリがあったからです)

