Cygwin/X causes NVIDIA GPU to turn on in Optimus systems

Aaron A. Kelley
Fri Mar 29 13:06:00 GMT 2013

Hi, thanks for your reply.  Very helpful.

I checked the XWin.0.log and found:

[ 73510.875] GL_VERSION:     4.3.0
[ 73510.875] GL_VENDOR:      NVIDIA Corporation
[ 73510.875] GL_RENDERER:    Quadro K5000M/PCIe/SSE2

So, it looks like XWin is running on the NVIDIA GPU even though the Intel
GPU is set at the default rendering device (both for all apps by default and
by XWin.exe specifically) in the NVIDIA control panel.  I'll see if I can
get NVIDIA to comment on this at all but who knows if I'll actually be able
to get in touch with anyone.

Anyway, I don't need OpenGL for the programs that I use, so I checked into
using the -nowgl parameter that you suggested and that took care of it.
With -nowgl set, XWin happily runs on the Intel GPU and Optimus does not



-----Original Message-----
From: Jon TURNEY [] 
Sent: Wednesday, March 27, 2013 11:11 AM
Subject: Re: Cygwin/X causes NVIDIA GPU to turn on in Optimus systems

On 26/03/2013 15:58, Aaron A. Kelley wrote:
> I usually leave Cygwin/X open on my machine because I use it to access GUI
> apps running in SSH terminals from time to time.  Today I noticed that in
> Optimus environment, it is causing the NVIDIA GPU to kick in, which causes
> the NVIDIA GPU to stay powered on when maybe it doesn't need to.
> I went to the NVIDIA control panel and set xwin.exe specifically to use
> integrated GPU but it still says that xwin.exe is running on the NVIDIA
> when I run it.  Cygwin/X must be doing something unusual at initialization
> that makes the NVIDIA card feel like it has to kick on.  I don't have to
> actually launch any X windows to see this occur, it happens moments after
> launch the Cygwin/X server.

The Cygwin X server doesn't do anything special (and specifically, doesn't
any of the things listed in [1] to explicitly use the high-performance GPU),
so if it's being allowed to use OpenGL on the high-performance GPU despite
application profile you have created, I would say that might be a bug in the
optimus driver.

Note that this policy does belong in your hands, not in XWin, as it cannot
know if you are going to be running any X programs using OpenGL, and if you
are, if you want high-performance rendering in them at the cost of
power usage.

As a workaround, you could start the X server with the -nowgl option added,
which should prevent any use of native OpenGL, forcing the use of software
rendering using mesa and see if that helps.

> I haven't been able to find anyone else mentioning this.  It may be
> Optimus configurations aren't very common.  This also means that this
> may be tricky to track down.  I'm not sure if it will be easy to find
> someone who knows about Cygwin/X development who also has access to an
> Optimus environment.  This might be something that has to go for NVIDIA
> them to fix in their drivers, but it'd be nice to know a little more about
> the issue before trying to get in touch with them.
> I'm interested in doing anything I can do help address this but I don't
> where to begin, so I'm welcoming your feedback.

For a start, you could look for the GL_VENDOR and GL_RENDERER lines in
/var/log/xwin/XWin.0.log to confirm that XWin also thinks it is using the
high-performance GPU.


Volunteer Cygwin/X X Server maintainer

Unsubscribe info:
Problem reports:

More information about the Cygwin-xfree mailing list