[vbox-dev] Windows 10 guest additions video driver problem

Frank Mehnert frank.mehnert at oracle.com
Mon Jan 4 17:46:04 GMT 2016


Hi,

On Monday 04 January 2016 17:21:33 Anna Fischer wrote:
> > Betreff: Re: [vbox-dev] Windows 10 guest additions video driver problem
> > On Tuesday 29 December 2015 12:54:01 Anna Fischer wrote:
> > > I run Virtualbox 5.0.10 on Gentoo Linux. I run different guest
> > > operating systems, one of them Windows 10 64-bit. All my guests have
> > > 5.0.10 guest additions installed. All guests work fine except the
> > > Windows 10 guest: when I suspend the system (e.g. the host OS goes
> > > into hibernation / suspend to RAM mode) while the VM is running, and
> > > then resume the system, it seems as if the guest graphics driver
> > > crashes. Initially when the VM comes back on the screen after resume,
> > > it seems as if the resolution is switched to a lower resolution, and
> > > then I get a message in the guest saying video driver crashed. Has
> > > anyone else ever seen this? I only seem to have the problem with
> > > Windows 10 as guest. All other guests still work after resume, and their
> > 
> > resolution does not change.
> > 
> > do you see the same problem if you suspend + resume the VM? I'm asking
> > because basically this is the same what happens when you hibernate or
> > suspend your host: All VMs are suspended before the host suspends and all
> > VMs which were suspended before are resumed after the host resumed.
> 
> No, I don't see the same behavior, and I was expecting that it is a
> different mechanism. Does VBOX actually detect that the host is trying to
> hibernate, and then it will suspend all the VMs automatically? Is that
> really how it works?

yes, at least if dbus works as expected, see here:

https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Main/src-server/linux/HostPowerLinux.cpp#L134

and here:

https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Main/src-server/HostPower.cpp#L74

and later we will arrive Main/src/client/ConsoleImpl.cpp line 6195.

The VBox.log file of running VMs should indicate if they are suspended/
resumed on host suspend/resume.

> To me it looks like the host is just putting
> everything that currently runs to sleep, and then stores the RAM state on
> the SWAP partition.

Only if the dbus mechanism doesn't work. There is a different mechanism which
works in host R0, see here:

https://www.virtualbox.org/browser/vbox/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c#L604

The corresponding callback is registered here:

https://www.virtualbox.org/browser/vbox/trunk/src/VBox/VMM/VMMR0/HMR0.cpp#L707

This second mechanism is used to disable VT-x/AMD-V during host suspend
because many BIOSes are broken and don't handle this case properly.

> When I simply save and resume VMs (I do that all the time, btw.) it works
> perfectly fine.

In that case please check the VBox.log file is the VM is really suspended/
resumed during host suspend/resume. The VM should properly work after host
suspend/resume even if the first (dbus) mechanism doesn't work but it makes
sense to check if repairing it (if it doesn't work) makes a difference.

dbus is loaded on demand to VBoxSVC, if libdbus-1.so.3 is not there then
VBoxSVC.log will contain the line

  HostPowerServiceLinux: DBus library not found.  Service not available.

Kind regards,

Frank
-- 
Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher




More information about the vbox-dev mailing list