LinuxにCGアーティストとしての作業環境を作りたかった～Houdini / Maya編～

# これはなに？
Linuxド初心者向けRedHatEnterpriseLinux(8.6)でのHoudini/Maya環境構築ガイド。
CGプロダクションじゃないけど個人でLinuxでCG作業環境作ってみたいという変な人向け。

検証と学習をしたかったのでLinuxにCGの作業環境を作ってみたかったが、DCCインストール時に必要なLinuxライブラリ周りの解決で苦労したのでその備忘録です。

## RHELを採用した理由
以下3つ
1. CG業界において採用率が高いCentOS7系が2024年にサポート終了すること
1.  VXPlatformのディストリビューション採用率一覧
1.  Red Hat Developer Subscriptionで16枠まで本番環境でも無料

CentOSの次はRocky LinuxとAlmaLinuxって感じらしいです。過渡期って感じでLinuxの採用が多い大手は大変そうですね！（2022/09/10 執筆時）

**VFX Platform**
https://vfxplatform.com/

**Linuxのそれぞれのディストリビューション採用率**
https://drive.google.com/file/d/12k-YZVHuxJs0LVKH_l6l9nf_qcYLfaLJ/view

**Red Hat Developer Programに参加して最新技術を学習しよう**
https://rheb.hatenablog.com/entry/developer-program

# Maya2022のインストール（とエラー）を確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/426d5f37-719c-3198-4480-2bee24a682c3.png)
まずは公式からインストーラ（``Autodesk_Maya_2022_ML_Linux_64bit.tgz``）をダウンロードする。
https://manage.autodesk.com/products/MAYA

``/Home/user名/Downloads``にファイルがダウンロードされる。
![Screenshot from 2022-09-10 19-13-49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/34b0f3fc-f88f-92d6-c999-1319bb1d94a9.png)

これをコマンド、もしくはダブルクリックで解凍する。ダブルクリックで解凍した場合はファイル名と同じディレクトリが作成されそこにファイルが展開される。
![Screenshot from 2022-09-10 18-27-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/cad79da5-509d-577d-b3c5-fdd8f271be9e.png)
Setupを立ち上げるにはフルパス指定するかcdコマンドでディレクトリを移動して``./Setup``

```shell
cd /home/user名/Downloads/Autodesk_Maya_2022_ML_Linux_64bit
./Setup
```

これで無事Mayaのインストーラが立ち上がるかと思いきやエラーが出て止まります。

>[kino@localhost Downloads]$ cd Autodesk_Maya_2022_ML_Linux_64bit/
[kino@localhost Autodesk_Maya_2022_ML_Linux_64bit]$ ./Setup
Gtk-Message: 18:27:52.392: Failed to load module "canberra-gtk-module"
(中略)
/tmp/download_dest/9843030832441350502/Installer: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory


# Houdini Launcherのインストール（とエラー）を確認
同様にHoudini Launcherをインストールしてみます。
公式サイトからHoudini Launcherのインストーラをダウンロードします。
https://www.sidefx.com/download/
![Screenshot from 2022-09-10 18-22-48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/a6b66ea5-950e-051f-2f96-35a0500ed0c8.png)

Downloadsに``install_houdini_launcher.sh``がダウンロードされます。
![Screenshot from 2022-09-10 18-26-42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/e634b1b0-4f48-bcbd-ae3f-7373e1f74036.png)

cdコマンドでDownloadsに移動してbashで``install_houdini_launcher.sh``を実行する。
```shell
cd /Downloads
sudo bash install_houdini_launcher.sh
```


途中で``Choose a direcotry to install to~``と聞かれるが、Enterでスキップすればデフォルトの``/opt/sidefx/launcher``にインストールされる。
インストールを続けるには``/opt/sidefx/launcher/bin/``に移動して``./houdini_launcher``を実行しろと言われるので言われた通りにする。

