Broken Video calibration settings not being saved on Shield
#1
I have an annoying issue with the video calibration settings (overscan and subtitle settings) not being saved in Kodi on my Shield.

I have tried both Kodi 18.4 latest nightly (from 28-Oct) and Kodi 19.0 Alpha1 nightly (also from 28-Oct) and both exhibit the same behavior.

When I go into System Settings -> Display and enter the video calibration menu, I can set the overscan and subtitles positions. When I then leave the menu and go back, my settings are still visible. But when I change the refresh rate and then go back to the previous refresh rate, the settings are lost.

I have seen that the settings are not being saved in guisettings.xml (top left overscan stays at 0,0 and subtitle position stays at 1042).

Also, when I manually edit guisettings.xml, for example like this, Kodi ignores the settings and still uses its default settings:
Code:
        <resolution>
            <description>1920x1080 @ 59.940060 - Full Screen</description>
            <subtitles>1012</subtitles>
            <pixelratio>1.000000</pixelratio>
            <overscan>
                <left>19</left>
                <top>10</top>
                <right>1901</right>
                <bottom>1070</bottom>
            </overscan>
        </resolution>

I have also noted an issue as already described in some other threads, where changing the overscan and subtitle positions while playing a video and then exiting the calibration menu will result in the screen getting stuck and after stopping the video, menu items turn black.

Any help would be appreciated.
Reply
#2
Same issue here, but haven't tried what you did.
Reply
#3
I have the same issue:
github issue
Reply
#4
I added a comment on github and included a debug log as well.
Reply
#5
I posted this on Github as well, but in case that is missed, I'm repeating it here:
Quote:In the mean time I did some further testing on my Shield:
 
  • I completely uninstalled Kodi and installed a fresh copy of the release version of Kodi 18.2 (arm64-v8a)
  • Tested overscan and subtitle settings while switching between different refresh rates -> All settings retained
  • I installed Kodi 18.3 release version over 18.2
  • Tested overscan and subtitle settings while switching between different refresh rates -> All settings retained
  • I installed 18.4 release version over 18.3
  • Tested overscan and subtitle settings while switching between different refresh rates -> Settings no longer retained!

So it looks like some kind of regression occured somewhere between version 18.3 and 18.4 that breaks reading back the overscan and subtitle position settings from guisettings.xml.
Is there an easy way to see which changes were applied between 18.3 and 18.4 through Github? Maybe if there are not too many it would be possible to pinpoint where things went wrong?   
Reply
#6
*kick*

Can I kindly ask as developer to look into this please?

I did extensive testing and posted a debug log on Github.

And I think my clean install of 18.2 and then upgrading to 18.3 and 18.4 definitely proves something is not right when reading the subtitle position and overscan settings from guisettings.xml.

Thanks!
Reply
#7
@fritsch You are probably a very busy man, but is there any way you could shed some light on this issue? Thanks!
Reply
#8
Some to me, idem issues, Shied Tv 2017 and lastest versions of KODI 18.XX 19.XX. MRMC work ok.
Reply
#9
This is not android/shield specific, it happens to me on a raspberry pi.
Reply
#10
*kick*

Still hoping for one of the developers to take a look at this. Issue is unfortunately still present in the 18.5 stable release.
Reply
#11
Still hoping this will be fixed... Tried the latest 18.6 nightly (kodi-20191213-d10fb3b6-Leia-arm64-v8a) but no joy Sad

Is there really no developer who can look into this? I'm finding it hard to believe that something that worked in version 18.3 and stopped working in 18.4 cannot be fixed.

I'm no developer myself, but if new logs are needed or a debug build needs to be installed, please don't hesitate to ask.
Reply
#12
(2019-12-18, 00:20)MrMagic Wrote: Is there really no developer who can look into this?
Please remember we all do this in our spare time as a hobby.
Reply
#13
(2019-12-18, 08:19)Hitcher Wrote:
(2019-12-18, 00:20)MrMagic Wrote: Is there really no developer who can look into this?
Please remember we all do this in our spare time as a hobby. 
I didn't mean any disrespect.

It's just frustrating that a feature that used to work fine and that I use on a daily basis suddenly stopped working.

As a I wrote above and on Github I did some fairly elaborate testing with clean installls of Kodi 18.2 to 18.5 and determined that the issue started in version 18.4 and also occurs after a clean install on my Shield.

I was hoping this would pinpoint the issue a bit more and make it easier for a developer to determine the cause.
Reply
#14
Spent quite a few hours today trying to debug the issue myself, but no luck sofar.

I built a virtual Ubuntu build system as described here: https://github.com/xbmc/xbmc/blob/Leia/d...Android.md

I was able to successfully build a working debug version of the current Kodi Leia branch and install it on my Shield.

After that I started adding some LOGINFO calls to the source code in the file "xbmc/settings/DisplaySettings.cpp"

I think I found out where things go wrong, which is in this part:
Code:
void CDisplaySettings::ApplyCalibrations()
{
  CSingleLock lock(m_critical);
  // apply all calibrations to the resolutions
  for (ResolutionInfos::const_iterator itCal = m_calibrations.begin(); itCal != m_calibrations.end(); ++itCal)
  {
 
    // find resolutions
    for (size_t res = RES_DESKTOP; res < m_resolutions.size(); ++res)
    {
 
      if (StringUtils::EqualsNoCase(itCal->strMode, m_resolutions[res].strMode))
      {

The last if statement never becomes true, because the m_resolutions[res].strMode field is always empty.

I tried to figure out where this array of resolutions gets built, but unfortunately my programming skills are not sufficient Sad

I know that something is being done in the files "xbmc/windowing/android/AndroidUtils.cpp"  and "xbmc/windowing/android/WinSystemAndroid.cpp", but I cannot figure out why the strMode field stays empty.

I noticed in the comparison between version 18.3 and 18.4 that quite a bit of stuff related to resolutions was changed in the WinSystemAndroid.cpp file:

https://github.com/xbmc/xbmc/compare/18....a49502479c

Hopefully my research helps the developers a bit in tracking down this bug Smile
Reply

Logout Mark Read Team Forum Stats Members Help
Video calibration settings not being saved on Shield0