@Portisch @vpeter - pinging you because you may have missed my previous post, which was supposed to be a “mini" bug report.
I tried to investigate a bit with the help of Claude AI, which ended up with the following short summary from Claude:
In
WinSystemGbmGLESContext::SetFullScreen(),TrySwapBuffers()is called unconditionally — even on Hz-only changes whereCreateNewWindow()is correctly skipped:if (res.iWidth != m_nWidth || res.iHeight != m_nHeight) CreateNewWindow(...) // skipped — resolution unchanged m_eglContext.TrySwapBuffers() // called unconditionally CWinSystemGbm::SetFullScreen() // OnLostDevice + modeset + FlipPage(rendered=true)This rotates the GBM buffer pool before the modeset commit, so
LockFrontBuffer()returns a different buffer than what was last committed to the DRM plane. Whether this is the direct cause of the incorrect framebuffer appearing during the second modeset would need to be verified.As a side note: enabling Kodi debug logging prevents the bug from reproducing, because the debug OSD keeps the GUI plane continuously rendered and committed, which eliminates the exact “no recent GUI activity” condition that appears to trigger the issue.
I’m not saying that what Claude stated is completely correct, but at least it may be close to reality.
EDIT – Round #2:
Additional testing with no_fr_hint enabled in the YouTube add-on confirms that the fractional framerate hinting is not the root cause — the issue is caused by the second, corrective modeset triggered by CVideoPlayerVideo::CalcFrameRate approximately 5 seconds after playback starts, regardless of whether hinting is enabled or disabled.
By the way, this bug is completely independent of the hint setting, because it only sets whether the hint should be an integer or fractional value. The final outcome will be the result of whether the hint was correct or not.
EDIT 2 – Here is a fresh log from a new installation, where the error occurs anyway. Only the Youtube addon is installed, not even aml-vnc is installed:
https://paste.coreelec.org/KudosBlessed
EDIT 3 – This bug has been fixed in the July 22 nightly build: Amlogic-NO discussion - #3970 by dtech
