subdiff added a comment.
Just a heads up: Atomic mode setting allows to scale buffers / content of a plane directly instead of using GL. But I assume this would be possible to add later. Something else: How does this work, when Gl / compositing is skipped (i.e. in my case for the direct scanout of a wayland buffer)? Is it then not scaling at all? We need to make sure that in this case the dimensions are still fine. Otherwise we need to restrict direct scanout to AMS only. INLINE COMMENTS > egl_gbm_backend.cpp:159 > o.output = drmOutput; > - o.gbmSurface = gbm_surface_create(m_backend->gbmDevice(), > drmOutput->size().width(), drmOutput->size().height(), > + auto size = drmOutput->size() * drmOutput->scale(); > + You could add to `struct Output` a value for that, which you then use in makeContextCurrent. REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D3504 To: davidedmundson, #plasma, graesslin Cc: subdiff, graesslin, plasma-devel, kwin, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol