アップデート後、GLXはルート(nvidia)でのみ動作します

アップデート後、GLXはルート(nvidia)でのみ動作します

今日、アップデートを実行したところ、glx非ルートユーザーでは動作しなくなりました。

$ glxinfo
name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  81
  Current serial number in output stream:  82

しかし、root として実行すると、すべて正常になります。

$ sudo glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
...
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 430/PCIe/SSE2
OpenGL core profile version string: 4.2.0 NVIDIA 304.132
OpenGL core profile shading language version string: 4.20 NVIDIA via Cg compiler
...

ubuntu 14.04。ただしopensuseでも同じ問題が報告されています。ここ

$ uname -a
Linux xxx 4.4.0-45-generic #66~14.04.1-Ubuntu SMP Wed Oct 19 15:05:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

唯一のコメントされていない行/etc/X11/Xwrapper.config

allowed_users=console

その名前のグループまたはユーザーは存在しません。

nvidia デバイスの権限:

$ ls -l /dev/nvid*
crw-rw-rw- 1 root root 195,   0 lis  5 00:24 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 lis  5 00:24 /dev/nvidiactl

答え1

これです私の問題は解決しました:

どうやら現時点で唯一の解決策は、以前のドライバー バージョン (304.131) にダウングレードすることです。

Ubuntu 用の 304.131 ドライバーは次の方法で見つけることができます:

  • 行くhttps://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+公開履歴
  • 必要なバージョンを探し、バージョン番号をクリックします
  • 次のページで、Ubuntuリリースの「ビルド」の下を探し、リリース名の後ろにあるamd64またはリンクをクリックします。i386
  • 次のページで、「ビルド ファイル」の下にある「nvidia-304_304.131」で始まる .deb ファイルを探します。そのファイルをダウンロードします。
  • ターミナルを開いて実行し、 sudo dpkg -i *path-to-downloaded-.deb-file* ダウンロードしたバージョンをインストールします

後でパッケージのバージョンをロックするだけです: sudo apt-mark hold nvidia-304。nvidia がドライバーを修正したら、パッケージのロックを解除することを忘れないでください:sudo apt-mark unhold nvidia-304

答え2

この問題に何時間も費やした後、ようやく nvidia-current (nvidia-304) を 132 から 131 にダウングレードすることで glx セットアップを動作させることができました。

フェドーラ帽を被った男からのもう一つの不満: https://devtalk.nvidia.com/default/topic/974456/f24-permission-problems-/?offset=3

したがって、これは、NVIDIA によって追跡されているが、この記事の執筆時点では文書化されていないバグ 1835736 に関連する「マルチ ディストリビューション」の問題を確認するものと思われます。

Ubuntu 用の 304.131 debs は、次の場所から入手できます: http://ubuntu.ip-connect.vn.ua/pool/restricted/n/nvidia-graphics-drivers-304/

これにより、14.04 の問題が修正されます。

それから :

aptitude hold nvidia-opencl-icd-304 nvidia-current nvidia-304 nvidia-304-dev nvidia-304-updates nvidia-304-updates-dev libcuda1-304

すべての「非 NVIDIA ドライバー更新」を有効にするには、次の手順を実行します。

aptitude unhold nvidia-opencl-icd-304 nvidia-current nvidia-304 nvidia-304-dev nvidia-304-updates nvidia-304-updates-dev libcuda1-304

ディストリビューション/nvidia パッチがリリースされたらすぐに「nvidia ドライバー アップデート」を再度有効にします。

私の2セント。

答え3

nvidia-304.134この問題を解決します。

ここでの他の回答に従ってダウングレードした古いバージョンの NVIDIA ドライバーを保留解除し、Ubuntu 14.04 のリポジトリからアップデートをインストールしました。これで問題ないようです。

関連情報