D5249: [RFC] New effect plugin - projector (keystone) correction
Krzysztof Nowicki
noreply at phabricator.kde.org
Wed Mar 29 18:58:17 UTC 2017
nowicki created this revision.
nowicki added a project: KWin.
Restricted Application edited projects, added Plasma; removed KWin.
Restricted Application added a subscriber: KWin.
REVISION SUMMARY
I have been using my laptop to display content on a projector and sometimes I have encountered some cheap/broken device that either cannot be set-up properly or it is fixed to the wall with no way of doing any adjustments. This led me to the idea to do this transformation in software. I have found that KWin - due to its nice architecture - is a good place to hook up into.
I am aware that at least on X (not sure about Wayland - never been there yet) it is possible to configure a transform matrix with a specific output using XRandr. Unfortunately this seems to be rarely used and thus broken on all drivers I have attempted to use it (nVidia proprietary, amdgpu, qemu/qxl).
This patch is a working concept, which I am aware has some shortcomings. Window frames are rendered with ugly aliasing and interaction with other effects can sometimes lead to funny results. Nevertheless if you consider that it will be mostly used to display a full-screen window with a presentation, it does the job quite nicely.
The configuration is very basic ATM - a DBus interface is exposed to set the target rectangle on a given output. This is because I am not exactly sure where the configuration of this effect should be done. From KWin architecture POV it should receive its own config window. However from UX POV it might be better to hook it up with the KScreen KCM, so that the correction can be adjusted per display and optionally be stored along with the KScreen configuration.
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D5249
AFFECTED FILES
autotests/mock_effectshandler.h
effects.cpp
effects.h
effects/CMakeLists.txt
effects/effect_builtins.cpp
effects/effect_builtins.h
effects/projector/CMakeLists.txt
effects/projector/org.kde.kwin.ProjectorEffect.xml
effects/projector/projector.cpp
effects/projector/projector.h
libkwineffects/kwineffects.h
To: nowicki, #plasma, graesslin
Cc: kwin, plasma-devel, #kwin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170329/7b3f64ea/attachment-0001.html>
More information about the Plasma-devel
mailing list