I noticed the introduction of the two definitions CR_VBOX_CAP_CMDBLOCKS_FLUSH and CR_CMDBLOCK_CHECK_FLUSH, so I tried starting withĬR_SERVER_CAPS=15 VirtualBox -startvm. But, there are a lot of changes related to OpenGL.
I diffed the source code for VirtualBox 4.3.14 and 4.3.16, hoping to see a single-line change where someone had removed a workaround for the NVIDIA driver thinking that would be an optimization. The guest display corruption is the same on an Ubuntu 10.04 host (kernel 2.6.32, X.org 1.7.6) with NVIDIA Display Driver 304.125 as it is on an Ubuntu 15.04 host (kernel 3.19.0, X.org 1.17.1) with NVIDIA Display Driver 349.16, and every combination of versions in between that I have tried. With a Windows 7 guest when not using the VirtualBox WDDM driver, OpenGL works perfectly. Something more complex, like Google Earth using OpenGL in the guest, will flicker horribly, with most redraws looking like incomplete renderings. Something simple, like mplayer using OpenGL in the guest, is flicker-free. With an Ubuntu guest with a non-compositing window manager, host overlay windows for guest applications using OpenGL are affected. Mutter and the Muffin fork are not affected, so guests using GNOME Shell and Cinnamon have no problem. There are never any partial renderings, only out-of-date buffers being shown, so windows will appear to jump backwards in time and then jump forwards. Unity on a Ubuntu 14.04 guest is different. The flicker with Unity on an Ubuntu 12.04 guest is similar to a Windows 7 guest, with the Unity panel and windows' chrome winking in and out of view. Unity when using the VirtualBox Chromium driver and MATE with Compiz enabled both have flicker.
With Windows 8.1 as a guest, windows' contents appear to be always redrawn fully, but the chrome from windows lower down the windows stack is still sometimes incorrectly drawn over the top.Ĭompiz is affected. Even when a window's contents are seemingly fully and correctly composited, the borders of windows that are further down the window stack, and should not be shown, are sometimes drawn over that higher window. Sometimes the window's contents itself are missing. Sometimes a window's border, the chrome, is only partially redrawn.
With Windows 7 as a guest using the VirtualBox WDDM driver, bits of windows go missing. The graphics card is an NVIDIA GeForce GTX 460. I also see the problem with Windows 8.1 guests and some Linux guest desktops too. A better description of what I am seeing is a combination of off-screen buffers being displayed before rendering has been completed to them, and stale, out-of-date buffers being shown (before rendering has even started?). I assume the other posters who use the word 'flicker' or 'flash' are seeing what I am seeing.
One person has tried non proprietary drivers but did NOT have great success. I've pulled my video card and reverted to xorg xf86-video-intel (i915) and once again have nice, beautiful Aero theme working.
It turns out that, at some point, VirtualBox stopped playing nicely with NVidia drivers. This is an i5 Dell with modern graphics chipset so my next step will be to pull the video card. This has been reported to work on a machine similar to mine on the Arch Users Form.
I've also installed intel-ucode on the host and done the Intel INF update on the guest to no avail. UPDATE: I can confirm that the issue remains unchanged for me with Reading ticket #10200 piqued my interest a bit. It will be really nice one day to have the post 4.3.14 regression sorted out. I've considered that I don't really need Aero all that much, but always end up rejecting that notion. I'm glad to hear that I won't need to downgrade the guest after moving to 4.3.20.
I'm posting here just prior to an upgrade as I'll probably need to downgrade again, but will take the opportunity to do a little more experimentation. Interestingly, I've been able to work around the issue by downgrading only the front end and extensions: I also use proprietary nVidia driver ( nvidia-340xx) I, too, have been seeking a solution for the Win7 guest Aero instability issue since 4.3.14.