-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RPI 3B+ with official 7" screen : white flash at startup #1052
Comments
As I stated on that forum thread, I doubt I'll have much time to look at this. The white flash appears to be between device startup and the GPU drawing the splash screen. |
Although, a quick change might be to only enable the backlight (its actually a PWM system rather than on/off) when the driver start fn is called, rather than on open. If I have time I'll give that a try. |
No, that didn't help. Still a brief white flash before the rainbox screen turns up. I suspect this would take too much investigation time to figure out where the flash is coming from, it could even be, as i am beginning to suspect, in the (tiny) firmware on the display itself. So as soon as it powers on, the display backlight is defaulted to on. By the time the GPU has opened up the driver, found the display and told it to turn the backlight off, its too late - the flash has appeared. I'll take another quick look, but no promises. |
Ok thanks for your help. I'll look if there is a hardware way of controlling it (like by connecting the backlight power to a transistor driven by a GPIO), but it would be much easier if it could be done purely in software. |
Think I have figured out what this is. A little more complicated that initially suspected, I think it's the timing between the rainbow screen and vsync. The flash is the previous frame displayed by the HVS before the next vsync updates it to the rainbow. It's a bit more obvious if you reboot, where the flash isn't white but the last known display contents. I've got a fix where I delay the backlight coming on to later in the boot cycle, will pass it to code review to see what the other guys here think. |
OK, we've merged the fix to our tree, and it will be available in rpi-update within a week I would think. Once it has had some testing by you lot I'll close this issue. |
Wow, such a nice reactivity ! Thanks a lot, i'll try your fix and tell you soon. |
2ndstage: Increase eth_open timeout to 5 seconds See: #1041 firmware: video_encode: Use default values on invalid nStride or nSliceHeight See: #1051 firmware: gpioman/FXL6408: Handle open failing sensibly See: #1053 firmware: Delay backlight coming on See: #1052 firmware: LCD driver close fixes 2ndstage: ignore autoboot.txt if boot partition is already set See: raspberrypi/noobs#508
2ndstage: Increase eth_open timeout to 5 seconds See: raspberrypi/firmware#1041 firmware: video_encode: Use default values on invalid nStride or nSliceHeight See: raspberrypi/firmware#1051 firmware: gpioman/FXL6408: Handle open failing sensibly See: raspberrypi/firmware#1053 firmware: Delay backlight coming on See: raspberrypi/firmware#1052 firmware: LCD driver close fixes 2ndstage: ignore autoboot.txt if boot partition is already set See: raspberrypi/noobs#508
Fix should be in latest rpi-update firmware. |
Works perfectly ! Kudos. |
Cheers. |
I see the white flash on a raspberry pi compute module 4. |
What graphics driver are you using? This fix was on the legacy stack IIRC, it may be that FKMS and KMS need a similar fix? @6by9 |
I did have this:
But now that I comment out |
Unfortunately this does not seem to be compatible with Chromium, it just shows blank white page with this change. |
Hello,
The Raspberry 3B+ connected to the official 7 inch screen creates a fast white flash at startup before the rainbow screen. Like someone suggested in the topic linked below, it may be due to the Backlight Enable signal which is set too early by the boot code, allowing the backlight to light up before any pixel data is sent, thus showing a blank screen.
Latest firmware code + empty config.txt and no kernel.img still produces this behavior.
Original topic : https://www.raspberrypi.org/forums/viewtopic.php?f=108&t=223825
Video showing the problem : https://www.youtube.com/watch?v=xQJWC97g7jU (interpolation disabled in this video -- but behavior is the same with default settings)
Preventing this white flash would be cleaner for the user experience, especially if the RPI is integrated into products.
Could you investigate this issue ?
The text was updated successfully, but these errors were encountered: