D24112: [platforms/drm] Disable setting 90° transformations
Bhushan Shah
noreply at phabricator.kde.org
Fri Sep 27 11:52:47 BST 2019
bshah added a comment.
Some more debugging with master branch,
I added following debug in doAtomicCommit
qCDebug(KWIN_DRM) << "BSHAH " << m_mode.hdisplay << m_mode.hsync_start << m_mode.hsync_end << m_mode.htotal << m_mode.hskew << m_mode.vdisplay << m_mode.vsync_start << m_mode.vsync_end << m_mode.vtotal << m_mode.vscan << m_mode.vrefresh << m_mode.flags << m_mode.type << m_mode.name << really << flags; //really is whether commit is real or test
And ran following to capture relevant output in kwin log.
kscreen-doctor output.2.rotation.left && sleep 2 && kscreen-doctor output.2.rotation.normal
Which results in following,
At startup we have set following mode, and it all is correctly, first is test commit and next is final commit
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 1280
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 1 1025
kwin_wayland_drm: Atomic Modeset successful.
After that it's mostly repaint/pageflip commits
<snip>
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 256
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 1 513
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 256
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 1 513
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 256
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 1 513
</snip>
Now once kscreen-doctor command is executed, it commits the test commit,
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 1280
kwin_wayland_drm: Atomic request failed to commit: No space left on device
kwin_wayland_drm: Atomic test commit failed. Aborting present.
Which fails with no space left on device. (ENOSPC).. Sleeping for 2 seconds continues same spam loop, with same mode set, despite in test commit fallback code we trying to set previous mode and transformation.
kwin_wayland_drm: Atomic test commit failed. Aborting present.
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 1280
kwin_wayland_drm: Atomic request failed to commit: No space left on device
kwin_wayland_drm: Atomic test commit failed. Aborting present.
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 0 1280
kwin_wayland_drm: BSHAH 1920 1968 2000 2082 0 1080 1082 1087 1144 0 0 9 0 1 1025
kwin_wayland_drm: Atomic Modeset successful.
After 2 seconds, setting normal rotation make it send same test commit and it passes :/ It is quite weird because despite we setting same transformation back in "if test commit fails" code base, it doesn't actually manage to set that, but later works fine.
Next I'll enable LIBGL_DEBUG=verbose and see if this makes any sense or provides me with reasoning why it does this.
PS: any simple way or function to transform mode to string rather then looong debug I have? :P
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D24112
To: romangg, #kwin
Cc: bshah, zzag, apol, kwin, LeGast00n, The-Feren-OS-Dev, sbergeron, jraleigh, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20190927/03b5b5c0/attachment.html>
More information about the kwin
mailing list