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.

