Multiple Monitor assignment to graphics cards

Discussion created by sarchbae on May 13, 2009
CLI/API to control which Windows screen is displayed on which monitor

We are running a set-up where we have two dual-headed Radeon graphics cards (X1650) running on a PC. The configuration of the screens needs to be configured at run-time by the configuration software.

We are running into problems where the displays are coming up on different monitors. Eg, if the windows screens are numbered 1-4 (in the Display Settings screen arrangement widgety-thing) and the monitors are labelled A-D, then sometimes we can have 1=A, 2=B, 3=C, 4=D, but sometimes we can have 1=A, 2=B, 3=D, 4=C. This then completely messes up the workings of the workstation as moving the mouse off the left of the centre monitor has it coming on from the right of the right-hand monitor.

I've looked through the Windows API and can't find anything to help out with this. EnumDisplayMonitors just lists the active windows screens and not the multiple monitors in clone mode.

Using the Catalyst Control Centre, I can chose which monitor is assigned to which display, but this needs to be done programatically and I can't find an API to do it. I found the ATI CLI.exe file, but there is no documentation and the only command line parameters I have found are to start the CCC GUI.

Has anyone got any help? Please?


Further information:

It seems that if the second graphics card has both screens disabled on a Windows boot, then when you enable one screen (say screen 3), it comes up as a clone with monitors C and D showing screen 3 (and the CCC in 'clone' mode). Also, the Window Display Settings widgety-thing will show "Multiple Monitors on Radeon X1650 Series" on. Enabling screen 4 will then show screens 3 and 4 as having "Plug and Play Monitor on Radeon X1650 Series" (and ... Series Secondary for monitor 4) and the monitors will be on the wrong assignment (ie 3=D, 4=C). If I then reboot the system, it will fix the assignment (ie, 3=C, 4=D).