Qt World Summit: Register Today!

Qt 5.8 for raspberry pi zero : JIT issue

  • I have tried a lot of different things, but I always end up seeing this warning when running QML apps on raspberry pi zero:

    JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.

    Is there any way around this? Does this mean the JIT-caching/precompiling is also disabled? Startup time is critical for the app being developed. Naturally I'd like it to perform at full speed as well...

  • Lifetime Qt Champion

    @Malachi Did you check the link from that warning?
    There you will find:
    "Bad compiler switches, missing platform support

    If nothing above applies search src/qml/jsruntime/qv4global_p.h for instances of V4_ENABLE_JIT to understand why JIT is disabled for your platform. With some luck it turns out you are use bad compiler flags. GCC on ARM for instance must support Thumb instructions to make JIT work; check documentation for -mthumb, and -mthunmb-interwork to learn more. In other cases your target CPU simply might not be supported yet. You'll figure out and easily find someone who can remove this limitation. "
    Could be a hint.

  • @jsulm I did follow the link, and read up on Thumb1, Thumb2, VFP, thumb-interwork and a lot of other stuff. It is unclear whether the ARMv6 on Linux is compatible with the JIT engine. I'm hoping someone here knows for sure. I've already tried tossing 3 or 4 different toolchains at it, including the official one (gcc-linaro-arm-linux-gnueabihf-raspbian-x64).

    In order to compile Qt, webkit and webengine both needed to be disabled. Otherwise, they demand NEON mode which I gather only exists on ARMv7 - rpi zero is only ARMv6

    EDIT: Potentially connected to https://bugreports.qt.io/browse/QTBUG-54894

  • Same issue on Raspbery Pi 3, using Qt packages form Raspbian repositories.

  • Minor update. Not a solution in any sense, but distantly related for using out-of-the-box raspbian+QT: https://stackoverflow.com/questions/47899501/raspbian-qml-bad-performance

  • Update: It should be mentioned when this issue was more active, QT folks were super helpful - at that time I wasn't ready to provide them all the data they needed

    The JIT not available issue is still very present on both RPI0 and RPI3 with stock Raspbian. Furthermore, even simple apps peg the CPU on the RPI0, and hit halfway pretty quick on the RPI3

Log in to reply