LinuxにおけるGPUドライバのインストール三次元描画エンジン描画エンジンの切り替え方法OpenGLバージョンの確認方法GPU性能の確認方法グラフィックス環境について¶Choreonoidではロボットや環境のモデルを三次元コンピュータグラフィックス(3DCG)で描画するようになっています。これを行うため、使用するPCのグラフィックス環境は以下を満たしている必要があります。あれば通常は利用可能となっています。Choreonoidが動作するためにまずはこれを満たしている必要があります。その上で、快適に利用するためには2も満たしていることが望ましいです。ないと、3DCGの描画が極端に遅くなってしまうので、よほど簡単なモデルを利用するのでない限り、実用的ではなくなってしまいます。WindowsであればPC購入時の状態で通常はOpenGLのハードウェアアクセラレーションが利用可能となっています。Windowsを自前でインストールしたり、ビデオボードを交換したりした場合は、搭載されているGPU用のグラフィックスドライバを別途インストールしなければならないこともありますので、ご注意ください。Linuxでも最近はオープンソースのドライバが改善され、インストール直後からOpenGLのアクセラレーションが機能する場合も多くなってきました。GPUによってはそのままではアクセラレーションが十分でない場合もありますので、注意が必要です。GPUの種類ごとの状況については後述します。仮想マシンで使用する場合は、OpenGLのハードウェアアクセラレーションが十分に機能しない場合が多いです。その場合、描画が遅かったり、うまく描画できなかったりします。これは仮想マシン側の不備になります。一般的に仮想マシンではそのような状況になること多いので、あまり使用は推奨できませんし、使用するとしてもこのことを承知の上で使うようにしてください。(ただし最近の仮想マシンでは状況が以前よりは改善されているようです。)GPUの種類¶GPUの種類は大きく製造メーカーによって区別できます。型番によって状況が異なる場合もあります。以下ではGPUの種類ごとの状況について簡単にまとめておきます。(GeForce/Quadro等)問題なく動作し、性能も申し分ないです。最高の性能を求める場合は、現在のところNVIDIA製のハイエンドモデルが選択肢として有力です。Ubuntuで使用する場合、本来の性能を発揮させるためには別途プロプライエタリドライバをインストールする必要があります。このためのGUIツールも用意されているので、ドライバのインストールはそれほど難しくはありません。(Radeon)以前はChoreonoidの使用において問題がありましたが、最新版では改善されています。以前はLinux対応が不十分な点もありましたが、数年前より対応がよくなりました。世代の以降のGPUであればLinux上でも問題なく動作します。500、Vegaシリーズが該当するようです。これより古い型番のものは使用を控えてください。上記型番のものはUbuntuに標準でインストールされるオープンソースドライバでも概ね問題なく動作するようです。Linux上で使用する場合の性能は、NVIDIA製のGPUにプロプライエタリドライバを組み合わせた場合と比較して劣るようです。Linux上でプロプライエタリドライバが利用できる場合もありますが、GPUチップの種類やカーネルのバージョンにもよるので、詳細はAMDのサイトなどで確認してください。iシリーズ等のCPUに内蔵されているGPUです。こちらも動作については問題ありません。描画速度については基本的に上記2メーカーのGPUほど速くはありませんが、比較的単純なモデルを使用する場合は問題ないかと思います。Ubuntuに標準でインストールされるドライバで問題なく動作します。いうか、それ以外のドライバはありません。古い型番のものは描画は影の描画がうまくいかない場合があります。そのような型番のものに対しては影の描画を無効化するようにしています。考慮して、使用を推奨できます。AMD製のGPUについては、以前は推奨していなかったのですが、最近はドライバも改善されており、最新の開発版Choreonoidと組み合わせて使用するのであれば、十分利用可能です。Intel製のCPU内蔵GPUは性能はそれほどではありませんが、安定して動作しますので、お持ちのPCに搭載されている場合、まずはそれで試してみるのがよいかと思います。WindowsにおけるGPUドライバのインストール¶Windowsでは適切なドライバが標準でインストールされていることが多いため、通常はあまり気にしなくても大丈夫です。Choreonoidで三次元モデルの描画がうまくいかない場合は、ドライバが正しくインストールされているか確認するようにしてください。LinuxにおけるGPUドライバのインストール¶Linuxの場合はGPUドライバを別途インストールしなければならない場合があります。以下ではその方法についてGPUのタイプごとに説明します。これは残念ながら現状では3D描画のハードウェアアクセラレーションが十分に機能しないため、使用は推奨できません。これに対して、NVIDIAが開発しているプロプライエタリ・ドライバを利用することができます。そちらはメーカーが自ら開発しているだけあって機能や性能は申し分なく、GPUの能力を最大限に利用することが可能です。プロプライエタリ・ドライバの状態確認や導入は、Ubuntuの「ソフトウェアとアップデート」ツールを用いて行うことができます。このツールの「追加のドライバー」というタブにこの設定があります。(あるいは「追加のドライバー」というツールを単体で利用できる場合もあります。375.29をnvidia-375から使用します(プロプライエタリ,検証済み)といった表示が出ます。これをクリックして選択し、「変更の適用」を実行することで、ドライバがインストールされ、使えるようになります。候補が複数表示される場合は、なるべくバージョンの新しいものや、「検証済み」と記されているものを選択するようにします。Linuxでは標準のドライバが機能するようになっています。これはオープンソースのドライバになりますが、Intelも開発に関わっているようで、Windows版のドライバと比べても遜色は無いようです。逆にIntel製GPUについては、Linux用のプロプライエタリ・ドライバーは存在しません。Linuxではデフォルトでオープンソース版のドライバが利用できるようです。AMD製のプロプライエタリドライバが利用できる場合もあるようですが、状況の変化が早いので、ここでは詳細に触れません。デフォルトのドライバでうまく動作しなかったり、性能が出ない場合は、AMDの公式サイトなどで情報を取得してください。三次元描画エンジン¶グラフィックス環境については、GPUとそのドライバに加えて、Choreonoid側の設定が影響する部分もあります。それはChoreonoidの実装において三次元モデルの描画を担当する「三次元描画エンジン」と呼ばれる部分で、これについて以下の2つの実装が利用可能となっています。新描画エンジン(GLSL描画エンジン、OpenGL3.3以降に対応)旧描画エンジン(固定シェーダ描画エンジン、OpenGL1.5以降に対応)最新の開発版ではデフォルトで新描画エンジンが使用されるようになっています。こちらはOpenGLバージョン3.3以降のAPIを使用するもので、GLSLというプログラマブルシェーダ言語を用いて描画機能を実装しています。旧描画エンジンは、描画機能の点では新エンジンに劣っており、デフォルトでは使用されないようになっています。OpenGLのバージョン1.5があれば使用できるので、かなり古いGPUを搭載したPCであったり、仮想マシン上で利用する場合など、OpenGLが十分にサポートされていない環境でも動作する可能性が高くなります。通常はデフォルトの新描画エンジンを利用すればOKですが、それがうまく動作しない場合には、旧描画エンジンに切り替えて使用することができます。注釈Choreonoidはこれまで旧描画エンジンをデフォルトとしていましたが、2019年の8月以降の開発版で、新描画エンジンをデフォルトにするように変更しました。以前より描画エンジンの切り替えを行っていた方はこの点注意するようにしてください。この変数が定義されていないか、値として1が設定されていれば、新描画エンジンを使用します。この変数に0を設定しておくと、旧描画エンジンが利用されるようになります。...などとすれば、旧描画エンジンが使用されるようになります。この方法だと起動の度に描画エンジンを選択できます。(0を1に変更すると新描画エンジンになります。CNOID_USE_GLSL=0と設定しておけば、最初のように起動しなくても、旧描画エンジンが使用されるようになります。記述しておくと、毎回設定しなくてもよくなります。CNOID_USE_GLSL=1としてください。Windowsの場合¶Windowsでもコマンドプロンプトを使えば上記と同様に切り替えることができます。システムの環境変数設定で設定しておくことも可能です。OpenGLバージョンの確認方法¶OpenGLのバージョンは、WindowsであればGPUメーカーの提供する設定用ツールなどを用いて確認することができます。いうコマンドを用いて確認することができます。mesa-utilsを実行するとインストールされます。glxinfoを実行することでその環境で利用可能なOpenGLに関する情報が表示されます。375.39といった表示があれば、OpenGLの4.5.0までサポートされていることになります。20.20.といった情報が出力されますので、そちらで確認することもできます。(ここで最後にGLSLのバージョンが表示されていれば、新描画エンジンが有効になっています。旧描画エンジンの場合はGLSLバージョンの表示はされません。ある「FPSテスト」というボタンを押すと、シーンを360度回転させるアニメーションを行なって、これにかかるフレームレートを表示します。この機能により描画速度が分かりますので、GPUやGPUドライバを変更した際などに、描画速度の変化を確認することができます。テストは何らかのモデルやプロジェクトを読み込んで、モデルが表示されている状態で行うとよいでしょう。»グラフィックス環境のセットアップ。