1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vitis/VivadoをWSL2にインストールする

Last updated at Posted at 2025-01-05

はじめに

Vitis/VivadoのWindows版を使用していたのですが、Linuxの環境で統一したくなったので、WSL2に入れ直しました。

公式にはサポートされてませんが、インストールしている方はいらっしゃるようなので、簡単にできるのではと思ったんですが、私の試したーバージョンでは、Vitisが表示されないという事情もあったので、記事にしておきます。

バージョン

Windows 11 23H2
Vitis/Vivado 2024.2
WSLのOS Ubuntu 24.04

手順

Linux版のインストール方法に従ってインストールします。

ドキュメントに従って必要なパッケージのインストールをする

sudo add-apt-repository ppa:xorg-edgers/ppa 
sudo apt-get update
sudo apt-get install libgl1-mesa-glx
sudo apt-get install libgl1-mesa-dri
sudo apt-get install libgl1-mesa-dev
sudo add-apt-repository --remove ppa:xorg-edgers/ppa
sudo apt install net-tools
sudo apt-get install -y unzip
sudo apt install gcc
sudo apt install g++

vitisをインストール後起動してみたら、次のライブラリーが不足していて起動できませんでした。
WSLのUbuntu 24.04の場合、足りないのだとおもわれます。インストールしておきます。
詳しくは、補足3に記載。
xlsclientsがないと、Vitisが正常に動作しなかったのでx11-utilsをインストールします。

sudo apt-get install libasound2t64
sudo apt-get install libsecret-1-0 libsecret-1-dev
sudo apt install x11-utils

localeに関するエラーが発生するので、en_US.UTF-8をインストールします。次のコマンドを実行しておきます。

sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

Downloadサイトから、 AMD 統合インストーラー (FPGA およびアダプティブ SoC 用) 2024.2: Linux Self Extracting Web Installerをダウンロードして、WSL2のシェルから実行する

ダウンロードしたインストーラをsudoをつけて実行。
デフォルトのインストールディレクトリが/toolsだったので、sudoつけました。
ユーザで書き込めるディレクトリにインストーするのだったら、sudoは不要かもしれません。

INFO Could not detect the display scale (hDPI).
       If you are using a high resolution monitor, you can set the installer scale factor like this:
       export XINSTALLER_SCALE=2
       setenv XINSTALLER_SCALE 2

SCALEを設定すると大きい文字にできるようです。私の環境では、きにならなかったので、このまま進めました。

WSLgが有効になっているのでXサーバ等の考慮は不要で、GUIで表示されるインストール画面が表示されました。
画面の表示に従って、操作します。

インストールが開始されます。

image.png

インストール完了

image.png

指示されたスクリプトを実行

$ cd /tools/Xilinx/Vitis/2024.2/scripts/
$ sudo ./installLibs.sh

インストール完了しました。

.bashrcに次の記述を追加します。

source /tools/Xilinx/Vitis/2024.2/settings64.sh

一度WSLを開きなおして、.bashrcを読み込みます。

vitisを起動してみます。

vitis

しばらく待ってもGuiが何も表示されません。

image.png

プロセスは起動してるのに。

vivadoは、起動しました。

image.png

vitisが起動できない原因判明

※当初、libwebkit2gtkが不足が原因と記載していましたが、再インストールして確認したところ、このライブラリーをインストールする必要はありませんでした。
修正いたします。

/tools/Xilinx/Vitis/2024.2/bin/vitisの205行目を次のように書き換えます

/tools/Xilinx/Vitis/2024.2/bin/vitis
-LD_LIBRARY_PATH=$XILINX_VITIS/lib/lnx64.o:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$XILINX_VITIS/lib/lnx64.o:$LD_LIBRARY_PATH

詳しくは、補足2を参照してください。

vitis起動できました。

image.png

今後の予定

USBのJTAGを使えるようにする必要がありますが、Windows側にhw_serverを起動することで、WSLのvivadoから使えるようにできます。

