Jelly-scrolling Kernel test

Search This thread

danik_proger

New member
Jul 25, 2017
3
0
set_command_mode to 90° rotation?

Hi guys, can anybody clarify about set_address_mode command? I am looking the way to turn portrait LCD into landscape mode (NT35590 IC). Is it possible to use this command to rotate 90°?
 

MasterDomino

Senior Member
Apr 3, 2015
102
72
Hi guys, can anybody clarify about set_address_mode command? I am looking the way to turn portrait LCD into landscape mode (NT35590 IC). Is it possible to use this command to rotate 90°?
Looks like in our op5 the rotate bit in set_address_mode function doesnt work at all cuz it coudnt rotate it i guess there might be other place that needs to be changed
 

Beachfiz

New member
Aug 13, 2017
1
0
I don't know if this is common knowledge, but in my experience, rotating the orientation 180 degrees just in software (with Nova launcher for example) significantly reduced the jelly effect I see, and the effect is very noticeable to me otherwise.

I just turn off the capactive buttons and use the on screen ones instead. Volume/power button placement is a little inconvenient but I'm getting used to it. I just can't get over the jelly effect when the screen is normally oriented, so this is worth it to me.
 
Last edited:

v0 HaVoK 0v

Senior Member
Apr 10, 2011
312
64
Newtowncunningham
This is definitely an effect you just get used to over time.
I used to notice it at first but now I do not, I thought I would never unsee it but now no matter what I do I can't see it. I'm more bother by the jittery looking scroll than this tbh, but from what I've been reading this does seem fixable, it might be caused by hardware, but its not damage or defect, and is just a matter of the screen refreshing the opposite direction.
But either way I'm not too worried about it now that I'm used to it.
How I know its just a case of getting used to it, is now if I pull out my OPO or other old phones I see the jelly effect on all of them except for my OP5, its insane xD But proof that those that don't see it are just used to it I think.
 
  • Like
Reactions: tremendouz

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    i know that but with when it is reversed witch jelly kernel 1 and it is upside down we just remove the 180 tag and finished
    Im currently setting up my build environment and might have fun with this also will unlock my bootloader again just to flash it and test it and from what you say if we have the weird gitches on display it means generally that we reverse some bits we shouldnt or we should reverse them but we dont do that
    9
    nojelly1.zip - Booted up fine, after a screen lock, and unlock: The screen gets inverted colors, and gets upside down, and gets glitchy. Creepy. DON'T FLASH.

    @_MartyMan_ : THIS IS WHAT WE WANT

    We expect after this change the screen to be upside down and glitchy. That is fine for the purpose of this test.

    After this test, can you please test scrolling? ie. you can see the current scrolling issue here:
    https://www.flickr.com/photos/128561298@N02/sets/72157682480018604 - when scrolling, you can see the 'duplicated' rows in this photo sequence moving from bottom to top (last three images display this VERY clearly).

    What we want to know is if, with the nojelly1.zip kernel, the 'duplicated' rows in a sequence 'move' from top to bottom!

    If they do, then this is what we want - we only need to fix the remaining glitches and we'll have our jello fix !
    9
    By that logic, if I record while I'm scrolling with my device then the jelly scrolling should be visible.

    Why don't you record it, and upload it to let us see if we can see it...
    Guys seriously, as @MasterDomino already mentioned this thread is for finding solutions.
    Move your conversation to: https://xdaforums.com/oneplus-5/how-to/display-jello-wavy-effect-scrolling-t3626625
    9
    This flag is not in the documentation, it is not mentioned anywhere else in the kernel source, only oneplus devices have it in their source. For the prop to actually be readable it needs to be recognized in other parts of the kernel like this.

    So, at best, the device will boot with no changes because the flag won't be recognized.

    Fair enough, I didn't check whenever this symbol is further referenced. Moreover, in MIPI DCS language, 'inverted' refers to 'color-inverted' display, not 'orientation-inverted'.
    So I got curious, and took the DTSi file for the panel and the patch to enable the closely related S6E3FA0 panel on Exynos (never made it upstream), and decoded the `qcom,mdss-dsi-on-command` sequence, since it seems the best place to insert a command to rotate the display, if it exists; my decoding is below (references https://www.tonylabs.com/wp-content/uploads/MIPI_DCS_specification_v1.02.00.pdf)

    Code:
    .1 .2 .3 .4 .5 .6 .7 .8 .9                  # decode of byte .8
    #=============================================
    05 01 00 00 14 00 02 11 00                 # DCS exit_sleep_mode
    15 01 00 00 00 00 02 35 00                # DCS set_tear_on
    39 01 00 00 00 00 03 F0 5A 5A         # MCS_KEY_LEV1
    39 01 00 00 00 00 02 B0 04              # MCS_GLOBAL_PARAMETER
    39 01 00 00 00 00 04 B4 06 0C 12    # ?? undocumented
    39 01 00 00 00 00 03 F0 A5 A5         # MCS_KEY_LEV1
    15 01 00 00 00 00 02 53 20                # ?? undocumented
    15 01 00 00 00 00 02 55 00                # ?? DCS_WRITE_CABC
    39 01 00 00 00 00 03 F0 5A 5A         # MCS_KEY_LEV1
    39 01 00 00 00 00 02 C3 01               # ?? undocumented
    39 01 00 00 00 00 02 B0 18               # MCS_GLOBAL_PARAMETER
    39 01 00 00 00 00 02 C3 00              # ?? undocumented
    39 01 00 00 00 00 03 F0 A5 A5        # MCS_KEY_LEV1
    05 01 00 00 00 00 02 29 00              # DCS set_display_on

    In the MIPI DCS specification, one can control the Device Line Refresh Order:
    1155 Bit B4 – Display Device Line Refresh Order
    1156 This bit controls the display device’s horizontal line refresh order. The image shown on the display device
    1157 is unaffected, regardless of the bit setting.
    1158 ‘0’ = Display device is refreshed from the top line to the bottom line
    1159 ‘1’ = Display device is refreshed from the bottom line to the top line

    Things I would try:
    • Find Samsung references for the display controller so we can find the undocumented commands below
    • Use command DCS set_address_mode 36h to flip the display: insert before the last line:
      Code:
      15 01 00 00 00 00 02 36 10
      or
      Code:
      15 01 00 00 00 00 02 36 00
      and see what we get on display and if we can change the refresh direction. In worst case, we need to try all values from 00 for FF for the last byte in the command.

    Anybody with a unlocked bootloader and time to recompile the kernel to test this ?
    8
    I can compile you everything guys, just provide me the changed file