web-dev-qa-db-ja.com

更新後、GLXはroot(nvidia)に対してのみ機能します

今日私は更新を行い、glxはroot以外のユーザーの作業を停止しました:

$ 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

しかし、私がルートとして実行すると、すべてが良いです:

$ 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について同じ問題が報告されました here

$ 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
5
piotrek

これ 私のために問題を解決しました:

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

あなたはこの方法でUbuntu用の304.131ドライバを見つけることができます:

  • https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+publishinghistory に移動します
  • 必要なバージョンを探し、バージョン番号をクリックします
  • 次のページで、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

4
piotrek

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

Fedoraの人からの別の不満: https://devtalk.nvidia.com/default/topic/974456/f24-permission-problems-/?offset=

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

304.131 ubuntuの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

Distro/nvidiaパッチがリリースされたらすぐに「nvidiaドライバーの更新」を再度有効にします。

私の2¢。

3
sperlab

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

ここで他の回答に従ってダウングレードした古いnvidiaドライバーのバージョンを保留にし、Ubuntu 14.04のリポジトリからアップデートをインストールしました。今は良さそうです。

2
adatum