記事にしました

補足

上に書いた手順は、順調にいった時の手順です。
Vitisのインストールで、次の画面で進捗が止まって進まなくなる事態が起きました。

image.png

この画面から進まないので、Cancelを押したら、インストールしたものが全部削除されました。

  • ダウンロードだけするというオプションがあったのでダウンロードだけして、インストールするした
  • インストールするデバイスを、Zinqだけにしてみた(いまのところこれ以外使わないので)

という対応をしたら、うまく行きました。原因は不明です。
同様の現象が発生した場合は参考にしてみてください。

補足2

$XILINX_VITIS/ide/electron-app/lnx64/vitis-ideこのコマンドで起動するとVitisを起動する事ができました。
違いを調査した結果、Vitisの起動スクリプトで、LD_LIBRARY_PATH$XILINX_VITIS/lib/lnx64.oを追加している事が原因で、Vitisが動作しなくなっていました。
動作しない場合は、次のようなライブラリーのロードエラーが発生していました。

masa@DESKTOP-HP:~$ /home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /lib/x86_64-linux-gnu/libgallium-24.2.8-1ubuntu1~24.04.1.so)
/home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libgallium-24.2.8-1ubuntu1~24.04.1.so)
/home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `GLIBCXX_3.4.28' not found (required by /lib/x86_64-linux-gnu/libgallium-24.2.8-1ubuntu1~24.04.1.so)
/home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by /lib/x86_64-linux-gnu/libLLVM.so.19.1)
/home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM.so.19.1)
/home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libLLVM.so.19.1)
/home/masa/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: /home/masa/tools/Xilinx/Vitis/2024.2/lib/lnx64.o/Ubuntu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /lib/x86_64-linux-gnu/libLLVM.so.19.1)

LD_LIBRARY_PATHにUbuntu24のライブラリーを先に指定する記述を追加して、回避してみました。この方法で、問題ないかどうかはわかりませんが、起動する事はできました。

この状況はWSLに限らない問題のような気がします。
ドキュメントには、Vitisのドキュメントには、Ubuntu24もサポートしているような記述がありますが、Ubuntu24はサポートされていないのでしょうか?

補足3

vitisこのスクリプトでは、$XILINX_VITIS/ide/electron-app/lnx64/vitis-ide起動時にエラーメッセージを/dev/nullに出力して表示していないので、ログを表示するように修正して起動してみました。

masa@DESKTOP-HP:/tools/Xilinx/Vitis/2024.2/bin$ vitis-x

****** Vitis Development Environment
****** Vitis v2024.2 (64-bit)
  **** SW Build 5238363 on 2024-11-08-17:54:51
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
    ** Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.

masa@DESKTOP-HP:/tools/Xilinx/Vitis/2024.2/bin$ /tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory

libasound.so.2を追加。

sudo apt-get install libasound2t64
Error: libsecret-1.so.0: cannot open shared object file: No such file or directory
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1800)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1170:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:5:1800)
    at Module.load (node:internal/modules/cjs/loader:982:32)
    at Module._load (node:internal/modules/cjs/loader:823:12)
    at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
    at Module.require (node:internal/modules/cjs/loader:1006:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at Object.<anonymous> (/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/resources/app/node_modules/keytar/lib/keytar.js:1:14)
    at Module._compile (node:internal/modules/cjs/loader:1110:14) {
  code: 'ERR_DLOPEN_FAILED'
}

libsecret-1.so.0を追加

sudo apt-get install libsecret-1-0 libsecret-1-dev

補足4

Ubuntu22.04の場合は、Vitis起動時に次のエラーが発生

/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
/tools/Xilinx/Vitis/2024.2/ide/electron-app/lnx64/vitis-ide: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory
sudo apt install libnss3
sudo apt install libasound2
sudo apt install libsecret-1-0

参考

https://qiita.com/basaro_k/items/04eea702c83a927f920c
https://qiita.com/GeekMasahiro/items/314e38927d69370ab70d

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?