X Error of failed request: BadValue (integer parameter out of range for operation)
Posted
技术标签:
【中文标题】X Error of failed request: BadValue (integer parameter out of range for operation)【英文标题】: 【发布时间】:2017-03-31 09:05:28 【问题描述】:我正在尝试编译和运行这个 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's hello world”。 我这样做是为了测试我大学的 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。
【问题讨论】:
你用什么命令编译的? @EliSadoff g++ main.cpp -o lookAtThis -lglut 当您执行 X-over-SSH 时,OpenGL 命令被序列化到 X11 传输中,以由您登录的机器上的显示服务器和硬件处理。所以你甚至没有使用 Tegra for OpenGL。 @datenwolf 真的吗?我没有意识到这一点。所以不能通过ssh测试TX1的图形输出? @ViniciusMilaniR.Freitas:不是通过 X11 隧道。 X11 实际上只是将绘图命令(作为远程过程调用)传输到带有显示器的机器上的 X11 服务器,并在那里执行命令。你需要做的是在远程机器上启动一个 X11 服务器(它甚至可以与 Tegra 一起工作吗?)并使用一些远程帧缓冲区(VNC 等)来传输结果。 【参考方案1】:我遇到了这样的错误:
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 (灵感来自这里:https://gist.github.com/wangruohui/df039f0dc434d6486f5d4d098aa52d07)
希望这会有所帮助!
【讨论】:
顺便说一句,当您为正在运行的 X 服务器更新视频驱动程序时,会发生此特定错误 (GLX:24 X_GLXCreateNewContext) 错误,请重新启动 X 以解决它 @ThorSummoner 我也遇到了同样的问题,我确实只是更新了我的 Nvidia 驱动程序。重新启动 X 确实按照您的建议修复了它。所以,谢谢。 @ThorSummoner 非常感谢,刚刚遇到这个问题,您的解决方案完美运行!【参考方案2】:将我的用户添加到video
组并重新启动解决了我的问题(source)。 glxgears
现在也可以了。
还是要看看有没有其他相关问题没有解决。
【讨论】:
这对我有用。以上是关于X Error of failed request: BadValue (integer parameter out of range for operation)的主要内容,如果未能解决你的问题,请参考以下文章
request:fail parameter error: parameter.url should be String instead of Undefined;
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm出现error: open of vsftpd-3.0.2-22.el7.x86_64.rpm failed: No su
使用git提交时报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity
Linux下“read failed after 0 of 4096 at 0: Input/output error”
login auth failed errormsg :http request params error啥意思
Error creating bean with name 'fileController': Injection of resource dependencies failed;(示