Update: this VGA hack is mostly intended for Radeon graphics cards (see the comments section).
I recently played with multi-GPU and I needed to test one my GPU tools on three Radeon HD 5770 at the same time (no CrossFire). Under Windows 7, a graphics card is disabled by Windows if it’s not connected to a monitor. Not really convenient if you need to test several graphics cards and if you have only one monitor.
If you look at the CCC (Catalyst Control Center), you’ll see the primary card (enabled) and two disabled cards:
Catalyst Control Center, primary card enabled
Catalyst Control Center, second and third cards disabled
Same thing with the GPU Caps Viewer OpenCL panel, only the first GPU (Juniper) is listed:
The second and third cards are disabled (for APIs like OpenCL, CUDA, etc.) but are still visible in GPU monitoring tools like GPU Shark:
The trick to enabled all cards, is to fool Windows with a dummy VGA dongle.
This VGA hack require one DVI to VGA dongle and three resistors. Any resistor from 50 to 150 ohms can do the job.
I found in my stock of electronic components, three 150-ohm resistors for the first VGA dongle. For the second I used two 100-ohm and one 120-ohm resistors.
the VGA hack with three 150-ohm resistors
As soon as the dongles are plugged, Windows enables the cards. Here is the second card in CCC:
Catalyst Control Center, primary card enabled
And in GPU Caps Viewer, OpenCL properly lists the three GPUs as OpenCL devices:
GPU Caps Viewer, all Juniper GPUs are listed
Now you’re ready to use any multi-GPU capable applications with a single monitor!
In the following screenshot, the first GPU processes all OpenGL render calls, while the second and third GPUs process the OpenCL code.
GPU Caps Viewer, all Juniper GPUs are listed
pure win!
What do you mean disabled if not connected to a monitor, how then they do it for Physx, they use one fast Radeon and one poor Geforce just for Physx, or was this disabled?
Separate run on each Radeon then just say saw, very interesting. Not parallel, each unit it’s own run, this is server type stuff.
I just tested with one HD 5770 + one GTX 260 + one GT 240 and without the VGA hack, both GeForce are listed in the OpenGL section of GPU Caps Viewer.
Then this VGA hack is mainly useful for Radeon cards.
At least in Linux you can enable OpenGL on cards with no screen with a simple X server config hack.
amd need to add support for headless cards to their driver…
nvidia managed to do it..
Does disabled cards consume much power? I mean when used without dongle.
The fan keeps spinning so I would say so. They would need a special switch on the card’s power input to be able to turn a card off completely but they don’t bother as it is not like you can hot swap PCI cards.
Hmm… So i presume it’s just in idle state. Thanks.
I guess if i need to test some app on Nvidia card and on ATI card, to ease the process i can simply insert both cards in my PC and then just switch the monitor to one or another and simply relaunch the application?
this the same hack as used by use HDxxxx users to get F@H running before they fixed the CF problem
peut-on faire de meme avec deux HD4890.
merci pour vos explications et bravo!!