<div dir="ltr"><div>Hi!</div><div><br></div><div>I am working on trying to figure out how an Android phone's display works by modifying the original driver, so I can understand how it works to write a less cluttered, and more non-Android distro friendly driver.</div><div><br></div><div>What I noticed is that a register needs to be set in order for the screen to update (I guess there's some kind of internal double buffering going on in the background). I couldn't find a way for it to update automatically, so for now I included the code that sets the register in a VSync thread created originally to let the android HAL know that a VSync IRQ has occurred or a timeout has passed.<br></div><div><br></div><div>I feel like this isn't what the solution should be. While looking around I found the fb_sync function. I thought that sounds like that refresh register should be set there, so I moved the code in fb_sync and I added it to the fb_ops struct. Now the display only refreshes on the first frame of the fbcon, replacing the phone's bootloader logo with the console. What am I doing wrong? How is this supposed to be handled?</div><div><br></div><div>Btw I am using a 4.4 kernel fork, since that's the only kernel that ever shipped with the phone or the SoC, and there's no mainline support for it yet.<br></div></div>