Linux で OpenGL を使う
Linux では Windows 同様に新しいドライバが提供されており NVIDIA GeForce, AMD RADEON では新しい GPU 機能を用いることができるようになっています。Intel の GPU は残念ながら OpenGL のサポートがあまり良くありません。
2015/01/01 現在
OS | NVIDIA GeForce | AMD RADEON | Intel HD Graphics |
---|---|---|---|
Windows | OpenGL 4.5 | OpenGL 4.4 | OpenGL 4.3 (Haswell) |
Mac OS X | OpenGL 4.1 | OpenGL 4.1 | OpenGL 4.1 |
Linux | OpenGL 4.5 | OpenGL 4.4 | OpenGL 3.3 |
API
OpenGL 4.x を使うまで
OpenGL Version の確認方法
OpenGL の場合 (GLX)
$ sudo apt-get install mesa-utils $ glxinfo
version だけ抜き出す
$ glxinfo | grep "version string"
OpenGL ES の場合 (EGL)
$ sudo apt-get install mesa-utils-extra $ es2_info
Driver
NVIDIA GeForce, AMD RADEON は Windows と同等のドライバが用意されています。 ドライバを入れ替えることで新しい OpenGL API を使用することができます。確認は Ubuntu のみ。
付属のドライバを使う場合
- Ubuntu 14.04LTS / 14.10
- 設定→ソフトウエアとアップデート→追加のドライバー→プロプライエタリなドライバーの選択→reboot
- 例: NVIDIA binary driver version 331.133 (nvidia-331)
- 最初から選択できるドライバは少々古い可能性あり (OpenGL 4.4)
ドライバ入れ替えにより画面が表示されない等のトラブルが発生する可能性があります。 事前に ssh 等でリモートアクセスできるようにしておくと安心です。
$ sudo apt-get install ssh
最新のドライバを入れる場合
NVIDIA GeForce
- NVIDIA サイトから Linux 向けドライバをダウンロードします。OS で Linux を選択
- インストーラが含まれているのでダウンロードしたファイル “*.bin” を実行します。インストーラの指示に従い最後に reboot
- インストールには一旦 X server を止める必要があります。CTRL + ALT + F1 (~F6) で consle に降りるか ssh 等で他の PC からログインします。
$ export LANG=en $ sudo service lightdm stop $ chmod 755 NVIDIA-Linux-x86_64-346.22.run $ sudo ./NVIDIA-linux-x86_64-346.22.run $ sudo reboot
- -lGL がエラーになる場合
- libGL.so のリンクが外れている場合があるので、その場合は手動で直す必要あり
- cd /usr/lib/x86_64-linux-gnu
- sudo mv libGL.so libGL.so.bak
- sudo ln -s libGL.so.346.22 libGL.so
問題が起こった時に元のドライバに戻す
$ sudo apt-get install nvidia-331 $ sudo reboot
GeForce と RADEON のドライバは衝突するため同時に install できないようです。 以前のドライバのアンインストールが必要で、ドライバが無い場合表示に問題が生じる場合があります。 頻繁にビデオカードを差し替える場合は HDD を分割して 2個 OS を入れるなどの対策をおすすめします。
AMD RADEON
- distribution 毎にパッケージとしてダウンロード可能となっています。RHEL と Ubuntu
-
- Ubuntu の場合下記より 14.04LTS, 12.04LTS の 2種類あります。
-
- ダウンロードしたパッケージを install します。
- 依存しているパッケージがある場合は先に install しておきます。
$ sudo apt-get install dkms libc6-i386 lib32gcc1 $ sudo dpkg -i fglrx-core_14.501-0ubuntu1_amd64_UB_14.01.deb $ sudo dpkg -i fglrx_14.501-0ubuntu1_amd64_UB_14.01.deb $ sudo dpkg -i fglrx-dev_14.501-0ubuntu1_amd64_UB_14.01.deb $ sudo dpkg -i fglrx-amdcccle_14.501-0ubuntu1_amd64_UB_14.01.deb $ sudo reboot
Windows 同様に HDMI 出力ではオーバースキャン対応の黒フチがある状態となっています。 PC モニタに接続している場合は不要なので、Catalyst Control Center を install したのち amdcccle コマンドで変更できます。
- amdcccle を実行
- ディスプレイマネージャー → DTV(1) → 調整のタブ → スケーリングオプション をオーバースキャン側 0% へ
参考にしたページ
ビデオカードの入れ替え
GeForce と RADEON を入れ替える場合は事前にドライバのアンインストールが必要となります。 そのままではコンソールに降りても画面が正しく描画されない可能性があるので、ssh 等リモートでアクセスして作業することをおすすめします。
RADEON driver の削除
$ sudo apt-get remove 'fglrx*'