ユーザ用ツール

サイト用ツール


opengl:linuxopengl

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

  1. NVIDIA サイトから Linux 向けドライバをダウンロードします。OS で Linux を選択
  2. インストーラが含まれているのでダウンロードしたファイル “*.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

  1. distribution 毎にパッケージとしてダウンロード可能となっています。RHEL と Ubuntu
  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 コマンドで変更できます。

  1. amdcccle を実行
  2. ディスプレイマネージャー → DTV(1) → 調整のタブ → スケーリングオプション をオーバースキャン側 0% へ

参考にしたページ

ビデオカードの入れ替え

GeForce と RADEON を入れ替える場合は事前にドライバのアンインストールが必要となります。 そのままではコンソールに降りても画面が正しく描画されない可能性があるので、ssh 等リモートでアクセスして作業することをおすすめします。

RADEON driver の削除

$ sudo apt-get remove 'fglrx*'
opengl/linuxopengl.txt · 最終更新: 2015/01/14 02:21 by oga