Color Vision Deficiency Simulation
Needs RevisionPublic

Authored by vkrause on Sep 14 2017, 10:01 PM.

Details

Reviewers
gladhorn
graesslin
Group Reviewers
KWin
Summary

Add a color blindness simulation shader as KWin plugin.
This simulates typical forms of blindness and helps making applications work despite them.

Diff Detail

Repository
R108 KWin
Branch
arcpatch-D7832
Lint
No Linters Available
Unit
No Unit Test Coverage
gladhorn created this revision.Sep 14 2017, 10:01 PM
Restricted Application added a project: KWin. · View Herald TranscriptSep 14 2017, 10:01 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
vkrause commandeered this revision.Sep 15 2017, 8:17 AM
vkrause updated this revision to Diff 19552.
vkrause added a reviewer: gladhorn.

Fix license/copyright header of the shader, and document where we got that code from.

graesslin requested changes to this revision.Sep 15 2017, 1:25 PM
graesslin added a subscriber: graesslin.

Honestly I'm not sure whether this makes sense to include into KWin directly. While it's a nice gimmick I don't think it's something we should ship with default offerings. Is that really something every user needs in a default setup? This might be handy for development setup, but not in general to ship.

Given that I'm against including that into KWin. Furthermore this adds a certain cost for the maintainers of KWin. Shader based binary effects are those which cause most issues when evolving the code. This is something I'm not willing to burden on myself for a gimmick.

I suggest to use the good old KWin binary effect plugin API which still exists and make this a standalone plugin outside the KWin source tree.

effects/colorsimulation/data/1.40/colorsimulation.frag
5–11

This is incompatible with KWin's license. I'm not willing to give up the option to have KWin under GPLv2-only. As KWin links in the effects this would put KWin under GPLv3+. So far any code in KWin which requires GPLv3 was optional and could be removed at build and runtime.

This revision now requires changes to proceed.Sep 15 2017, 1:25 PM

Yes, it is primarily a developer tool, so I understand your concerns. Sounds like our assumption that shader-based effects can't be done with scripting was correct though, this will need a binary plugin, right? We'll look for a different place to put this then.
The license is indeed sub-optimal, but it was hard enough to find a free and comprehensive implementation of this to begin with, so we will need to live with that I'm afraid. Outside of kwin this shouldn't be a problem though.

Sounds like our assumption that shader-based effects can't be done with scripting was correct though, this will need a binary plugin, right?

Yes, shader-based effects need to be binary and yes it needs to be a binary plugin. An example is in kwin/autotests/fakeeffectplugin*