NUKEを使うためのCentOSのセットアップのノート。
LinuxでNUKEを動かすための大枠はFoundryのサイトに記載されています。
Foundry - Install > Linux
https://learn.foundry.com/nuke/content/getting_started/installation/linux.html
インストールの具体的な手順までは書かれていませんが、システム要件などはここで確認できます。
NUKEを使う上で同じマシンで使うのであればCentOSの方がWindowsより高速です。
YouTubeに比較動画がありしたので掲載しておきます。
LinuxでNUKEを動かすための大枠はFoundryのサイトに記載されています。
Foundry - Install > Linux
https://learn.foundry.com/nuke/content/getting_started/installation/linux.html
インストールの具体的な手順までは書かれていませんが、システム要件などはここで確認できます。
NUKEを使う上で同じマシンで使うのであればCentOSの方がWindowsより高速です。
YouTubeに比較動画がありしたので掲載しておきます。
CentOS7.6をインストール
一般的なインストール手順は省きます(いっぱい参考にできるサイトはありますので)。今回使用するハードウェアは
Intel Core i9 9900K
メモリ64GB
SSD NVMe 500GB(CentOS用)
SSD NVMe 500GB(Windows10用)
SSD SATA 1TB(作業用)
NVIDIA GeForce GTX 1080
という構成です。ごく一般的なPCです。
これにBlackmagicのDecklink mini monitorを追加しています。
Windows10とデュアルブートにしたいので、最初にWindows10をインストールしておきます。同じSSDにパーテーションをわけてWindowsをインストールするのは面倒なのでお勧めしません(というか、やりたくありません)。
別のSSDの場合は先にWindowsをインストールしておけばCentOSのブートローダーにWindowsも登録されて、起動を切り替えられます。
Flameの場合は、デスクトップ環境はKDEですが、Flameをインストールするのでなければ、GNOMEでいいんじゃないかと思います。CentOS8(RHEL8)ではKDEが非推奨になっているようです。
パーテーションはAutodeskの様に
/
/boot
/boot/efi
/swap
という感じで、システムデータとユーザーデータ(home)をわけていません。ワークステーションとして使用する場合には、/homeを切り分けない方がディスクの使用効率もよくなります。
基本的にはWorkstation用のセットに色々追加する感じでインストールするアプリケーションを設定していきました。後々必要になるHyperVisorや開発用ツールなどもあらかじめインストールしておきました。
インストール完了後NUKEなどのアプリケーションをインストールしていくのですが、その前にNVIDIAのグラフィックドライバをインストールするという作業があります。
これがCentOSの場合結構面倒です。逆に言えば、これさえ乗り越えればその先はそれほど面倒ではありません。
NVIDIAのドライバーをインストールする
ドライバをインストールする前に、予め依存関係で必要になるであろうパッケージをインストールしておきます。経験上、これらはNVIDIAのドライバやアプリケーションのインストール中に都度入れようとすると色々面倒なことが起こる可能性があるので、最初にインストールまたはアップデートしてしまいます。
$su -
#yum update
#yum -y install kernel-devel kernel-headers
#yum -y install gcc make git pciutils tmux
#yum -y install epel-release
#yum -y install dkms
(行頭の$, #はプロンプトです)#yum update
#yum -y install kernel-devel kernel-headers
#yum -y install gcc make git pciutils tmux
#yum -y install epel-release
#yum -y install dkms
再起動してNVIDIAのドライバのインストールをします。
NVIDIAのサイトから最新のLinux 64bit用ドライバーをダウンロードしておきます。ダウンロード先は、ユーザーディレクトリ直下などわかりやすいところにしておきます。
NVIDIA - DOWNLOAD DRIVERS
https://www.nvidia.com/Download/index.aspx
CentOSではNVIDIAのドライバをインストールしていない状態ではnouveauという汎用ドライバが動いています。lsmodで確認します。
$ lsmod | grep nouveau
nouveau 1869689 12
mxm_wmi 13021 1 nouveau
i2c_algo_bit 13413 1 nouveau
drm_kms_helper 179394 1 nouveau
ttm 114635 1 nouveau
drm 429744 7 ttm,drm_kms_helper,nouveau
video 24538 2 nouveau,asus_wmi
wmi 21636 4 mxm_wmi,nouveau,intel_wmi_thunderbolt,asus_wmi
(行頭の&, #はプロンプトです)nouveau 1869689 12
mxm_wmi 13021 1 nouveau
i2c_algo_bit 13413 1 nouveau
drm_kms_helper 179394 1 nouveau
ttm 114635 1 nouveau
drm 429744 7 ttm,drm_kms_helper,nouveau
video 24538 2 nouveau,asus_wmi
wmi 21636 4 mxm_wmi,nouveau,intel_wmi_thunderbolt,asus_wmi
nouveauを無効化して起動するための起動イメージを作成。管理者(su)で行います。
$su
#mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
#dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)
#mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
#dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)
起動時にnouveauが自動ロードされないようにnouveauをブラックリストに登録。
#echo 'blacklist nouveau' >> /etc/modprobe.d/modprobe.conf
#echo 'blacklist nouveau' >> /etc/modprobe.d/nouveau_blacklist.conf
#echo 'blacklist nouveau' >> /etc/modprobe.d/nouveau_blacklist.conf
作成した起動イメージで再起動するのですが、その前にGUIが起動させずにCUIで起動するように設定。
#systemctl set-default multi-user.target
(行頭の$, #はプロンプトです)
注:nouveauだと、システム構成によってはGUIの動作が不安定になることがあります。その場合は、最初の段階でCUI(multi-user.target)に切り替えてしまうほうがよいです。
以下のメッセージが出ればGUIでなくCUIマルチユーザーモードでの起動変更完了です。
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
再起動します。
GUIは立ち上がらずCUIでのログイン画面になったと思います。
先ほどダウンロードしておいたNVIDIAのドライバのインストーラーを実行します。home直下に保存してあれば、ログイン直後のカレントディレクトリ内にあります。
管理者(su)で実行。
$su
#chmod 755 NVIDIA-Linux-x86_64-430.50.run
#NVIDIA-Linux-x86_64-430.50.run
#chmod 755 NVIDIA-Linux-x86_64-430.50.run
#NVIDIA-Linux-x86_64-430.50.run
NVIDIA-Linux-x86_64-430.50.runのあるパスに移動して実行しています。
(行頭の$, #はプロンプトです。ドライバのファイル名はダウンロードしたものに準じてください)
いくつか選択肢が表示されますので適宜選択していきます。全部[Yes]でもいいと思いますが、私は32bitライブラリはインストールしませんでした。
ドライバのインストールが完了したら、GUIでの起動に戻して再起動。
#systemctl set-default graphical.target
#reboot
#reboot
GUIが起動したら、ターミナルで
$nvidia-settings &
でNVIDIAの設定パネルが起動。
CentOSではカーネルをアップデートした場合や、GPUに依存するようなアプリケーションをインストールした際に、グラフィックドライバが正常に機能しなくなったりします。
dkmsを更新するようなアプリケーションはNVIDIAのドライバのトラブルが発生しやすいです。
もしNVIDIAのドライバが正常に動作しない(GUIの表示が崩れるなどの問題が発生した)場合は、一度[Ctrl]+[Alt]+[F2]でCUIを起動し、NVIDIAのドライバインストール時に行ったようにCUIモードで再起動させてから、再度NVIDIAのドライバの再インストールをする必要があります。
再インストール前に古いドライバのアンインストールを行ったほうがいいです。
$sudo nvidia-uninstall
ログイン画面が起動しようとしてクラッシュを繰り返すということもあるので、外部からSSHでログインできるようにしておきます。GNOMEのApplicationsメニューからSystem Tools -> Settingsを起動してssh(リモートログイン)を有効にしておきます。
NUKEのインストール
やっとNUKEのインストール。NUKE自体はインストーラーを実行するだけ。注意点としては管理者で実行しないと、ユーザーごとのインストールとなってしまい、他のユーザーでログインしたときに使用できなくなります。
&sudo ./Nuke11.3v5-linux-x86-release-64-installer
あとはMacやWindows同様にインストーラーに従ってインストール。
インストール完了後にNUKEを起動して、PreferenceのHardwareでNVIDIAのGPUが選択可能になっていることを確認してください。
NUKE STUDIOやHIEROはGPUの要件が厳しく起動しないこともあります。NUKE STUDIOがちゃんと動作するかは個別に確認しておくといいです。
ハードディスクとネットワークドライブの設定
NUKEでCacheやlocalizeデータを保存したりする作業用のハードディスクと、NASなどのネットワークドライブのマウント設定です。これも検索すれば非常に多くのサイトで説明してくれているので、あまり詳しくは書きません。NUKEなどを使うワークステーションで必要になりそうな部分だけ書いておきます。
追加のハードディスクやネットワークドライブをマウントする際、Linuxでは通常/mnt以下にマウントして使用しますが、私の場合普段Macを使っている関係で/Volumes以下にマウントします。これでパスマップなど設定することなく、MacとCentOSで同じパスでアクセスが可能になります。
今回追加したハードディスクは単体のSSDなのですが、MacではRAIDを/Volumes/RAIDとしてマウントしているので、RAIDという名称にしています。
まずsuで/Volumesを作成します。
$sudo mkdir /Volumes
ディスクのマウントは/etc/fstabに設定を書き込みます。ApplicationsのUtilitiesからDisksを使うとGUIから設定できます。
マウントしたいディスクを選択してメニューから「Format Partation...」を実行。
もし新品のディスクでパーテーションから作成したければ「+」を押してパーテーションから設定。既存のパーテーションを削除して再構成したい場合はパーテーションを選択して「-」。
ディスクの名称はRAID、ファイルシステムはXFSはここにはないので、Othersを選択。
ファイルシステムにXFSを選択。
確認してFormatを実行(管理者パスワード)。
マウントを設定するために「Edit Mount Options...」を実行。
Mount Pointを先程作成した/Volumesの下「/Volumes/RAID」に設定。
ディスクを識別オプションIdentify As「UUID」を指定。
Mount at system start upのオプションがオンになっているか確認。
OKを押して設定完了(管理者パスワード)。
設定は/etc/fstabに記載されています。
UUID=2abafad4-62e6-45e3-b29d-786f2f8bc073 /Volumes/RAID auto nosuid,nodev,nofail,x-gvfs-show 0 0
ネットワークドライブもこの/etc/fstabに設定します。/etc/fstabの編集には管理者権限が必要です。既存の設定を消してしまったりすると、マシン自体が起動しなくなってしまうので注意。
ネットワークドライブをIPアドレスで指定して設定を追加
//192.168.1.14/Share /Volumes/Share cifs _netdev,user,uid=1000,gid=1000,rw,exec,suid,auto,username=myname,password=mypassword 0 0
uid=1000, gid=1000は、このマシンの誰のアカウント権限でマウントするかの設定。
username=mynameとpassword=mypasswordは、NASなどにログインするときのアカウント。
_netdev
マシン起動時にネットワークが認識されるまでネットワークドライブのマウントを待機するためのオプション。有線LANなら、このオプションなくてもほぼ問題ないと思いますが念のため。
exec
このオプション大事です。これがないと、ネットワークドライブからプログラム(プラグインやPythonスクリプトなども含まれます)を実行できません。
設定終えたら/etc/fstabを保存して再起動し、これらのドライブが起動後に自動的にマウントされているか確認します。
マウントされたフォルダにアクセスするにはFiles(ファイルブラウザ)の右側のメニューの「+Other Locations」からComputer -> Volumesを開きます。
マウントしたフォルダを左側のメニューにショートカット登録して完了。
ディスク関連ついでにNTFSファイルシステムをインストール。
$sudo yum -y install ntfsprogs
長くなったのでここで一旦区切って次回に続きます。
[関連記事]
NUKEを使用するためのCentOSワークステーションのセットアップ(2)
NUKEのinit.pyについて
NUKEのinit.pyとmenu.pyをリダイレクト