Discussion:
webkitgtk+ on ARM doesn't play hardware-accelerated CSS animations
(too old to reply)
Martin Dørum
2018-08-22 11:45:26 UTC
Permalink
Hi,

I'm using WebKitGTK+ on a machine with an ARM CPU. Everything seems to work
okay, except that CSS animations which use hardware acceleration (i.e with
a 'transform: translateZ(0)' property) just don't run. If I disable
hardware acceleration, either by removing translateZ, or by defining
WEBKIT_DISABLE_COMPOSITING_MODE=1, the animation plays (albeit choppily).

On my Intel laptop, animations run just fine with hardware acceleration.

The ARM machine uses WebKitGTK+ 2.20.3, compiled from the meta-webkit yocto
layer (https://github.com/Igalia/meta-webkit). The hardware is a DART-SD410
from Variscite, running a Snapdragon 410. It's running Linux 4.9.39+linaro.
It has a GPU which supports OpenGL, "3.0 Mesa 17.3.8" is the OpenGL version
string. Here's the output from glxinfo: https://pastebin.com/mZEMe7Gx.
Here's a test page which runs fine with webkitgtk on my Intel laptop, but
not with webkitgtk on ARM: https://s.mort.coffee/hwaccel-css (source:
https://pastebin.com/2KTALmYW)

Is this a known issue? Or could there be something wrong with my compile
options or some kind of GPU blacklist?

Here's a line printed by bitbake when compiling the recipe which includes
the build options:
+ cmake -G Ninja -DCMAKE_MAKE_PROGRAM=ninja
/data/martin/yocto/build/tmp/work/aarch64-poky-linux/webkitgtk/2.20.3-r0/webkitgtk-2.20.3/
-DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_BINDIR:PATH=bin
-DCMAKE_INSTALL_SBINDIR:PATH=sbin -DCMAKE_INSTALL_LIBEXECDIR:PATH=libexec
-DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc
-DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=../com
-DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/var -DCMAKE_INSTALL_LIBDIR:PATH=lib
-DCMAKE_INSTALL_INCLUDEDIR:PATH=include
-DCMAKE_INSTALL_DATAROOTDIR:PATH=share -DCMAKE_INSTALL_SO_NO_EXE=0
-DCMAKE_TOOLCHAIN_FILE=/data/martin/yocto/build/tmp/work/aarch64-poky-linux/webkitgtk/2.20.3-r0/toolchain.cmake
-DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 -DPORT=GTK
-DCMAKE_BUILD_TYPE=Release -DENABLE_INTROSPECTION=OFF -DENABLE_GTKDOC=OFF
-DENABLE_CREDENTIAL_STORAGE=OFF -DENABLE_MINIBROWSER=ON
-DENABLE_DRAG_SUPPORT=OFF -DUSE_REDIRECTED_XCOMPOSITE_WINDOW=OFF
-DENABLE_SPELLCHECK=OFF -DENABLE_GEOLOCATION=OFF -DENABLE_GLES2=ON
-DUSE_GSTREAMER_GL=ON -DENABLE_PLUGIN_PROCESS_GTK2=OFF -DUSE_LIBHYPHEN=OFF
-DUSE_LIBNOTIFY=OFF -DUSE_LIBSECRET=OFF -DENABLE_OPENGL=ON
-DENABLE_VIDEO=ON -DENABLE_WAYLAND_TARGET=ON -DENABLE_WEB_CRYPTO=ON
-DENABLE_WEBGL=ON -DUSE_WOFF2=ON -DENABLE_X11_TARGET=ON -DUSE_LD_GOLD=OFF
-Wno-dev

Loading...