Recently I’ve been asked to add a graphics card to my Windows Server 2012 machine to support OpenGL shaders (we need to generate raster images from the OpenGL viewport). After checking PCI slots availability in this old server machine I discovered that only Pci E 1x were available and purchased the following graphics adapter:
ZOTAC GEFORCE GT610 PCI 1x
The problem is that I can see OpenGL 4.2 and shaders support only when directly connected to the machine (with screen and keyboard) and not remotely (RDC) or without any connection (when the server generates images by its own without any user connected and without monitor and keyboard)
Windows RDC uses a GL1.1 GDI generic context which can only do basic graphics. The only way to access a machine remotely and still have the highest profile context is to use VNC, Teamviewer or other remote access tools.
Thanks for your interesting answers, what about when the OpenGL app is started by task scheduler at 12 AM without any screen/keyboard connected to the server? Is it any chance to get HW acceleration?
The next text I will do is to disable the onboard GPU…
Nothing, not even running the app without RDC the HW is present. We need to produce images to be compared with reference ones every night and these image production must use shaders. What can we do? We cannot run these tests manually every day.
Why it makes the difference if I am logged to the machine with a screen and a keyboard or not? In this scenario HW is present. I have even disable the onboard graphics adapter to be sure not be confusing them.