Xvfb + glxgearsの失敗

Xvfb + glxgearsの失敗

Xvfbを使用しようとしていますが、何らかの理由でglxgearsを実行することはできず、デバッグする方法もわかりません。何か落ちたかもしれません。これは私が使用するコマンドです:

Xvfb :99 +extension GLX -screen 0 640x480x24
DISPLAY=:99 glxgears

次のエラーメッセージでglxgearsが失敗します。

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  23
  Current serial number in output stream:  24

編集:私は友達に同じコマンドを実行するように頼んでいましたが、友達のコンピュータで動作しましたが、何らかの理由で私のコンピュータで失敗しました。 Xをデバッグする方法はありますか?

答え1

ヘッドレスサーバーでOpenGLを使用しようとしたときにこの問題が発生する場合:NVIDIA GLXドライバがインストールされているが、実際にサーバーにNVIDIAカードがない場合は、このメッセージが表示されることがあります。ヘッドレスサーバー)サーバー(GPUなしのマシン)でAWS Deep Learning Base AMIを使用します。

確認するには、Xサーバー(実行を+iglx許可する必要があります)を実行し、出力(例えば)が 。glxinfoglxinfoxvfb-run -s '-screen 0 1400x900x24 +iglx' glxinfoclient glx vendor string: NVIDIA Corporation

答え2

クライアント(glxinfo)とサーバー(xvfb)には、メサ(swrastエンジンを含む)libglを使用する必要があります。

NVIDIAとmesaがインストールされているDebian 9の場合:

# LD_LIBRARY_PATH=/usr/lib/mesa-diverted/x86_64-linux-gnu Xvfb :99 +extension GLX -screen 0 640x480x24 & 
[1] 16936
# LD_LIBRARY_PATH=/usr/lib/mesa-diverted/x86_64-linux-gnu DISPLAY=:99 glxgears
6374 frames in 5.0 seconds = 1274.743 FPS 
^C

Nvidiaカードがない場合は、Nvidiaドライバをアンインストールするだけです。デフォルトでは、メサを使用し、nvidiaをインストールされたままにするには、次のものを使用できます。glx-diversions

関連情報