Auxiliary Display with Matrox Solios & Millenium P650
I ran into a problem while attempting to get an Auxiliary display to work on a Machine Vision system I was developing with a Matrox Solios Frame Grabber and a (dual head) Matrox Millenium P650 graphics card. The plan was to have each vision station (in a Parmacutical AOI setup) output all of the images it acquired from its cameras to a massive 15 input digital video recorder (DVR) via its Auxiliary display port – in this way the client would have a record of all image acquired and processed on each of their 11 inspection stations Anyway, while trying to initialise the display from code via a call to:
[code lang="cpp"] MdispAlloc(milSys, M_DEFAULT, "M_PAL", M_AUXILIARY,&milAuxDisplay); [/code]
Matrix Mil always reported that no system capable of supporting an Auxiliary display could be found – no matter how I changed the millions of possible settings, the auxiliary display would always fail to initialise – loads of hours later I became seriously worried that the Millenium P-Series graphics cards do not provide Auxiliary display support to Matrox Mil!
Well, it turns out that the P-Series graphics cards do provide Auxiliary display support to Mil, but in order to get it to work (in my case) an update needed to be applied to the Matrox graphics card driver – In my case I installed the update contained within m800du09.zip, once applied the Auxiliary display worked just fine!
So anyway the moral of this story is that if you’re trying to get an Auxiliary display to work with Mil and you’re getting this error message no matter what you do – get on to Matrox and ask if there are any updates for your graphics card drivers and install them straight away!
PS As the Mil documentation says, in order to get the Auxiliary display to work you will first have to disable the ‘dual-head’ functionality of your Matrox graphics card. Now, with the newer Matrox graphics software ‘dual-head support’ is no longer called ‘dual-head support’, instead go into the Matrox ‘Power Desktop’ settings, and set the ‘Multi-Display Setup’ option to ‘1 Display (no feature display)’.
PPS It seems that where the Auxiliary display is concerned, the Matrox drivers are not very good at cleaning up their resources when the calling process ends – it is very important that you call MdispFree() on the Aux. display when your process is shutting down otherwise when you try to re-launch the process you will get the above error message every time you try to allocate the display until you reboot your system!