试图得到一个基本的“Hello World”般的XServer应用程序运行起来后,我发现,无论我怎么努力,我一直运行到了同样的错误,那就是:Xinerama是否会导致我的代码出现问题?
X Error of Failed request: BadMAtch(invalid parameter attributes)
Major opcode of failed request: 78 (X_CreateColormap)
起初,我认为这是我的车手,所以我将它们更新到了290.10(nVidia)。
我的(相关)设置由以下部分组成:
nVidia GTX 550 Ti
Sabayon Linux
Kernel 3.2
但是,一些冲浪之后,它看起来像它可以是事实,我有双显示器(一个连接到HDMI迷你接口,另一个vga/dvi),或者我启用了Xinerama的事实,或者两者都有。
我试图通过在我的代码中创建两个GLXContext
对象来补偿这两个显示器,如预期的那样,它没有做任何事情(很好:我刚开始学习这个API)。我这样做是因为它好像GLXContext与监视器输入/输出有关。
之后,没有工作,我试着glXGetConfig
,那也没有工作。因此,我开始更多地寻找问题,并在几年前撰写的关于禁用Xinerama的问题的论坛上发布了一篇文章,这是造成问题的原因。奇怪的是,这件事发布于2009年,所以人们会认为nVidia现在已经解决了这个问题。
我不知道该怎么做,我相信我有点不知所措,除非我能解决这个问题。
任何人都可以在SuperUser here上查看我的代码here(pastebin)。
我真的可以在这个上使用一些帮助。
TL;博士
setWindowAtt.colormap = colorMap;
setWindowAtt.event_mask = ExposureMask | KeyPressMask;
win = XCreateWindow(dp, root, 0, 0, 600, 600, 0, visualInfo->depth, InputOutput, visualInfo->visual, CWColormap | CWEventMask, &setWindowAtt);
XMapWindow(dp, win);
XStoreName(dp, win, VI_UN_DEF_WIN_NAME);
glxContext = glXCreateContext(dp, visualInfo, NULL, GL_TRUE); //error
glXMakeCurrent(dp, win, glxContext);
请提供[Short,Self Contained,Compilable,Example](http://sscce.org/)。分析起来要容易得多。 – 2012-02-26 11:48:14
完成并完成:) – zeboidlund 2012-02-26 14:06:59
'viUn.h'在哪里? – 2012-02-28 17:13:08