Screen resolution upset after power cycling TV and AVR
#1
Hi,

I'm excited to be using the new features available in Jarvis this week, especially the improved built-in PVR handling. However, I have a frustrating problem where after restarting my TV and AV receiver, the full screen Kodi window is distorted. It either ends up too small (exactly like this) or massively oversized with only the top corner visible on the TV.

I've done a bit of troubleshooting and discovered the following:
  • My previous install of Kodi 15.2 didn't have this issue, and was identical otherwise. I think I will roll back to this version some time this week to double check. Update: Kodi 15.2 also has this problem. It must be a coincidence that it started after updating
  • The issue doesn't occur when my HTPC is connected directly to the TV, bypassing the AVR
  • Switching the TV on several seconds before the AVR also gets around the issue
  • Updating my GPU driver didn't help
  • The issue is the same, no matter which skin I use
  • The system setting Use a fullscreen window rather than true fullscreen doesn't help, however toggling it on or off will restore the correct resolution until the TV and AVR are powered on next

Is anyone else experiencing this problem? Since everything was happy in previous versions of Kodi, I'm hoping to avoid nasty hacks like the HDMI pin 19 mod mentioned in the post linked above.

I'm running Kodi on Windows 7 x64, with an AMD HD 6450 graphics card, through an Onkyo TX-NR525 receiver via HDMI to an LG TV running a 1080p resolution with no over/underscan.

Cheers,
Jon
Reply
#2
Yep, I've started getting this too. I find just playing any video file will correct it.

Windows 10 x64, Intel i3 NUC, Intel HD graphics, through a Yamaha rx750 amp via HDMI to a Samsung TV at 1080p - so no similarities hardware-wise. Usually it's just the screen enlarged, but for the first time yesterday I had that tiny squashed screen in the top left of the desktop. I am using full screen, so it does feel odd that the desktop was visible when that happened.
Reply
#3
intel gfx made by satan
Reply
#4
same problem on AMD APU and an AVR Sad
Reply
#5
(2016-02-29, 14:43)jonathan.holvey Wrote: I'm excited to be using the new features available in Jarvis this week, especially the improved built-in PVR handling. However, I have a frustrating problem where after restarting my TV and AV receiver, the full screen Kodi window is distorted. It either ends up too small (exactly like this) or massively oversized with only the top corner visible on the TV.
http://forum.kodi.tv/showthread.php?tid=...pid2256972
Reply
#6
(2016-03-03, 20:14)Scythe42 Wrote: http://forum.kodi.tv/showthread.php?tid=...pid2256972

Thanks for that. It seems at least a few others are suffering with the same issue.

In the end I found that Jarvis wasn't to blame, as after rolling back to v15.2 the problem was still present. I found that the solution in my case was to disable the service AMD External Events Utility, which prevents the graphics card from notifying Windows when the display's presence changes. A bit neater than the HDMI pin 19 fix, but it essentially does the same thing.

Unfortunately I don't remember exactly where I read about this service being the cause of the problem, but I saw it mentioned a couple of times in similar discussions.

I'm happy now as everything seems to be working smoothly. Smile
Reply
#7
(2016-03-10, 13:31)jonathan.holvey Wrote: In the end I found that Jarvis wasn't to blame, as after rolling back to v15.2 the problem was still present. I found that the solution in my case was to disable the service AMD External Events Utility, which prevents the graphics card from notifying Windows when the display's presence changes. A bit neater than the HDMI pin 19 fix, but it essentially does the same thing.

this is a Windows service installed by the AMD drivers? i'll look into this as well. But I didn't experience these resolution change issues until 16.0

my current "fix" is to have Kodi exit after 60 mins of inactivity. i already have the screen turn off after 30 mins, and i retrained my wife to hit the "On Demand" remote button i have bound to the start kodi action (windows green button).
Reply
#8
(2016-03-11, 16:46)jht3 Wrote: this is a Windows service installed by the AMD drivers?

