Introduction / 简介
This is a Magisk module that enables to show the hidden "Low-brightness flicker-free eye comfort" option in Display settings.
这是一个 Magisk 模块,它能够使得隐藏的“低亮无频闪护眼”选项被显示出来,这个选项位于显示设置中。
It should be at least compatible for OOS12, OOS13, ColorOS12 and ColorOS13. I didn't check other varients for their compatibility.
理论至少兼容 OOS12、OOS13、ColorOS12 和 ColorOS13 ,也许能够兼容更多的系统但是我没有具体调查过。
Showing this option doesn't mean that it'll work as expected, it NEEDS kernel support.
Only tested on Oneplus 8 running OOS13.
显示了选项并不意味着它能够正常工作,它是需要内核支持的。
仅在运行 OOS13 的小 8 上进行了测试。
Download / 下载
Technical details
The visibility of this option depends on an oplus-feature
named oplus.software.display.dcbacklight_support
. In theory, we can enable this feature by simply putting a new file into the permissions
folder of one of the oplus specific partitions e.g. my_product
.
Like:
my_product/etc/permissions/dc_dimming.xml
<oplus-config>
<oplus-feature name="oplus.software.display.dcbacklight_support" />
</oplus-config>
But, for now, Magisk doesn't support those OEM specific partitions.
Thus we need a workaround. I've done this by catting one of the oplus-configs into the module folder, insert the feature and then bind mount it back to the origin. This is done on post-fs stage, so system server won't know that the config has been changed. You may wonder how did I deal with the selinux context. Well I did nothing because the whole magisk module folder is already under u:object_r:system_file:s0
so it won't hurt anything.
Feel free to unpack and see the codes :)