幸運にも格安でGeForce RTX 2080 Tiマシンを作ることができました。Ubuntuを入れてリモートでうまいこと開発できるようにいろいろと環境を整えていきましょう。過程でグラボが本物かどうかも確かめられます。
使用OS
Ubuntu 16.04.5 LTS (Xenial Xerus)のDesktop用イメージ(ubuntu-16.04.5-desktop-amd64.iso)です
http://releases.ubuntu.com/16.04/
セキュリティ設定とかいつものやつ
sudo apt update
sudo apt upgrade
# ssh
sudo apt install openssh-server
# ssh設定で、ポート変更 & 秘密鍵認証を設定
sudo vi /etc/ssh/sshd_config
sudo vi /etc/ssh/sshd_config
mkdir .ssh
vi .ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
sudo /etc/init.d/ssh restart
# セキリティアップデートを自動で適用するように設定
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# ポート制限
sudo ufw default DENY
# 使うポートをallowする
sudo ufw allow 5900
sudo ufw enable
# 確認
sudo ufw status
GPU関連
# nvidia gpu driver
sudo add-apt-repository ppa:graphics-drivers/ppa
# 最新は415だがcudaがまだなので410
sudo apt install nvidia-410
sudo reboot
# 確認
nvidia-smi
> 結果
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.73 Driver Version: 410.73 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 208... Off | 00000000:01:00.0 Off | N/A |
| 30% 28C P8 20W / 300W | 70MiB / 10986MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
# 使用時の負荷などモニタリングは以下コマンドでできる
watch -n 1 nvidia-smi
# cuda
sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
sudo apt update
sudo apt install cuda
cudnnはcondaでどうにかしてくれる運用です。condaと和解しよう。
途中でチラッと出てますが、以下コマンドでgpu名を確認できます
nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv
> 結果
name, pci.bus_id, vbios_version
GeForce RTX 2080 Ti, 00000000:01:00.0, 90.02.0B.40.A3
ほんとにRTX 2080 Tiでした。やったー
他に必要そうなソフトとか
- AnacondaはGUIでインストール
- ffmpeg
# ffmpeg
sudo add-apt-repository ppa:jonathonf/ffmpeg-3
sudo apt update
sudo apt install ffmpeg libav-tools x264 x265
リモートデスクトップ設定
開発用なので画面を使わずに電源を付けっぱなしにしておいて、GUIが必要な場合はリモートデスクトップ接続を利用したいところです。
しかしUbuntu desktopには罠があり、起動時に画面を繋げていなければ起動しない、起動後に画面を付け替えたりしても解像度が対応できないなどにハマります。これLinuxの問題な感じがしますね。Linux Desktopへの道のりはまだまだ遠そうです。
で、回避策としてX serverの設定でフェイクのディスプレイを設定するというものがあります。 /usr/share/X11/xorg.conf.d/10-monitor.conf を以下のように作り再起動します。
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0 #Virtual monitor needs this
VertRefresh 43.0 - 72.0 #this, too
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia" #change for AMD or Intel
VendorName "NVIDIA Corporation" #this, too
Option "NoLogo" "1" #also this
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Virtual 1920 1080
Option "AllowEmptyInitialConfiguration" "True"
EndSubSection
EndSection
これで画面を繋がなくてもちゃんと起動するようになりました。
リモートデスクトップサーバーをインストールします。vncよりはrdpの方が早いのでxrdpを使います。
# xrdpでwindowsからリモートデスクトップできるようにする
sudo apt-get install xrdp
sudo /etc/init.d/xrdp start
試しにwindowsの「リモートデスクトップ接続」を使って接続してみてください。
consoleを選択し、ログインパスワードを入力すればつながるはずです。
最後に、unity(デスクトップ環境)は重くてリモートデスクトップに向かないので変更します
# 軽量なデスクトップlubuntuに変更する
sudo apt install lubuntu-core lubuntu-icon-theme lubuntu-restricted-extras
sudo reboot
画面をつないで一度lubuntuでログイン
これでかなり快適に開発できるようになりました!
コメント