Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

macOS VM High Sierra/Mojave QML OpenGL severe flickering



  • Has anyone else experienced a VMware High Sierra (or newer) guest suffering serious flickering in the user interface using qml? I'm on 5.10.

    It makes the UI unusable. If you don't interact with the UI it seems to be fairly stable, but trigger any animation, or interact with the UI via the mouse in any way and crazy flicker happens.

    On the VM if I define via:

    export QSG_INFO=1
    

    The renderer says Apple Software Renderer and -1 for depth buffer.
    This is a fairly recent issue (past 6 months) and only happens in virtual machines (VMware) - anyone else had this problem?

    The only errors I see on the command line from Qt are:

    QSGContext::initialize: depth buffer missing

    I would think that's impossible with a software renderer - but who knows... The hardware accelerated version (NOT in the VM, and works perfectly fine) reports the same error - so don't think that's related.

    Also, I set QT_OPENGL to software on the NON VM (my laptop) and it still seems to use the nVidia drivers (does setting QT_OPENGL to software work on macOS/OSX?)

    Thanks!



  • @VRHans
    Short answer: no, nothing seems wrong on my side. VMWare Workstation 14, MacOS X 10.12, Qt 5.10.0

    The GIF below is heavily reduced in frame rate because the limit allowed on this site is 1MB it seems. In reality the movement is faster, smooth and no flicker occurs.

    0_1535744651040_movinggrid.gif



  • I don't see it on Sierra either, I only see it on High Sierra and Mojave (as mentioned in the OP.) Thx though.



  • @VRHans
    My bad, it is MacOS X 10.13, high Sierra.
    0_1535745233722_640b36d8-2c67-4867-9747-a70564ac04a0-image.png
    0_1535745746229_deed4559-3f38-4d0d-b26b-5fce11d0d643-image.png



  • Qt 5.9.2 though, correct?



  • @VRHans
    The kit is 5.10.0, if you look at the window title bar, but I guess that when I installed Qt Creator, it was for 5.9.2.



  • Thx - will investigate further. Cheers!



  • I've isolated it down to using listView in Qml.

    When I set interactive to false on a listView, the flicker goes away, if I leave it with its default value ('true') then I get crazy flicker all over the qml window (larger than the size of the listview)

    Will try disabling list view and surrounding with a scrollview to see if that changes the behavior.



  • @VRHans - Nope, same issue with flickering with the scrollview.

    I've never seen anyone work in OSX in the field using a VM, but my QA team uses macOS/OSX VMs to test and they are having a hard time doing so do to the flickering.

    Is there a sneaky way to force double buffering of the window?
    I'm using a QQuickView currently, and it's a frameless window (making it a normal window results in the same behavior.)

    I'm not sure double buffering would solve the problem because it doesn't look like tearing, it looks like z-fighting during render...


Log in to reply