opengl X失败请求的错误:BadValue(整数参数超出操作范围)

xv8emn3q  于 2022-11-04  发布在  其他
关注(0)|答案(3)|浏览(484)

我正在编译和运行这个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的hello world”。我这样做是为了测试我大学的NVIDIA Tegra X1,TX 1开发套件总是打开的,并连接到大学的网络。我通过ssh(使用-X标志)连接到TX 1。编译很顺利,但当我试图运行程序时,出现了以下错误:

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连接到TX 1。

yfjy0ee7

yfjy0ee71#

我收到了如下错误:

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显卡。通过从.run文件安装NVIDIA驱动程序,使用选项--no-opengl-files解决了该问题(灵感来自此处:(第10页)
希望这对你有帮助!

pieyvz9o

pieyvz9o2#

将我的用户添加到video组并重新启动为我解决了问题(source)。glxgears现在也可以工作了。仍然要检查是否有其他相关问题没有解决。

voase2hg

voase2hg3#

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo ubuntu-drivers autoinstall
sudo reboot

相关问题