I have a new 6870 Amd Radeon adapter with its drivers set to 1080p 60Hz resolution hooked up to a 2008 47" high end Samsung HDMI based TV.

However, when the tv is turned to a different HDMI input -(when I come back into windows) somehow Windows decides to resize all the open apps to a lower resolution - including some of the side docked hidden pop-outs. When it resizes those though - it just sticked the pop-outs in the middle of the screen and all the resized windows from the open applications in the top left corner - all of them stacked on top of each other and resized to the smaller resolution.

The things that seem to be ok after returning are the icons on the desktop, the taskbar, and the sidebar.

Anyone have any knowledge of 1) how this happens 2) why it happens 3) how to stop it from resizing the applications and some of the docked pop-outs (they are not really resized after returning - they are just stuck in the middle of the screen approximately where they would be if the right or bottom sidebar should be if the screen was resized to that lower resolution).

My hypothesis is that upon losing HDMI signal - that Windows is told by something (driver, or windows itself) that the resolution to be without a signal being present (noting that HDMI signals and handshakes are two way on HDMI devices. If it loses the signal or the tv is switched to another device - then the display adapter must figure that out and tell Windows or figures it out and designs randomly to change the display size).

Any and all help is most appreciated. I asked AMD/ATI - but they said they don't know why or how this is happening. I was hoping that maybe this is THE place that the super users truly go to - those that develop display adapter drivers, or that dive deeply into these areas of windows. If there is better sites or just competing sites - please advise - noting I have already written AMD/ATI.

Response / Additions 4/7/2011

It is really nice to get your reply Shinrai. (BTW is it proper etiquette on these forums to have a discussion?) Yet 'only one issue' - I am using a single display in this case - so Windows doesn't move application windows to another desktop. Windows (or something) decides to shrink the desktop it currently has and resize all windows to the maximum size of the desktop. As such I would be glad if Windows would just keep the current size of the one desktop that is in operation.

I also know that this does NOT happen on monitors connected with DVI. There I have had one and two monitors setup and it doesn't resize those screens at all when disconnecting monitors, turning them off, whatever... they stay solid - everything in place - to such an extent that if you forgot the other monitor is off - you will have troubles finding some windows without using one of the control app utilities.

So if I could even get the HDMI handling by Windows (or the display driver) ( 1] which is doing this anyway the display driver or Windows - and 2] where is that other resolution size (1024x768) coming from - its not the smallest and its not the largest?) to be having like DVI - Life would be golden (for this aspect anyway).

** found others with same problem in this thread: http://hardforum.com/showthread.php?t=1507324

  • I never saw your response until today. You should have left a comment on my answer rather than making an edit to your question, which is both bad form and doesn't notify me. That said, the problem is still a hardware one, so short of buying another monitor or adding something to spoof the signal you're probably out of luck. – Shinrai May 15 '11 at 16:08

16 Answers 16

I have been digging around this problem for two days, and found few types of solutions:

  1. Universal solution, software program PersistentWindows, which saves all windows position and monitors display. If resolution is changed and changed back, then it restores same sizes and positions! Exactly what I wanted. Latest version just does it's work, and silently sits in systray. Link

  2. For some ATI users work, for some not, there are confirmations that it works. Solution is to use registry hack with key DMMEnableDDCPolling, to disable monitor connection polling under Windows at all. Caveat is that you need to restart the system after change, and in case you need just quickly connect some external screen, it is not convenient. Link

  3. Lucky are NVIDIA card owners. The solution is to hardcode monitor EDID information to a VGA drivers onfile, and thus system thinks that this does not change. Link

  4. Hardware solution for HDMI connection, they sell their adapters on web and also eBay. Link

I stick with #1 for a while, and if will find more, then will share.

  • 1
    I received the feedback from a few others and have since turned it into a Systray app. Thanks for the reference and Enjoy! – Min Feb 27 '15 at 6:50
  • Option 1 worked for my 4k Seiki SE39UY04. – DharmaTurtle Jan 9 '16 at 16:56
  • For lucky NVIDIA card owners - check this, that helped me a lot !!! :) sites.google.com/site/ebobster/stuff/displayportblanking – maycca Sep 7 '16 at 12:12
  • I sent you a pull request, @Min, after adding a package reference to the config file, otherwise NuGet would fail. If you accept I'll send you a new one with added "run with Windows" option. – Tom Nov 13 '16 at 0:27
  • My problem was that the desktop icon positions were moving after a resolution change. I decided to resolve this by creating a very lightweight service that saves/restores the desktop icons after a resolution change automatically. Check it out: github.com/TomONeill/persistentdesktopicons – Tom Nov 17 '16 at 22:40

I had this issue with my Radeon R9, all I did was to disable the GPU scalling at AMD Catalyst.

But for some reason still occurs, first backup your registry! Then open your windows registry and go to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

Only under the "SIMULATED" keys, change the keys decimals to:

PrimSurfSize.cx = 1920
PrimSurfSize.cy = 1080

Under "00":

ActiveSize.cx = 1920
ActiveSize.cy = 1080

Change to what ever resolution you are using. This will prevent your window to shrink or move from one side to the other when you turn your monitor off.

  • This works for me, thanks! – Peter Apr 7 '16 at 17:33
  • This stops the windows resizing, but unfortunately for me it doesn't stop them all moving to the corner. – Tom Carpenter Nov 20 '16 at 17:25
  • Thanks, this fixed it for me! No reboot needed; windows don't migrate to the corner. I have 2 HDMI external monitors and the problem happened if I simply undock and redock without opening the lid (among other cases). Clearly, the display system was cycling through some display with 1024x768 resolution. Of course, the windows do migrate to the main display, which is understandable. This is a Dell laptop with Intel HD Graphics 520. – Jeff Learman Nov 21 '16 at 18:22
  • Interesting. It seems that the maximum simulated resolution is 1600x1200 on Win 7. Or at least, if I try to set the keys to anything bigger than that, it seems to ignore them. So for a UHD monitor it's rather annoying – Tom Carpenter Dec 21 '16 at 21:05

Your hunch is correct; the monitor is essentially shutting off the handshake on that HDMI channel when you switch the input. Windows 7 sees this as "There is no longer a monitor connected here", at which point it disables that output. Since that screen no longer exists, everything that was on it has to go SOMEWHERE, so it shuffles everything onto your remaining displays, and it is not graceful. When the display returns, Windows 7 will remember how you had things arranged to some extent, but it's not going to shuffle your windows back around (you may have closed or opened or otherwise moved them in the interim, after all!).

