[Pkg-virtualbox-devel] Bug#889030: virtualbox: Windows10 guest flickers with nVidia drivers, there's a patch
locutusofborg at debian.org
Thu Feb 1 12:29:04 UTC 2018
control: close -1
On Thu, 01 Feb 2018 11:40:35 +0100 Marius Mikucionis <mmikucionis at gmail.com> wrote:
> Package: virtualbox
> Version: 5.2.6-dfsg-2
> Severity: normal
> Tags: patch
> Dear Maintainer,
> I am running Windows 10 guest and the screen flickers when something is (re)drawn,
> basically it's unusable.
> Relevant configuration to reproduce:
> 1) nVidia drivers on the host.
> 2) virtualbox guest additions with 3D acceleration enabled.
> 3) enabled 3D accelaration in the Windows 10 machine settings.
> One workaround is to disable 3D acceleration, but here I found a better solution:
> in particular it says:
> With nVidia drivers on the host, a race condition happens, causing buffers to be swapped (i.e. picture to be shown) before rendering is completed by the client, hence the flickering.
> The only workaround is to change (comment out actually) a single line in VirtualBox source and recompile it. After recompilation is done, it is actually possible to just replace a single freshly compiled file, VBoxOGLrenderspu.so, which is located in /usr/lib/virtualbox/. No need to uninstall the “original” VirtualBox and install the self-compiled one.
> The patch is just one line:
> --- /home/alexey/vbox-orig/VirtualBox-5.0.0_BETA4/./src/VBox/HostServices/SharedOpenGL/render/renderspu_glx.c 2015-05-18 18:02:05.000000000 +0300
> +++ ./src/VBox/HostServices/SharedOpenGL/render/renderspu_glx.c 2015-05-22 23:33:33.000000000 +0300
> @@ -1922,11 +1922,10 @@
> XSync(window->visual->dpy, 0);
> -#define CR_RENDER_FORCE_PRESENT_MAIN_THREAD
> void renderspu_SystemVBoxPresentComposition( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry )
> /* the CR_RENDER_FORCE_PRESENT_MAIN_THREAD is actually inherited from cocoa backend impl,
> * here it forces rendering in WinCmd thread rather than a Main thread.
> Perhaps this patch can be included in Debian.
Hello, thanks for the patch!
There is a runtime variable that you can use to disable that thing, however I don't like to apply such patches, until upstream merges them.
I pinged upstream, I'll include in case they ack it
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 801 bytes
Desc: OpenPGP digital signature
More information about the Pkg-virtualbox-devel