-
Notifications
You must be signed in to change notification settings - Fork 128
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
Flickering occurs since flutter-elinux 3.7.6 #334
Comments
Can you share the test source files you used? |
Thanks for your reply. I attached a test source. |
thanks for raising this, we facing same issues, so would like to follow up |
Is this issue reproducible on Linux desktop PC? Does it happen on only i.mx8m + weston? |
For now, only imx8mp + weston. |
unfortunately, I cannot reproduce this because I don't have imx8mp board. Can you please try compiler options below?
|
Thank you. |
Hmm, version 3.7.0 also doesn't work, right? If so, it might depend on flutter/engine. |
I found similar issue flutter/flutter#100522 |
Thanks for the information. |
This link to 100522 is impeller related. Root cause of flickering bug is described here - flutter/flutter#121740 And this line of code is the problem - https://github.com/flutter/engine/blob/4a90fbcd69011f8dd593840a0e901d2cede5398b/flow/layers/display_list_raster_cache_item.cc#L112 There was an attempt to fix this bug here - flutter/engine#39690 - but it created the above chicken-and-egg issue 121740.
|
Same problem. x64 linux |
I'm seeing this same thing, flutter version 3.10.05 and using the X11, wayland, and gbm embedders on both a raspberry pi 3a+, and a radxa zero. |
@makotosato-at I suppose this issue will not occur on flutter version 3.10.6 (latest stable version). Can you still observe it? If no, let's close this issue. |
hi @HidenoriMatsubayashi it is still happens on 3.10.6 |
Hello, Kelvin. Okay, thanks. |
I was able to resolve the issue by enabling damage tracking. I was building without it initially. There is currently a bug in flutter that breaks the non-damage tracking code path. |
Hello. @JakeSays How do I enable damage tracking? |
@makotosato-at there's a cmake option For reference here is the flutter bug: flutter/flutter#119601 |
@JakeSays Thanks. But in my environment, it occurs even if |
I think this is not the embedder's issue and it depends on flutter/engine (+ H/W). Many developers for mobile have reported similar flicker issues (https://github.com/search?q=repo%3Aflutter%2Fflutter+flicker&type=issues). So, we need to watch flutter/engine updates. |
Hello.
|
Good catch! But, those code are basically copied from engine/examples/glfw_drm/FlutterEmbedderGLFW.cc. What values do
|
|
Okay, but current code looks good to me. Your patch/#334 (comment) equals full repaint or disable DIRTY_REGION_MANAGEMENT, I think. |
flutter/flutter#97482 (comment) might be related this flicker issue. We might need to consider 32x32 alignment. And also, I found flutter/flutter#123353. |
…me H/W See sony#334 Signed-off-by: Hidenori Matsubayashi <[email protected]>
…me H/W See sony#334 Signed-off-by: Hidenori Matsubayashi <[email protected]>
…me H/W (#385) See #334 Signed-off-by: Hidenori Matsubayashi <[email protected]>
@makotosato-at if you have a change to verify #385, that would be great. |
Hello. In my environment, this issue does not improve if I think, if the following PR is merged, this issue will be improved. |
Okay, thanks. I'll revert #385 later. Let's wait to be merged flutter/engine#45611. |
Even if flutter/engine#45611 is merged into master branch, it takes 2-3 months to be propagated to the stable channel. So, I'll temporarily merge @makotosato-at 's change (#334 (comment)) into this repo as a workaround. |
This change disables the partial repaints temporarily because of the flicker issue. Once the root cause in flutter/engine was fixed and its change propagated to the stable channel, this will be lifted up. See sony#334 for the detailes. Signed-off-by: Hidenori Matsubayashi <[email protected]>
This change disables the partial repaints temporarily because of the flicker issue. Once the root cause in flutter/engine was fixed and its change propagated to the stable channel, this will be lifted up. See #334 for the details. Signed-off-by: Hidenori Matsubayashi <[email protected]>
#388 has been applied in flutter-elinux v3.13.9. Once I confirm flutter/engine#45611 is propagated to the stable channel, I'll revert #388. |
The change has been included in flutter 3.16.0. I created #401 |
@makotosato-at Would it be possible for you to confirm if the issue has been fixed in flutter-3.16.1? |
Hello. |
Hm? What do you mean? |
I built flutter-embedded-linux with the following changes to CMakeLists.txt. |
Sorry for the confusion. Can you please use flutter-elinux 3.16.1 as is? |
If that works fine, we can close this issue. |
Sorry. |
Really? flutter 3.16.1 has flutter/engine#45611 though... |
I think that improvements have been made. |
I see...So, it sounds we need to create a change to disable USE_DIRTY_REGION_MANAGEMENT for now. |
This change disables 'dirty-region-management' feature to prevent a fricker issue. See sony#334 for the details. Signed-off-by: Hidenori Matsubayashi <[email protected]>
This change disables 'dirty-region-management' feature to prevent a fricker issue. See #334 for the details. Signed-off-by: Hidenori Matsubayashi <[email protected]>
For now I made #406 as a workaround. |
Hello.
I am using an i.MX8MP board and weston.
Using flutter-elinux 3.7.6 and #333, I get flickering in my application.
(It works fine in version 3.3.10.)
I attached a video:
flickering.mp4
Window size is 1920x1080.
In the application, movie@30fps(color bars) and scrolling text are displayed.
Is there any solution?
It doesn't solve anything, but I tried the following and it worked fine:
The text was updated successfully, but these errors were encountered: