D9463: XRandR: implement scaling support

Daniel Vrátil noreply at phabricator.kde.org
Thu Dec 21 15:34:17 UTC 2017


dvratil created this revision.
dvratil added reviewers: sebas, davidedmundson.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.

REVISION SUMMARY
  Add support for reading and updating output scaling. Unlike Wayland,
  XRandR supports non-integer scaling factors so a new Config feature
  has been introduced for XRandR to be able to tell clients that it
  supports non-integer scaling factors. The scaling is represented as
  a QTransformation matrix on CRTC and is applied before RRSetCrtcConfig
  call.
  
        
  
  This becomes useful for people who combine HiDPI and non-HiDPI screens.
  In my case, I found out that the only really working solution is to not scale
  the applications  (since that does not work as you move windows between
  screens), but instead of scale the non-HiDPI screen in XRandR by 1.5, thus
  achieving a similarily-sized windows on both screens.  To make this persistent,
  KScreen needs to remember not just resolution and rotation of each screen,
  but also their scale, so that it can be applied during session start.

TEST PLAN
  Set scaling on one screen to 1.5
  
  xrandr --output DVI-I-1 --scale 1.5x1.5
  
  Logout, log back in, observe KScreen has correctly restored screen configuration, including the scaling.

REPOSITORY
  R110 KScreen Library

REVISION DETAIL
  https://phabricator.kde.org/D9463

AFFECTED FILES
  CMakeLists.txt
  backends/xcbwrapper.h
  backends/xrandr/xrandr.cpp
  backends/xrandr/xrandr.h
  backends/xrandr/xrandrconfig.cpp
  backends/xrandr/xrandrcrtc.cpp
  backends/xrandr/xrandrcrtc.h
  backends/xrandr/xrandroutput.cpp
  src/config.h

To: dvratil, sebas, davidedmundson
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171221/c0f9e2d0/attachment.html>


More information about the Plasma-devel mailing list