There's nothing you can do with display drivers that can fix this; it's the behavior of the operating system and while it's inconvenient for your situation it makes sense. (The alternative is having things on monitors that don't actually exist, which XP did sometimes and let me tell you it was a nightmare.) There may be some third party software that can force this to not occur, but I don't know of any offhand and I suspect you'd run the risk of causing other problems. (If anybody can actually post any I'll be glad to upvote those answers.)

  • I have a similar setup, with my laptop connected via HDMI to my Sony TV. However, when I switch inputs, or even turn off the TV, upon returning to the laptop input everything is exactly as I left it. Windows remain maximised and covering the whole desktop, sidebar gadgets stay the same and desktop icons are where I left them. This makes me think it is not an issue with Windows, and instead either the way it is set up (Hardware or Drivers), or something funny with the way the TV handshakes on HDMI. – Connor W May 15 '11 at 15:48
  • Also, the graphics card in my laptop is an ATI card (ATI Radeon HD 4530), so it is using the same 'ATI Catlyst Control Center' (Specifically version 2010.0706.2128.36662 for reference) software that I imagine is being used for the card in question. – Connor W May 15 '11 at 15:52
  • @Connor W - That's basically what I said. The monitors in this case are making Windows think they're disconnected, and when that happens everything gets shuffled around. Clearly your TV does not do the same thing, but that's not Windows' fault (as I state here). – Shinrai May 15 '11 at 16:07

No additional hardware required

  1. Install TeamViewer or Chrome Remote desktop on the computer with the problem, and enable remote connections.
  2. Turn the TV/monitor off.
  3. The resolution changes on its own.
  4. Log into the computer remotely using the software from step 1. As stated in the question, the resolution has changed.
  5. Increase the resolution back to normal (as it is when the TV/monitor is on), using your remote connection.
  6. The resolution will no longer switch when the TV/monitor is turned off.
  • I didn't think of this and I think this is a very clever solution. I checked if this worked for me but I noticed that my resolution changes when I turn ON my TV instead of turning it off. It changes back to the original resolution fast, too fast to change it in that short period of time the resolution is changing. – Tom Nov 12 '16 at 17:17
  • @Tom maybe try unplugging the TV as well? – brismuth Nov 12 '16 at 17:25

Your problem sounds like a variation of the one described here, which is also caused by loss of the HDMI handshake. The same hardware solution might work for you: place an Apogee 3x1 HDMI mini switcher between the PC and the TV, and it will make the PC think it isn't disconnected. I don't know whether any HDMI switcher will work or just the Apogee recommended at the above link.

After months of frustration and finally finding this thread, I found a workaround that seems to work for my single display setup (Windows 7 x64 + 24" Insignia TV). This is a generalization of the solution by David M., with the following advantages:

  • HDMI/DVI adapter not required
  • Can use VGA cable instead of DVI cable + adapter
  • Keep HDMI audio output (vital for my TV, which only supports audio line-in for its blurry analog VGA input)

However, a free VGA (PC) input on TV is needed, and two cables get committed to the setup:

  1. Connect PC to TV with HDMI cable
  2. Also connect PC to TV with VGA cable
  3. Control Panel > Display > Multiple displays > Duplicate these displays

Alternatively, DVI cable + DVI/HDMI adapter in step 2 also worked; the key observation was David M. pointing out that DVI works fine.

Now, when I power cycle or change input sources on my TV, the windows don't shrink or stack onto the top left. Not sure if this all worked just because my TV is so low-end...

The issue is caused by an annoy "feature" of Windows 7/8 to re-arrange application windows when HDMI/Display port connected monitor/TV "turned off" or "switch to" different input.

There is a hardware workaround if you use HDMI connection. Search ebay for "monitor detection" and get one around $20. It works for me on a Seiki 39" 4K TV with HDMI connection.

I was having the same problem on my LG 42" TV. After reading the posts here about spoofing the signal to Windows I thought of something. I had an extra DVI-HDMI adapter I no longer used. Plugged that into the DVI port on my video card and then the HDMI into that and no longer get the issue of windows re-sizing and whatnot. So it happened to be a really easy fix. You can get them at RadioShack or pretty much any electronics store. I'm glad I got this sorted out. Hopefully it works for others.

Researching the same problem, I found this thread claiming it can be repaired by messing around in the registry. I also found a thread by a guy who claimed it was a result of using DisplayPort.

I tried the registry fix, and it didn't seem to work (although I didn't reboot, if that makes a difference). Additionally, my misbehaving device is connected to a displayport on my graphics card from a DVI port on my monitor, and unfortunately I can't confirm the second account since I don't have appropriate adapters. But, I thought it might be useful.

Edit: ok, I got desperate and actually drove out to borrow a cable for this attempt. Changing from a DVI-I cable with DVI/DisplayPort adapter cable to a single-cable DVI-I/HDMI cable has fixed this for me. To me this suggests either that it is indeed a problem with DisplayPort, as suggested by the guy on HardForum, or that it's a side effect of using cable adapters. Either way, happy to be done with it.

Not a fix, but a workaround. I noticed that if you minimize windows before the display is powered off and do not restore them until the display has returned, then the windows are not rearranged.

I leverage that fact to provide a 'seamless' experience for myself as I have documented here: http://thelamprechts.blogspot.com/2014/09/a-windows-workaround-to-maintain-window.html

If you're using ATI you will need to create a new key in the registry under HKEY_LOCAL_MACHINE > System called DMMEnableDDCPolling. Set the Value to 0. It disables the video card from polling to see if something is still connected basically.

If you're using something other than ATI search the registry for the key DMMEnableDDCPolling and set the value to zero. NOTE: THE KEY CAN EXIST IN MORE THAN ONE PLACE. From what I read you must replace the value with 0 for every instance of that key.

Source.

In case anyone else encounters this, I'll just add my "fix". I found out that Windows 8.1 resized all of my windows/programs and such, when I put them on my TV. (Connected to my laptop, through a HDMI port.) I had to access the screen resolution menu, choose "Make text and other items larger or smaller", choose "Lad me choose one size for alle monitors" And then let them stay at 100%. DONE!

I had a similar issue since upgrading a Windows 10 machine to TH2 in November 2016.

Due to the various side effects a TV power cycle was having on my apps and desktop I eventually realized that turning off and on the TV caused Windows 10 to trigger a change of resolution and/or font size/DPI.

After some research I forced the same DPI for all my displays, virtual and physical by doing the following:

  • Go in Control Panel\Appearance and Personalization\Display.
  • Click on set custom scaling level.
  • Set it to whatever works for you. 100% was working fine for me.

Here is a link on how to adjust scaling.

I had this issue with a computer going to screen saver. When it resumed, my windows were re sized. I solved it by changing to another screen saver and then reverting back to the "photos slide show" screen saver.

  • Please read the question again carefully. Your answer does not answer the original question, which is about switching monitor inputs not screen savers. – DavidPostill Apr 20 '16 at 22:39

I was able to stop this resolution change by going into catalyst control center and turning on force edid emulation. Fixed!! Of course you need an AMD card and this feature needs to be present but I guess NVIDIA should have something like this too.

This is a super old question, but I actually have a really simple fix for Windows 10 users (It may work for 7 and 8, not sure).

I specifically wanted my windows to remember their positions, and was using a KVM to switch between two computers, but whenever I'd switch back, all the windows would move back to the primary monitor.

I found that if you click the small "Minimize All Windows" sliver in the bottom right, on your taskbar, before you make the switch, when you come back you can just click it again and the windows will return to their previous positions.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.