[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnustep application not running on machines with NVIDIA Optimus chip
From: |
Julian Mayer |
Subject: |
Re: gnustep application not running on machines with NVIDIA Optimus chipset |
Date: |
Wed, 14 Dec 2011 19:41:56 +0100 |
>
> Hi Julian, Fred,
>
> It's odd that such a simple X call would fail. :-/
>
> I have a couple ideas:
>
> - increase the size of the root window from (1,1) to, say, (32,32). (unlikely
> to do anything.. but maybe
> worth a try?)
>
> - as a sanity check I would add:
>
> printf("current thread: %p\n", (intptr_t)pthread_self());
>
> in a few places to make sure everything is on the same thread.
> 1. start of main().
> 2. back/Source/x11/XGServer.m:413 just before XOpenDisplay
> 3. before the XCreateSimpleWindow call
>
> - lastly, I wonder if it could be 32/64 bit problem, or a problem where the
> way gnustep-back is dynamically
> loaded is confusing vglrun. IIRC there is a gnustep-make option somewhere to
> compile back as a normal
> library rather than a bundle, so your app is linked to back at build time
> rather than runtime. May be worth a try.
>
> Eric
hey eric
thanks for your suggestions.
i've investigated some more and i think there is no problem in gnustep at all,
and the VirtualGL people should just fix their stuff ;-)
i've run other gnustep applications even ones with NSOpenGLView without problem
under VirtualGL so i doubt that changing root window size or anything would
help. i take this also as indication that there really is no problem in gnustep
at all.
i've tracked down the crash to the fact that i am creating an OpenGL context
early in main() and checking some OpenGL capabilities there. but its all very
non-deterministically, creating the context and even calling
glGetString(GL_VERSION is fine, calling glGetString(GL_VERSION) again and there
is a segfault later on during window creation. completely weird, calling
glGetString() doesn't change how gnustep creates the window at all.
even if i uncomment all the context checking in main(), it crashes just later
on during trying to actually play the game, again in the VirtualGL support
library librrfaker.so...
in summary, VirtualGL seems just broken for my app, but there doesn't seem to
be a real problem in gnustep - sorry for the noise.
bye, julian
smime.p7s
Description: S/MIME cryptographic signature