discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnustep application not running on machines with NVIDIA Optimus chip


From: Fred Kiefer
Subject: Re: gnustep application not running on machines with NVIDIA Optimus chipset
Date: Wed, 14 Dec 2011 10:42:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111105 Thunderbird/8.0

Hi Julian,

impressive how you come up with all these interesting issues :-)

I think this time the default screen selection of GNUstep is causing you trouble. In most cases the default screen should be 0, but for this optimus technology things seem to be different. You should have a look at the code in XGServer.m, specifically at _initXContext, here we select the default screen to use. The first thing to test is to start the application with --GNU-Debug=dflt (See http://www.gnustep.org/resources/documentation/Developer/Base/ProgrammingManual/manual_6.html). This should report back which screen gets used. Best pipe the error output stream into a file as we are currently a bit verbose (and also get quite a few errors report that way that I will have to look into).

This is the line we are interested in:
Opened display :0, display 0 screen 0

Hope this helps to get you started
Fred

On 14.12.2011 03:42, Julian Mayer wrote:
halle all

so far i've had good success building a deployable binary package of my gnustep 
using application. although there are some issues, the built package seems to 
launch and run on all recent linux distributions - great!

there is one exception. recent nvidia based laptops have a technology called optimus [1] that 
is supposed to seamlessly use a integrated and a discrete graphics card. there is no official 
linux support, linux users currently have to resort to a 3rd party project [2]. optimus users 
are expected to launch GPU intensive applications (like my game) using 
"optirun<command>" so that the app uses the nvidia instead of the integrated 
GPU.

however, launching a GNUstep based GUI applications seems to be impossible with 
optirun, attached is a backtrace that shows that my app is crashing right 
inside the gnustep window creation routines [3].

i am not sure if there is a problem in GNUstep here, but if someone has some 
more details or insight that i could attach to the bugreport i am gonna open at 
the Bumblebee project, that would be great.

thanks, julian



[1]
http://www.nvidia.com/object/optimus_technology.html

[2]
https://github.com/Bumblebee-Project/

[3]
Program received signal SIGSEGV, Segmentation fault.
0x00007f059f13d235 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007f059f13d235 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f05a2c8a107 in ?? () from /usr/lib/x86_64-linux-gnu/librrfaker.so
#2  0x00007f05a2c8b143 in ?? () from /usr/lib/x86_64-linux-gnu/librrfaker.so
#3  0x00007f05a2c7e9fa in XCreateSimpleWindow ()
    from /usr/lib/x86_64-linux-gnu/librrfaker.so
#4  0x00007f05960d8eb8 in -[XGServer(WindowOps) _setupRootWindow]
     at XGServerWindow.m:1575
#5  0x00007f05960cefca in -[XGServer _initXContext]
     at XGServer.m:462
#6  0x00007f05960cf0be in -[XGServer initWithAttributes:]
     at XGServer.m:475
#7  0x00007f05a2798ccd in +[GSDisplayServer serverWithAttributes:]
     at /home/notroot/Desktop/core/gui/Source/GSDisplayServer.m:189
#8  0x00007f05a2620b67 in -[NSApplication _init]
     at /home/notroot/Desktop/core/gui/Source/NSApplication.m:881
#9  0x00007f05a1cac2e1 in -[NSObject(NSThreadPerformAdditions) 
performSelectorOnMainThread:withObject:waitUntilDone:modes:]
     at /home/notroot/Desktop/core/base/Source/NSThread.m:1194
#10 0x00007f05a26211be in -[NSApplication init]
     at /home/notroot/Desktop/core/gui/Source/NSApplication.m:975
#11 0x00007f05a2620ad0 in +[NSApplication sharedApplication]
     at /home/notroot/Desktop/core/gui/Source/NSApplication.m:847
#12 0x00007f05a2606cb4 in NSApplicationMain
     at /home/notroot/Desktop/core/gui/Source/Functions.m:78
#13 0x0000000000461a8d in main ()




reply via email to

[Prev in Thread] Current Thread [Next in Thread]