Yes that's right.

I also didn't have this problem until using Kodi 16.0, however after re-installing 15.2 it didn't go away. Not sure what's going on there.
Reply
#9
Disabling AMD External Events Service handles certain power management stuff, this includes clocking the card up and down when needed as well. It also monitors the driver, state of the GPU and other related stuff. Yes, also handles hotplugging of devices. Quite a vital service in general for most setups.

If you disable it and play a game for example, it might happen that the GPU will not clock down later depending on which GPU and driver version you use. Worth a try if it is working for a given combo. Check with some GPU monitoring tool if the throttling of the GPU still works on your system. Though when playing movies your GPU is probably idle anyway...

The service does not have a UI to configure it, but you can control a ton of the GPU power management and related functions (unsupported of course)

That you did not see the problem on your system with 15.2 before upgrading is probably due to some registry keys that overriding the default resolution Windows should fallback to. Why they reset around the time of your 16.0 installation I cannot tell you. Must have been something else and Kodi does not fiddle with this to my best of knowledge (or there was a reference in the registry to Kodi 15,2 to prevent resetting these values as long as it was installed, meaning difference in settings in various parts of the registry related to software installation).

So give it a shot and try to set a new default resolution and see if it works for your setup.

HKEY_CURRENT_CONFIG -> System -> CurrentControlSet -> Control -> Video

Then there is an ID for the GPU, displays and so on different on each system. Under that you find a value named "0000". The correct one usually lists a display name below "0000" as well, which helps you to identify the right key. There might be quite a lot IDs there depending on your system and what changed there over time.

Below that are the settings Attach.RelativeX and Attach.RelativeY, DefaultSettings.XResolution, DefaultSettings.YResolution. (first combo is the current resoltution, 2nd combo is the default resolution the display support).

Setting the default to e.g. 1920x1080 might prevent Windows to fallback to a default resolution when a display is disconnected by whatever means and therefore making windows on the screen smaller. Depends on the GPU, driver version, and the involved Hardware in the chain as well depending what announcements it sends. It might send information to Windows that take precedence over these settings.

If you never experienced the problem before then by whatever means it is likely that some other default values where set here. Give it a shot.

Also give DefaultSettings a quick search through your registry in case at some other HKEYs values are there that will override the current control set later. Now we enter the territory where EDID information is stored. But unlikely that this is involved or plays a role. But it could...

And for some ppl. good old HDMI Pin 19 trick might work (or Default Settings plus Pin19)

Also it might be worth to test Exclusive Fullscreen vs. Fullscreen (aka Borderless Window). Contrary to popular belief on modern Windows version you should only choose exclusive Fullscreen if you really have to as certain GPUs/Driver combos behave different here. Not going into that here or starting a discussion...

But as said, a Software is responsible to deal with resolution change announcement by the OS. If not Windows will just put it at screen coords 0.0 and scale down if needed (but never scales up again). The later is what a Software needs to do.

Minimizing the app to the background on sleep (display removal plug and play message is sent by the OS when entering sleeping) is also a solution for a software to deal with this. But then it needs to handle automatically restoration if it was not put in the background manually.

