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

Frank Mehnert frank.mehnert at oracle.com
Fri Feb 26 17:45:28 GMT 2016


Anna,

On Friday 26 February 2016 10:03:25 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.
>
> [...]
>
> I can confirm now that when I manually pause the VM before host suspend,
> it does not break the guest. So the problem seems to be that for
> whatever reason, VirtualBox does not get to pause the VM before host
> suspend.
> 
> I have checked the logs, but I do not see any errors. Is there a way to
> increase logging of the VirtualBox service somehow? How can I debug this?

in my previous mails I pointed you to the code which is responsible for
pausing/resuming the VM during host suspend/resume. See:

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

and later we get here:

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

A first step would be to add a

  LogRel(("result of PauseWithReason: %Rhrc\n", rc));

right behind line 76. Then do you usual test and suspend the host. After
waking up, check the VBoxSVC.log file (src-server code belongs to VBoxSVC).

The following items are interesting:

1. If that line is called at all. If not then the dbus stuff does not work
   for some reason
2. The result of this call.

If the result is S_OK then go further and check what happens in

  Main/src-client/SessionImpl.cpp function Session::pauseWithReason() -- this

client function is called by XPCOM from the server code. If you add LogRel stuff
there it will appear in the corresponding VBox.log file of the VM.

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, Jan Schultheiss, Val Maher




More information about the vbox-dev mailing list