Ubuntu 13システムにNvidiaのドライバーをインストールしましたが、このコマンド(ldconfig -p | grep GL
)に応じて:
$ ldconfig -p | grep GL
libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
libGLU.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLU.so.1
libGLEWmx.so.1.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.8
libGLEW.so.1.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.8
libGLESv2.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
OpenGLの32ビットバージョンは、nvidiaではなくmesaのライブラリを指しています。これにより、私のSteamゲームは次のエラーで起動を拒否します:
必要なOpenGLエントリポイント 'glGetError'が見つかりませんでした!ビデオカードがサポートされていないか、OpenGLドライバーを更新する必要があります。
これはなぜですか? nvidiaインストーラーから「32ビット互換ライブラリ」(またはそのようなもの)をインストールするかどうか尋ねられたとき、「はい」を選択しました。どうすれば修正できますか?
同じNvidiaドライバーを再インストールしたところ、32ビットOpenGLドライバーが完全に削除されたようです。
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
今、Steamは起動しません:
次の32ビットライブラリが欠落しているため、Steamが実行されない場合があります:libGL.so.1
繰り返しますが、インストーラが32ビットライブラリをインストールするかどうかを尋ねてきたときにYESを選択しました。なぜインストールされていないのですか!?
オプション1:ターミナルでSudo ldconfig
を実行してみてください。再起動して試してください。
オプション2:ソートしない場合、手動でNVidiaライブラリ(/ usr/lib32)のディレクトリをldconfig構成ファイル(/etc/ld.so.conf)に追加する必要があります.d/libc.conf)そして、ldconfigを再実行します(もちろんルートとして)
編集:libc.confを変更する前にコピーを作成します。
Nvidiaドライバーを再インストールすると、すべてのOpenGLドライバーがライブラリキャッシュから削除されました。ライブラリキャッシュは次のようになりました。
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
32ビットドライバーはありません!幸いなことに、簡単な検索の結果、/usr/lib32
の下にNvidiaの32ビットドライバーが見つかりました。そのパスを/etc/ld.so.conf.d/
の下のファイルに追加し(どのファイルでも可能です。新しいファイルを作成することもできます)、Sudo ldconfig
を実行しました。キャッシュは次のようになります。
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
libGL.so (libc6) => /usr/lib32/libGL.so
そして、Steamは完璧に機能します!
Codemonkey正しい:必要なのは、32ビットnvidiaのドライバーを追加し、mesaドライバーを削除することだけです。
cd /etc/ld.so.conf.d/
ls
「i386」でファイル名を見つけます
私のものは「i386-linux-gnu_GL.conf」です
それから書きます
Sudo gedit i386-linux-gnu_GL.conf
次に、geditを使用して32ビットドライバーのパスを追加します。
mineは "/ usr/lib32 /"です。
32ビットドライバーの場所が見つからない場合は、検索してください。
セーブ。ターミナルを開いて入力します:
Sudo ldconfig
この後、私のHalf-Life2は完全に機能します。 :D