Tuesday, May 08, 2007

Vista and Dual Monitors

Ever since Vista Beta 1, I have been dealing with the dual monitor problem. However, once I got a new Dell laptop (D820) with the NVidia Quadro NVS 110M video card, little annoyance became a NUISANCE. Running Vista on a laptop, Vista always insist that the external monitor that you connect, HAS to be my primary monitor..!!

Every time I connect a new monitor, Vista goes and make it my primary monitor, and then I have to manually configure it every time to use the laptop monitor as my Primary. Things gets worse if you have a docking station. On my dual monitor setup I am used to keep my task bar on the right side and keep the left monitor as an extended area.

Issue with this is that every time a screen refresh happens, it seems to forget its configuration. By screen refresh I mean: Screen Saver comes up, you locked your workstation, you undock the laptop, etc, etc. I see it working fine and in about 10 seconds it flickers, and set the monitor to 1-2 instead of 2-1.

This is my saved lineup:

after I come back from a screen saver, or a locked state, this is what Vista sets it to be:

For a while, I thought on becoming left handed, so this will not affect me. Eventually, I got so used to start the nVidia Control pannel and fixing this all of the time, that I've got used to.

After hearing so many people complaining on this issue and no-one finding a good solution, I took it to find the source of this annoyance.!

Enter TMM. Transient Multimon Manager. This is a feature of Windows Vista that is designed specifically for mobile users (laptops, etc..). What this feature does, is that it keeps track any changes to your display settings and try to provide a best experience possible. Right...;)

The TMM runs as a scheduled task. In Vista, bring up the Task Scheduler, and under the Windows tasks, you will see the TMM entry:

UPDATE [5/12/07]: It is by default under the MobilePC hive. I have deleted the TMM entry and then imported, so my snapshot is wrong. [thanks Jim for pointing that out.. :D]

You can right click on it and select to either Disable it or Delete it.

After you disabled or deleted, then click on the actions panel and click on the Display All Running Tasks link to see if it still running.

If so, then select it and click on the End Task button.

That's it.!! This shuffling of monitors will never happen again.

Notes: The only downside to deleting the TMM task, is that if you have dual monitors, and you have some programs that are displaying on the secondary monitor. If you un-plug the external monitor, then Vista will NOT put those programs back into your main monitor. Which means that those programs are now displayed somewhere else that you can't see or access. A workaround this will be to manually put all of the programs back to the main monitor before un-docking your laptop.

Other than that, I can see no other negative impact on deleting the TMM task. If you prefer, you can export the TMM task and save it to an xml file.


Jim Holmes said...

FWIW, TMM was under the MobilePC folder in my scheduler.

Great find -- thanks!

Arnulfo Wing said...

yeah. I exported the entry and deleted it. Then I thought I will share the information, so I imported back, but apparently I imported into the wrong hive. Thanks Jim. :)

Eddie said...

you could disable the task (in the trigger tab), instead of deleting it, which makes it easier to reinstate the task (if you ever need to have it back the original way).

another way to bring the programs into whatever monitor they should be on before OR after unplugging is to right click on the task bar and select "cascade/show stacked/show side by side" windows

Arnulfo Wing said...

Thanks Eddie. That's true that disabling the TMM instead might prove worth keeping for the future. BTW, I did like your tip on the side-by-side. Nice :), thanks for sharing.

kevin said...

Latitude D820, nVidia nv120
Latest Driver from Dell website seems to fix this problem.

I had to run the setup.exe as WinXp compatabiltiy, and I got one blue screen... but after that so far so good (crosses fingers).

Arnulfo Wing said...

Thanks Kevin. I will look into this driver update.

David Boyang Xue said...

hello!! I have a quick question! I deleted TMM, what do I have to do to get it back!!!???

Arnulfo Wing said...

I have created a new post with the XML settings that you need to import to recover your TMM settings.

Hope this helps.


David said...

Thanks very much for the link and your help. but the xml file for TMM you posted seems missed the header... I exported my friends tmm from his computer and I have posted it on my page...

Anyway, Thanks for the help and have a nice day!

Arnulfo Wing said...

you are very welcome.! I have fixed the header. Thanks for letting me know.

cp said...

Thank you so much. This has been driving me nuts for ages.

Arnulfo Wing said...

CP, you are very welcome.