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 :)