Let me know if the Registry Keys work for your setup as it might help other as well until Team Kodi deal with this issue (or someone provides a PR - as said I don't know the Windows code base here to provide one quickly - might take a look at this tough if I find some time).
Reply
#10
Pin19 works more than it fails if you can do it correctly.
Reply
#11
FWIW, since disabling the service Kodi has been stable all day. this pc is dedicated 100% to kodi so i'm not sure if it matters about the side effects you mentioned. i'm also forcing my monitor resolution w/ a EDID override now.

i'll look into my registry settings, as i've never heard of them described before. i've had this same install running for 4+ years so no telling what junk is there. what is odd is my Kodi resolution would change in two ways...a small 1/4 size window in the top left corner, and a 4x zoomed in window. so your explanation of it reverting to some sort of default size doesn't make sense to me as the size it changed kept switching.
Reply
#12
The size of the window should always be the default resolution your system reverts to, usually 640x480 per standard: But some displays force 1024x768 to be the lowest resolution. It is 1/4th you are seeing.

The 4 times zoomed in is the same thing. It is the the default resolution part of the D3D backbuffer scaled to the screen size and later "cropped" to the default resolution.

When resolution change there are some sideffects on D3D if resolution changes are not handled at all. There is some "scale to fit window" stuff that plays a role here that takes place automatically when the resolution change event is not handled. Just a different symptom with the same root cause.

If fixed this stuff and some multi display and other stuff in MediaPortal some years ago. Exactly the same symptoms, different setups showed different symptoms of the same root cause.

As said the Registry Keys might work on some system. The question is here if the GPU Driver will always honor these or if something in the driver for that GPU or something in the HDMI/Display Port chain will take preference.

And if it's a dedicated HTPC machine you should not have any problems with turning off the External Events service. The GPU will always be under the threshold for serious up and downclocking anyway.
Reply
#13
based on your previous post, i dug into the registry and I have three keys under the tree you mentioned, all with a default res os 1024x768 but no way to determine which of those three is active/maps to my gpu (amd apu). i then searched the entire registry for DefaultSettings and found a ton of entries in HKLM that look VERY like those in HKCC, except a few list 1920x1080 as the resolution and look like the values i'm forcing w/ custom monitor.inf.

anyways, i chose not to muck around in there and leave my current setup (custom .inf and disabled amd service) as its the most stable its been in years. i have a few things in my chain between the htcp and screen that can mess w/ edid and resolution....cat5/hdmi baluns and hdmi switch, so i'm leaving well enough alone. i've been through multiple tv's, amd driver updates, and kodi versions that probably added all these values. if i ever "upgrade" to 8.1 or 10 (or just reinstall 7), maybe i'll play w/ those.
Reply
#14
Yeah with all the changes over the years accumulate as Windows is remembering these setups for the purpose of re-identification, disabling of the service should be your safest bet on a dedicated machine.

But would not hurt trying to set the three value in HKCC to 1920x1080 and see if that might be enough, meaning nothing else takes precedence in your setup.

You could also look into providing a custom monitor.inf that tells Windows 1920x1080 is the only supported resolution. Though I never tried that as I never had the need for an EDID override myself.

Cat5/HDMI baluns should have no side-effects. At least not the ones I use ever made any issues in any setup. For me they were always plug and play....

My system went through similar iterations but including cloned installations from one machine to another beside upgrades since Vista. No reinstallation ever took place.

But once I upgrade to 4K I will have to revisit this problem for sure as with 4K TVs new stuff comes in here. At this time I am probably force to patch XBMC to deal with resolution changes on Windows and related stuff...
Reply
#15
i've been experiencing odd display issues with other devices too. cisco fios box especially as it doesn't appear to meet all the hdmi/hdcp specs and i get a solid blue screen with two devices inline...the cat5/hdmi adapter and hdmi switch. workaround was to ADD an hdmi splitter using only one leg to "reclock" the signal and all works. so while the cat5 converters and switch SHOULDN'T muck with the signal, i find that it does due to poor vendor implementations. i've tried other switches w/ the same results, so who knows. the chip used by the convertors are all the same so that shouldn't be the issue either. i've also tried numerous hdmi cables, etc.

while i have a custom .inf for my display, it is possible i don't need it due to this AMD driver/service getting in the way. but i still doubt it as i have similar resolution/edid issues when trying kodi on linux (openelec and custom installs). another symptom i've been experiencing is losing the hdmi audio ouput in windows.

so at least for me, the edid override and disabled service seems to be the fix i've been looking for. for the last couple days both windows and kodi have been rock solid. and thanks to you i've learned more about what windows is doing behind the scenes.
Reply

Logout Mark Read Team Forum Stats Members Help
Screen resolution upset after power cycling TV and AVR0