Just commenting to say I'm also seeing this behaviour too. It doesn't seem to be the case when I first start the server, but every now and then I'm forced to close clients down and VcXsrv otherwise it just burns cpu time and drains my laptop battery :-/ At the point of closing all clients the server remains busy.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This could potentially be graphics driver related from what I've seen. I recently tried running vcxsrv on a laptop with both Intel and Nvidia graphics. When running on the Intel graphics, sysinternals process explorer shows that when vcxsrv appears to call glapi_get_dispatch_table_size(), the intel graphics driver (ig9icd64.dll) churns on DrvValidateVersion(). When I force it to run using Nvidia graphics via the Nvidia control panel the same call to glapi_get_dispatch_table_size() doesn't cause a similar issue and the CPU usage appears to be negligible.
I also have a laptop with dual graphic adapters. I tried using the Nvidia adapter for vcxsrv, but I got the same issue with the nvidia driver (nvoglv64.DLL).
I've just started observing this on a workstation with a Quadro K4000 card and you're right, it's not limited to Intel graphics. Interestingly enough, I can't consistently reproduce the issue on similar hardware. Two other workstations sitting right next to the affected one are also running Quadro K4200 / K5200 cards with the same Nvidia driver version, on the same networks, and the same vcxsrv flags (-ac -terminate -lesspointer -multiwindow -clipboard -wgl +bs -dpi 80 -nolisten inet6) aren't having an entire CPU core consumed.
Sorry but my attempts to build the thing have so far failed so I can't answer my own questions but perhaps somebody else can. How often does vcxsrv call glapi_get_dispatch_table_size() ? how long does each call take ?
Is the problem that it calls it too often and even before any X-windows are created ?
Why does running and drawing nothing beyond a system tray cause this ? It is hardly the only bit of software out there to create a window and fill it with text.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Try changing -wgl to -nowgl to disable hardware-accelerated opengl. Works for me. Maybe there are some compatibility issues with various graphics drivers.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just commenting to say I'm also seeing this behaviour too. It doesn't seem to be the case when I first start the server, but every now and then I'm forced to close clients down and VcXsrv otherwise it just burns cpu time and drains my laptop battery :-/ At the point of closing all clients the server remains busy.
This is a problem for me only when the "-multimonitors" option is given. Unfortunately, that's the only way I use it.
I'm having the same problem. Usage is about 12.5% with 8 logical processors. Using multi monitors.
Last edit: Hein Gustavsen 2017-08-21
This could potentially be graphics driver related from what I've seen. I recently tried running vcxsrv on a laptop with both Intel and Nvidia graphics. When running on the Intel graphics, sysinternals process explorer shows that when vcxsrv appears to call glapi_get_dispatch_table_size(), the intel graphics driver (ig9icd64.dll) churns on DrvValidateVersion(). When I force it to run using Nvidia graphics via the Nvidia control panel the same call to glapi_get_dispatch_table_size() doesn't cause a similar issue and the CPU usage appears to be negligible.
I also have a laptop with dual graphic adapters. I tried using the Nvidia adapter for vcxsrv, but I got the same issue with the nvidia driver (nvoglv64.DLL).
I've just started observing this on a workstation with a Quadro K4000 card and you're right, it's not limited to Intel graphics. Interestingly enough, I can't consistently reproduce the issue on similar hardware. Two other workstations sitting right next to the affected one are also running Quadro K4200 / K5200 cards with the same Nvidia driver version, on the same networks, and the same vcxsrv flags (-ac -terminate -lesspointer -multiwindow -clipboard -wgl +bs -dpi 80 -nolisten inet6) aren't having an entire CPU core consumed.
Sorry but my attempts to build the thing have so far failed so I can't answer my own questions but perhaps somebody else can. How often does vcxsrv call glapi_get_dispatch_table_size() ? how long does each call take ?
Is the problem that it calls it too often and even before any X-windows are created ?
Why does running and drawing nothing beyond a system tray cause this ? It is hardly the only bit of software out there to create a window and fill it with text.
I also have this issue. Constant 3% CPU use without any clients connected. Any news?
Same here also for the latest version (1.20.5.1).
I am using a laptop with just an integrated Intel GPU.
Last edit: Anonymous 2019-08-26
Try changing -wgl to -nowgl to disable hardware-accelerated opengl. Works for me. Maybe there are some compatibility issues with various graphics drivers.