Skip to content
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

wl: Compoments glitching on some pages with Vivante GPU #547

Open
sedlalu2 opened this issue Mar 9, 2023 · 12 comments
Open

wl: Compoments glitching on some pages with Vivante GPU #547

sedlalu2 opened this issue Mar 9, 2023 · 12 comments
Labels
bug Something isn't working needs investigation Needs some investigation to find the cause of the issue upstream Needs support from an upstream

Comments

@sedlalu2
Copy link

sedlalu2 commented Mar 9, 2023

Hi,

im using cog on stmp32mp1 device with vivante GPU.

  • cog 0.14.1
  • WPE WebKit 2.38.2
  • kernel 5.15.67
  • mesa 22.0.3
cog -P wl <url>

We have a problem that on some pages components are glitching. I would say mostly during animations. For example when I open solar system example, performance is really good but componets (planets, texts,...) are glitching... Also detected this problem on another pages as well.

Same behaviour happens on my another stm32mp1 device:

  • cog 0.11.1
  • WPE WebKit 2.32.3
  • kernel 5.10.10
  • mesa 21.1.6
@aperezdc
Copy link
Member

aperezdc commented Mar 9, 2023

Not sure if related, but we have also glitches reported with the drm plug-in on STM32MP1, on issue #543 🤔

@aperezdc aperezdc added bug Something isn't working needs investigation Needs some investigation to find the cause of the issue labels Mar 9, 2023
@aperezdc
Copy link
Member

aperezdc commented Mar 9, 2023

@sedlalu2 Good report, with versions of involved components 👌🏼. For the same of completeness, which Wayland compositor are you using, and which version?

@sedlalu2
Copy link
Author

sedlalu2 commented Mar 9, 2023

  • weston 10.0.2
  • wayland 1.20.0

And on the older device:

  • weston 9.0.0
  • wayland 1.19.0

Not sure if related, but we have also glitches reported with the drm plug-in on STM32MP1, on issue #543 thinking

Not sure. Could this problem be Vivante GPU related? Drivers, mesa, etc,..?

@sedlalu2 sedlalu2 changed the title wl: Compoments glitching on same pages with Vivante GPU wl: Compoments glitching on some pages with Vivante GPU Mar 9, 2023
@aperezdc
Copy link
Member

aperezdc commented Mar 9, 2023

@sedlalu2 Thanks for the additional info. I've had Cog working well on Weston 9.x + Wayland 1.19.x on an iMX.8 based board a while ago with the Vivante proprietary driver available in the meta-freescale, but that layer adds some customizations on top of Weston 9 🤔

BTW, are you using the proprietary Vivante driver or Etnaviv? How are you building your images, Yocto?

@sedlalu2
Copy link
Author

sedlalu2 commented Mar 9, 2023

@aperezdc

I have tried Yocto and even a buildroot. Proprietary driver on newer setup (meta-st) , etnaviv on older. Still resulting the same glitches. Happens mostly during the CSS animations I think.

@aperezdc
Copy link
Member

@sedlalu2 We are suspecting there might be a DRM/KMS driver bug, so it could be a good idea to try and run something simpler than WPE to confirm (or discard) this hypothesis. Could you try and run kmscube on your board? There is a Yocto recipe for it so I hope it shouldn't be too hard.

@sedlalu2
Copy link
Author

@aperezdc kmscube works.

Anyway, I've found out that some GL tests (glmark2-es2-drm) are not rendered correctly on my device when I use Vivante driver. I've tried to switch drivers from Vivante to Etnaviv while using the latest kernel available (5.15.67). Now the same GL tests that were previously glitching with Vivante driver are working without further problems.

I'll try to add cog to this image and hope to see it renders pages correctly. I will let you know.

@aperezdc
Copy link
Member

@sedlalu2 Those are very interesting findings, thanks for letting us all know!

It looks like there is definitely some driver issue with the proprietary driver (or which gets triggered only with it), but maybe kmscube is too simple to trigger the bug or it manages to workaround it somehow (not very likely, but cannot discard that with the info we have).

We might try to make the OpenGL ES renderer of the DRM plug-in (cog -P drm -O renderer=gles) behave in a way that is more similar to what kmscube does, but with the issue happening on Wayland as well there are little chances that doing that would help much, and would anyway not solve the issue under Wayland 🤔

@sedlalu2
Copy link
Author

sedlalu2 commented Apr 4, 2023

@aperezdc

I have tried to build image:

cog 0.14.1
WPE WebKit 2.38.2
kernel 5.15.67
mesa 22.0.3

based on Etnaviv GPU driver instead of Vivante GPU. It is still the same behavior, so cog is glitching on some pages (using still the same reference page as before. I've noticed this issue on another page as well, mostly during css animations.

It doesn't matter if I use cog via wl or drm platform, it glitches still the same. I don't suppose there are any issues with cog or mesa rendering. So it looks like driver or kernel issue as you suggested.

@aperezdc
Copy link
Member

Oh, the solar system animation is glitching also on WebKitGTK, I just took a screenshot where the issue can be seen:

Screenshot of the glitching animation taken with Epiphany using WebKitGTK 2.40.0

So this is a cross-port issue related to composition of CSS-animated elements, not specific to WPE. I will be reporting the issue in the WebKit Bugzilla.

@aperezdc
Copy link
Member

Reported in WebKit Bugzilla, the issue is also present in the main WebKit branch: https://bugs.webkit.org/show_bug.cgi?id=255328

@aperezdc aperezdc added the upstream Needs support from an upstream label Apr 12, 2023
@sedlalu2
Copy link
Author

sedlalu2 commented Nov 1, 2023

@aperezdc Hi, do you know if the glitching problem will be solved any soon? Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs investigation Needs some investigation to find the cause of the issue upstream Needs support from an upstream
Projects
None yet
Development

No branches or pull requests

2 participants