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
許可する必要があります)を実行し、出力(例えば)が 。glxinfo
glxinfo
xvfb-run -s '-screen 0 1400x900x24 +iglx' glxinfo
client 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