このc ++コードをコンパイルして実行しようとしています
#include <GL/glut.h>
void displayMe(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.5, 0.0, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(0.0, 0.5, 0.0);
glEnd();
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(300, 300);
glutInitWindowPosition(100, 100);
glutCreateWindow("Hello world :D");
glutDisplayFunc(displayMe);
glutMainLoop();
return 0;
}
これは私がオンラインで見つけた「openglのHelloWorld」です。これは、大学のNVIDIA Tegra X1をテストするために行っています。TX1開発キットは常にオンであり、大学のネットワークに接続されています。 ssh経由でTX1に接続しています(-Xフラグを使用)。コンパイルは正常に行われましたが、プログラムを実行しようとすると、次のエラーが表示されます。
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: 29
Current serial number in output stream: 30
オンラインで何も見つかりませんでした。何が起こっているのかわかりません。
PS:最初にssh経由で大学のネットワークに接続し(-Xを使用)、次に別のsshを実行してTX1に接続します。
次のようなエラーが発生していました。
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: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 35
Current serial number in output stream: 36
name of display: :99
リモートマシンで、nvidiaグラフィックカードを使用。オプション--no-opengl-filesを使用して.runファイルからNVIDIAドライバーをインストールすることで問題を解決しました(ここからインスピレーションを得ています: https://Gist.github.com/wangruohui/df039f0dc434d6486f5d4d098aa52d07 )
お役に立てれば!