The kwin code was written to treat scale as non integers, we just need
to switch to the relevant float version of methods.
Details
- Reviewers
mart graesslin romangg - Group Reviewers
KWin - Commits
- R108:7aedacd89eb2: Fractional scaling in DRM kscreen integration
Used kscreen-doctor to change this
Konsole resized as appropriate
Plasmashell was all broken, but that's expected until QScreen::size is based on the
xdg-output virtual size
Diff Detail
- Repository
- R108 KWin
- Branch
- master
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 472 Build 472: arc lint + arc unit
plugins/platforms/drm/drm_output.cpp | ||
---|---|---|
808–815 | Formatting nitpick: put a whitespace between // and text. |
plugins/platforms/drm/drm_output.cpp | ||
---|---|---|
814 | I think we want to ceil. Otherwise you might upscale the client buffers for example from 1 to 1.4 and get blurriness. With ceil you always downscale. I would have liked to multiply, but a scale of e.g. 1.1 then would result in a scale factor of 10, what is quite many pixels to draw. |
plugins/platforms/drm/drm_output.cpp | ||
---|---|---|
814 | Quite probably. I'd like to see it tested on your relevant device. Also a big regret from my x scaling is I think I want to allow steps of 8ths instead of 10ths. In binary they're much more nice round numbers which will always be represented correctly in a double. |