>[kino@localhost Downloads]$ bash install_houdini_launcher.sh 
This script installs the Houdini Launcher
Choose a directory to install to (default /opt/sidefx/launcher): 
Installing launcher...
Updating MIME database
install_houdini_launcher.sh: line 314: /etc/xdg/menus/applications-merged/sidefx-launcher.menu: No such file or directory
Installation complete.
To install Houdini, go to /opt/sidefx/launcher/bin/
and run ./houdini_launcher

言われた通りに下のコマンドを実行する
```sh
cd /opt/sidefx/launcher/bin/
./houdini_launcher
```

するとエラーが発生する。
>[kino@localhost Downloads]$ cd /opt/sidefx/launcher/bin
[kino@localhost bin]$ ./houdini_launcher
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: minimal, xcb.
Aborted (core dumped)

どうやらMayaもHoudiniもどちらもQt周りでエラーが出ている模様。
これを解決していく。

# エラーの解決のために必要なLinuxパッケージをインストールする
色々調べたら公式サイトにちょこんと載ってた（~~こういう大事な情報は目立つところに書いておいて欲しいなあ！~~）。

**Maya に必要な追加の Linux ライブラリ**
https://help.autodesk.com/view/MAYAUL/2022/JPN/?guid=GUID-D2B5433C-E0D2-421B-9BD8-24FED217FD7F
>Maya を実行するために必要なすべてのシステム ライブラリおよびフォントが、すべての Linux ディストリビューションに既定でインストールされているわけではありません。CentOS では、yum パッケージ マネージャの yum install コマンドを使用して、システムに含まれていないライブラリおよびフォントをすべてインストールできます。
これらのライブラリの名前は、CentOS に対して固有です。名前は、他の Linux ディストリビューションと異なる場合があります。



**Houdini 19.5 システム環境**
https://www.sidefx.com/ja/Support/system-requirements/
>libxkbcommon-x11, libxcb-iccm4 および libxcb-render-util パッケージが Linux では必要です。
起動時に Qt のエラーが起きる場合、必要な Qt のパッケージがインストールされているか確認してください。
X11 に必要なQt https://doc.qt.io/qt-5/linux-requirements.html

ここに表示されているものを片っ端かれいれれば良いらしい。
ただ結論から言うと**公式に表示されているものだけだと起動しなかった**（よくわからん）。

足りないものはここを参考にした。
**参考：Autodesk Maya 2022 Dependencies**
https://forums.centos.org/viewtopic.php?t=78790

sudo dnf install パッケージ名で片っ端からインストールしていく。
-y オプションを使って全てyesと見なしてインストールすると上手くいかなかった（これもよくわからん）。

## 全部まとめてみた
```shell
sudo dnf install -y glibc
sudo dnf install -y libSM
sudo dnf install -y libICE
sudo dnf install -y zlib
sudo dnf install -y openssl-libs
sudo dnf install -y nss
sudo dnf install -y dbus
sudo dnf install -y libprcre16
sudo dnf install -y mesa-libGLU
sudo dnf install -y mesa-libGLw
sudo dnf install -y gamin
sudo dnf install -y audiofile-devel
sudo dnf install -y e2fsprogs-libs
sudo dnf install -y libcap
sudo dnf install -y libdrm
sudo dnf install -y libmng
sudo dnf install -y flite
sudo dnf install -y speech-dispatcher
sudo dnf install -y cups
sudo dnf install -y libpng15
sudo dnf install -y libXau
sudo dnf install -y libXcomposite
sudo dnf install -y libXcursor
sudo dnf install -y libXext
sudo dnf install -y libXfixes
sudo dnf install -y libXi
sudo dnf install -y libXmu
sudo dnf install -y libXp
sudo dnf install -y libXrandr
sudo dnf install -y libXrender
sudo dnf install -y libXScrnSaver
sudo dnf install -y libxshmfence
sudo dnf install -y libXt
sudo dnf install -y libXtst
sudo dnf install -y libXinerama
sudo dnf install -y libxcb
sudo dnf install -y xcb-util
sudo dnf install -y xcb-util-wm
sudo dnf install -y xcb-util-image
sudo dnf install -y xcb-util-keysyms
sudo dnf install -y xcb-util-renderutil
sudo dnf install -y libxkbcommon
sudo dnf install -y libxkbcommon-x11
sudo dnf install -y libX11
sudo dnf install -y fontconfig
sudo dnf install -y freetype
sudo dnf install -y xorg-x11-fonts-ISO8859-1-75dpi
sudo dnf install -y xorg-x11-fonts-ISO8859-1-100dpi
sudo dnf install -y liberation-mono-fonts
sudo dnf install -y liberation-fonts-common
sudo dnf install -y liberation-sans-fonts
sudo dnf install -y liberation-serif-fonts
sudo dnf install -y libGLw.so.1
sudo dnf install -y libXp.so.6
sudo dnf install -y libXmu.so.6
sudo dnf install -y libXpm.so.4
sudo dnf install -y libXi.so.6
sudo dnf install -y libXinerama.so.1
sudo dnf install -y libfam.so.0
sudo dnf install -y libnss3.so
sudo dnf install -y libXss.so.1
sudo dnf install -y libnsl
sudo dnf install -y libSM.so.6
sudo dnf install -y libssl.so.10
sudo dnf install -y ncurses-compat-libs
sudo dnf install -y compat-openssl10
sudo dnf install -y libcanberra-gtk2


```

# 動いた

コマンドを実行してインストールした後で再度インストーラを起動してみる。
```shell
/home/kino/Downloads/Autodesk_Maya_2022_ML_Linux_64bit/Setup
```

![Screenshot from 2022-09-10 19-03-06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/547cdc71-d866-7b7a-5b9b-501ba6701974.png)


```shell
cd /opt/sidefx/launcher/bin
./houdini_launcher
```

![Screenshot from 2022-09-10 19-06-37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/4012bf7e-0fa4-a8f3-f84f-89bc62806478.png)

無事起動できた。

# Houdiniのホスト名エラー
そのままHoudini License Administratorを起動するとこんなエラーが出る。

![Screenshot from 2022-09-10 20-48-02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/56c1dfc1-56e5-001f-2089-8d30ba38418c.png)
マシンの名前がデフォルトのままだとlocalhostになっているらしく、これはエラーになるらしい。
https://www.sidefx.com/ja/faq/licensing-trouble/#faq551
>License Administrator Error: 無効なマシン名: localhost 
License Administrator Error: invalid machine name: localhost
というエラーが出た場合、コンピュータの名前を localhost 以外に変更してください。
localhost とは、あなたのコンピュータを指す予約されたホスト名で、ループバックネットワークインターフェイス (127.0.0.1) を介してホストで実行されるネットワークサービスにアクセスするために使用されます

以下のコマンドでマシン名を変更する
```shell
sudo hostnamectl set-hostname 新しいマシン名
```
Houdini Lisence Administratorを立ち上げ、File→Change License Server...

![Screenshot from 2022-09-10 21-03-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/a76381ba-4fdc-85f4-1636-4737284578d9.png)

localhostを削除して新しいマシン名（画像ではKino-RHEL(Local Server)）を追加する。
![Screenshot from 2022-09-10 20-49-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/883ff599-e3fd-2ca2-8fac-616477b39ff5.png)



次にライセンスサーバーを再起動して再びHoudini Lisence Administratorを立ち上げる。
```shell
/etc/init.d/sesinetd start
/opt/hfs19.5.303/bin/hkey
```
File→Activate Aoorentuceからライセンスを通して完了。

![Screenshot from 2022-09-10 20-50-46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/96d0864c-fdb8-4069-67d1-3c0744df1cf0.png)


無事に立ち上がったのを確認して完了。
![Screenshot from 2022-09-10 21-08-49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128919/ccdd6fa4-9e4e-2757-cb85-c36187357588.png)