WIP: RFC: samsung-klte: add GPU hardware acceleration
This fixes #319 (closed) by choosing option 3 because options 1 and 2 have failed.
As you can see this work has several steps split into 4 commits, and all of them are needed to succeed.
First we need to fork kwin to make it more versatile with regard to plugin selection/autodetection. Second, then we can add hwcomposer backend as a separate package, built in multiple variations for different android versions, CAF/non-CAF variants. Failed upstreaming attempt is https://phabricator.kde.org/D22418
Third, we have to tweak plasma-phone-components a little bit, to allow launching kwin with different backends for different situations. This is also currently discussed in https://invent.kde.org/kde/plasma-phone-components/-/merge_requests/56
4th step is the last, adjusting klte device package with a smart subpackage (
device-samsung-klte-hybris-plasma) that pulls needed kwin plugin. It will be installed only with nonfree-userland (on halium adaptation) and kwin.
P.S. 3rd commit (changing kwinwrapper logic in plasma-phone-components) can be useful on its own, it brings back possibility for all our "150+ booting devices" to boot plasma-mobile UI on framebuffer.
P.P.S. There is also an option to tweak kwin even further, like current revision in D22418, so that plugin autodetection is fully automatic, this way we may not need changes to plasma-phone-components at all.
P.P.P.S. I got several messages from users during last half of the year about how to launch plasma-mobile on samsung-klte... Let me finish this downstream port at this step so I can move to something better. For example add mainline support? Some other device..?
- make sure that mainline/drm devices can still boot to plaMo with this (like PinePhone/Tab?)
- make sure that libhybris devices can boot to plaMo
- make sure that framebuffer-only devices can boot to plaMo (and suffer! but that's another story)