[KERNEL][G935] AMOLED PWM flicker free

Search This thread

czar22

Senior Member
Apr 19, 2011
490
613
Thx for the link ?

The phone won't boot on MM 6.0.1 Phoenix ROM any fix?
 

Wootever

Senior Member
Jun 27, 2012
1,089
2,818
Do you have anything special on mind which can be added/updated?

(Edit: this is more of a general statement):
This Kernel is pretty "niche" with it's intended purpose of a flicker free implementation, that's why it's only useful for people that are troubled by the flickering.
People that are insensitive to any kind of flicker will most likely only notice the mura defects which gets more highlighted by this implementation.
 
Last edited:
  • Like
Reactions: kykint and ghbuur

Has_anDroid

Senior Member
Jul 1, 2016
1,168
304
Smryne Izmir TURKEY
Thanks to @hasanben35 i found some threads regarding severe display issues:

Those display issues are caused by the PWM mechanism.

ı am thank you awesome kernel problem fixed :D

---------- Post added at 03:28 PM ---------- Previous post was at 03:06 PM ----------

Thanks to @hasanben35 i found some threads regarding severe display issues:

Those display issues are caused by the PWM mechanism.

fixed my friends problem

https://xdaforums.com/s7-edge/how-to/troubleshoot-gray-line-problem-fixed-t3558262
 

Ubimo

Senior Member
Dec 22, 2011
1,613
802
I had a strange problem after flashing Kernel V14:
I'm on SupermanRom 2.2 and flashed your kernel in TWRP. The phone booted fine, but I was not able to unlock my phone with fingerprint or PIN. :confused:
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    @Hunter_20 do you still have this file? It would help a lot
    Hi, yes I still had this file on my pc, here is a link:
  • 34
    What is PWM?
    PWM is used to regulate the brightness of LCD and LED displays. How does that concern us? The pulsations can be bad for your health and more specifically for the users eyesight. They can lead to migraines, headaches or other forms of discomfort after long-term usage. In most cases those pulsations have a frequency somewhere around 200Hz. They cause multiple contractions and expansions of the pupils, which bears down negatively on your health. They are especially harmful in models with LED backlight because the colors of the emitted light are not as inert as the colors of the CCFL backlight and so they reach high amplitudes and rapid luminance changes. Basically, the problem comes from the flickering light, not from the crystals of the LCD monitors.


    Default PWM curve:
    • On 100% brightness it shows a rather flat curve with 60hz, this is tolerable even for flicker sensitive people.
    • On 75% brightness the PWM sequence changes to 240hz with high amplitude alternating, this can be already noticable for flicker insensitive people.
    • Below 50% you get the typical stroboscopic effect which can have a negative impact on your eyesight.

    oled-mod.png



    Adjusted PWM curve:
    • The lowest possible PWM sequence with a 60hz refresh cycle will be used on all brightness levels.

    ime3mr5d.png



    Here are two videos to show the difference in motion:
    • Recorded with S7 slow motion camera mode; Starting with 100% brightness -> 60% -> 20% -> 5%.
    • The first video shows the default Samsung kernel.
    • The second video shows the pwmfree kernel.


    Download:

    Links:
    13
    The PWM mechanism used on Samsung displays is called AOR (AMOLED off ratio), the related function on the kernel driver is called AID (AMOLED impulsive driving).
    Meanwhile, since the AID dimming driving during the fixing and dimming sections uses a principle of increasing currents of pixels and varying currents of pixels by adjusting a duty ratio with reference to a specific luminance (brightness), power consumption may be increased if the same AID driving principle is applied in the high luminance region.
    As shown in FIG. 5 and FIG. 6, during the AID driving mode, the off duty is turned on and off according to the specified ratio. For example, during the AID fixing section, the reference luminance is set 273 cd/m2 when the conventional method is set at 180 cd/m2, but introduces off duty at 40% in accordance with the present invention to yield an equivalent 180 cd/m2 step as in the conventional method.
    2xri8avb.png



    Here is a Picture of the visible scan lines:
    • Recorded with S7 slow motion camera mode.
    • The colorful stripes on the left shows the aggressive 240hz refreshment cycle (four indentation per frame with high intensity).
    • The red stripe on the right shows the 60hz refreshment cycle (one indentation per frame with low intensity).
    j35noyf6.jpg



    Information source:

    Kernel source:
    11
    General notes:
    • Enabled power-efficient workqueue.
    • Set TCP Westwood as default.
    • Built with GCC Linaro toolchain 5.4.
    Kernel V15:
    • Updated source and ramdisk to G935FXXU1DQG1
    Download:
    6
    I'm currently testing a custom kernel with the suggested fix included.
    The PWM frequency is consistent even on lowest brightness but it also shows the mentioned issues:
    due to a low current for pixel driving at a low luminance/low grayscale [...] dispersion of the optical characteristics, such as color difference (MPCD: Minimum Perceptual Color Difference), color temperature, and grayscale linearity, may increase.
    If the minimum luminance set to lower than 40 cd/m2, the optical characteristics deteriorates

    Probably needs to include a slightly increased PWM on brightness <40 cd/m2.

    You can test the PWM flicker by shaking your hand on a white background at 50% brightness, you will notice a stroboscopic effect.

    6
    Small update to fix some compatibility issues:

    Kernel V13:
    • Removed local SuperSU to fix compatibility with Magisk
    • Added local mobicore binaries to fix compatibility with custom roms
    Download: