Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Discussions about using Windows guests in VirtualBox.
Post Reply
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

Hi all, my first post here.

I've been using about 10 virtual machines (Debian, Ubuntu, Windows XP and Windows 7) without problems for quite a while but I encountered problems now that I tried to run Windows 10 guest for the first time.

After installing Windows 10 Guest Additions it was impossible to use guest OS UI, I couldn't shut down the guest by clicking the Shut down button nor by using Virtualbox menu tu shut down the guest (the only way to shut down the guest was to close the window or by pressing Alt+F4 and choosing Shut down from the menu) and clicking on menus in the guest OS caused very long lags (the number shows one minute after pressing the button in Calculator) and screen artifacts.

I did find the solution both here and on some other sources which was to use VBoxVGA instead of VBoxSVGA Graphics Controller (which shows the exclamation mark saying VBoxSVGA should be used with Windows 10 VM) but I'd like to know why it is not possible to use the recommended setting for Graphics Adapter.

I tried to use VBoxSVGA and to disable 3D acceleration and that works too but then VM works very slow and I'd like to know why 3D Acceleretion doesn't work with Windows 10 guest when it is working with other guests?

There isn't the turtle icon mentioned in some threads as indicator for problem with Hyper-V.

Here are the settings of some of my VMs that work very well:

Code: Select all

Debian
RAM: 8192 MB, 2 processors, VT-x/AMD-V, Nested Paging, KVM Paravirtualization
Video Memory: 128 MB, VMSVGA, 3D acceleration

Ubuntu
RAM: 4096 MB, 2 processors, VT-x/AMD-V, Nested Paging, PAE/NX, KVM Paravirtualization
Video Memory: 16 MB, VBoxVGA

Windows 7
RAM: 4096 MB, 2 processors, VT-x/AMD-V, Nested Paging, Hyper-V Paravirtualization
Video Memory: 256 MB, VBoxSVGA, 3D acceleration

Windows XP
RAM: 4096 MB, 2 processors, VT-x/AMD-V, Nested Paging
Video Memory: 128 MB, VBoxVGA, 3D acceleration
and these are the Windows 10 VM settings:

Code: Select all

Windows 10
RAM: 6144 MB, processors 2, VT-x/AMD-V, Nested Paging, Hyper-V Paravirtualization
Video Memory: 256 MB, VBoxSVGA (no 3D acceleration) or VBoxVGA
There is one more thing - why is with Window XP guest possible to enable 3D acceleration even with VBoxVGA Graphics Adapter but the same is not possible with Windows 10 guest?

In other words - is there a solution to run Windows 10 guest at usable speed?

Laptop has i7-770HQ processor, 16 GB RAM, 1050 Ti + Intel GPU and I am using 2560x1440 monitor @ 75 Hz

I am using Virtualbox 6.1 because I can see the version 7.x has many problems and when I tried some newer 6.x versions I there was a problem with sound.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by scottgus1 »

For problems with 7.0 graphics or seize-ups:

7.0 is still in bug-hunt phase, and graphics had a code change.

Please upgrade to the latest 7.0 Virtualbox, Extension Pack if used, and Guest Additions.

If this does not get a stable VM, try switching the 3D acceleration setting (off > on or on > off). If that stabilizes the VM, please note that this happened.

Please create a ticket in the Bugtracker with the problem description, the manufacturer and model of the host PC's graphics card, the graphics driver version (on the host OS), and a (zipped) VBox.log file.

If your host OS is Linux, please provide a zip file with the output of the 'vulkaninfo' command in the Bugtracker ticket, too. (on Debian/Ubuntu/Mint hosts, you may have to install the vulkan-tools package).

Then you could downgrade Virtualbox, Extension Pack and Guest Additions to 6.1.something, or at least the Guest Additions. 3D acceleration won't be possible if you only downgrade the GAs. For full 3D acceleration using the old stable code, downgrade all three.

**********************
Changing video cards from the default VboxSVGA prevents 3D acceleration from being used, which is where the new 7.0 graphics code that is being bug-hunted gets run. uninstalling Guest Additions or turning 3D acceleration off both do the same thing as changing the video card.

*********************
XP no longer has 3D acceleration available as an option starting in 6.1.0. Only Windows 7 & later have 3D acceleration post 6.1.
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

Thank you very much for your reply!

Does it mean the XP VMs using post 6.1 versions would be slower because of missing 3D acceleration?

Windows 7 and Windows 10 have 3D acceleration in post 6.1 versions, but does 3D acceleration work with Windows 10 guests?

I tried some post 6.1 versions but I had to return to 6.1.16 because of problems with sound.

By reading the forum posts I can see the 7.x versions still have too many problems (old VMs not working, Windows 10 guests not working, USB passthrough not working, high CPU usage, VM slowdowns, ...) to already install the latest version.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by scottgus1 »

chupocro wrote:Does it mean the XP VMs using post 6.1 versions would be slower because of missing 3D acceleration?
I don't know about this. XP is such a light burden on modern PCs that 3D on or off might be barely noticeable.
chupocro wrote:does 3D acceleration work with Windows 10 guests?
Yes. One also has to disable Windows 10's Transparency Effects in the 10 VM. But 10 is supposed to work well with 3D on 6.1 hosts. 7.0 will get there one day soon.
chupocro wrote:I had to return to 6.1.16 because of problems with sound.
"If it ain't broke don't fix it" is a perfectly reliable paradigm. I run under that concept myself. My production host is still running 6.0.14.
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

scottgus1 wrote:Yes. One also has to disable Windows 10's Transparency Effects in the 10 VM. But 10 is supposed to work well with 3D on 6.1 hosts. 7.0 will get there one day soon.
Now that I disabled Transparency Effects in Windows 10 guest VboxSVGA with 3D acceleration really works. However, I still think something is very wrong. This can't be right:

Code: Select all

Graphics adapter                  Time until login screen [m:s]      Time until Start Menu works [m:s]
------------------------------------------------------------------------------------------------------
Windows 10 guest
VBoxVGA                           1:58                               2:20
VBoxSVGA                          3:25                               3:40
VBoxSVGA 3D                       4:30                               5:00

Windows 7 guest
VBoxSVGA 3D                       0:40                               0:42
Laptop boots in just a few seconds and these Windows 10 guest boot times don't look normal compared to Windows 7 guest boot time. Besides, why is boot time with VBoxSVGA much longer than with VBoxVGA and it's even slower with 3D acceleration.
Last edited by chupocro on 7. Apr 2023, 23:12, edited 1 time in total.
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by fth0 »

I'm curious and would be interested to take a look at a few VBox.log files from the Windows 10 VM. Please repeat the experiment and provide the (zipped) VBox.log files and your corresponding time measurement results. Also explain when you started the stopwatch.
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

fth0 wrote:I'm curious and would be interested to take a look at a few VBox.log files from the Windows 10 VM. Please repeat the experiment and provide the (zipped) VBox.log files and your corresponding time measurement results. Also explain when you started the stopwatch.
I started the stopwatch when starting the virtual machine by double clicking.

The problem is, as soon as Windows 10 virtual machine starts - disk usage at host is 100% while transfer rates are only 1 to 2 MB/s, host disk usage is at 100% even when guest disk usage is 0% and when guest disk usage is 100% (while installing updates) transfer rates are only a few hundred KB/s

By searching for "virtualbox disk usage 100%" without the quotes I've found quite a few threads both here and on other forums describing the very same problem but still didn't find the solution.
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by fth0 »

chupocro wrote:The problem is, as soon as Windows 10 virtual machine starts - disk usage at host is 100% while transfer rates are only 1 to 2 MB/s, host disk usage is at 100% even when guest disk usage is 0% and when guest disk usage is 100% (while installing updates) transfer rates are only a few hundred KB/s
Typical causes for that are using a hard disk instead of an SSD, using a file system like btrfs on the host or using an aggressive AV software on the host.

Hint: I won't individually ask you for the hundreds of details of your problematic VM run which would be reflected in a (zipped) VBox.log file. ;) Or in two (zipped) VBox.log files, one from this VM and one from any of your other VMs.

As a general hint: If you want to measure disk I/O on your host, make sure to look at random accesses and not at sequential accesses (e.g. accessing many small files), because that mostly resembles VirtualBox accessing the virtual disk image.
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

fth0 wrote:Typical causes for that are using a hard disk instead of an SSD, using a file system like btrfs on the host or using an aggressive AV software on the host.

Hint: I won't individually ask you for the hundreds of details of your problematic VM run which would be reflected in a (zipped) VBox.log file. ;) Or in two (zipped) VBox.log files, one from this VM and one from any of your other VMs.

As a general hint: If you want to measure disk I/O on your host, make sure to look at random accesses and not at sequential accesses (e.g. accessing many small files), because that mostly resembles VirtualBox accessing the virtual disk image.
Here you are two log files - the first one from Windows 10 guest which has a problem and the second one from Windows 7 guest which works well.

In both cases I started the VM, opened Calculator, typed "1111", closed the Calculator and shut down the Windows guest. In case of Windows 10 guest it took 30 seconds to open the calculator.

And here is the screenshot of the screen during Windows 10 guest boot which I saw others already posted as well.

When I start Windows 10 guest the logo and loading animation appear in just a few seconds. Then appears the screen from the screenshot I posted which lasts for several minutes and then there is the login screen. The very same screen shows during Windows 7 guest boot too but in that case it lasts only for a fraction of a second - so it's "a fraction of a second" vs "several minutes" ratio.

All my VMs are on the very same hard disk and the problem is with Windows 10 guest only.

All other guest run almost as installed on real hardware while Windows 10 guest is practically unusable. No updates or virus scans are running in the background. I updated Windows 10 guest and it took many hours instead of 15 minutes.
Attachments
Win10_boot.png
Win10_boot.png (7.45 KiB) Viewed 5787 times
Virtualbox_logs.zip
(66.59 KiB) Downloaded 6 times
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by fth0 »

I don't know if it plays a role here, but IMHO you should be using VirtualBox 6.1.42 instead of 6.1.16, which is two and a half year old.
VBox_W7.log wrote:
00:01:38.733675 /Public/Storage/AHCI0/Port0/BytesRead   234,083,840 bytes
00:01:38.733678 /Public/Storage/AHCI0/Port0/BytesWritten 27,260,928 bytes
00:01:38.733691 /Public/Storage/AHCI0/Port0/ReqsRead     13,371 count
00:01:38.733701 /Public/Storage/AHCI0/Port0/ReqsWrite     3,552 count
VBox_W10.log wrote:
00:08:31.761047 /Public/Storage/AHCI0/Port0/BytesRead  1,781,539,840 bytes
00:08:31.761066 /Public/Storage/AHCI0/Port0/BytesWritten 161,046,016 bytes
00:08:31.761079 /Public/Storage/AHCI0/Port0/ReqsRead     59,165 count
00:08:31.761089 /Public/Storage/AHCI0/Port0/ReqsWrite    15,351 count
As you can see here, Windows 10 read|wrote ~8|6 times as much data from|to the virtual hard disk as Windows 7 did, which I think is nothing unusual. With an old and possibly degraded hard disk, I would expect a large noticeable slowdown, perhaps even as large as you've described. I'd suggest to use the VirtualBox Manager to move the VM to an external SSD for a test.
VBox_W7.log wrote:
00:01:38.733717 /TM/CPU/00/cNsExecuting          10,532,880,971 ns
00:01:38.733734 /TM/CPU/00/cNsHalted             69,596,295,868 ns
00:01:38.733737 /TM/CPU/00/cNsOther              12,590,485,154 ns
00:01:38.733759 /TM/CPU/00/cNsTotal              92,719,661,993 ns
00:01:38.733763 /TM/CPU/00/cPeriodsExecuting      4,896,404 count
00:01:38.733766 /TM/CPU/00/cPeriodsHalted            34,455 count
VBox_W10.log wrote:
00:08:31.761120 /TM/CPU/00/cNsExecuting           81,284,660,480 ns
00:08:31.761124 /TM/CPU/00/cNsHalted             361,690,019,428 ns
00:08:31.761141 /TM/CPU/00/cNsOther               63,385,043,893 ns
00:08:31.761144 /TM/CPU/00/cNsTotal              506,359,723,801 ns
00:08:31.761148 /TM/CPU/00/cPeriodsExecuting     14,757,600 count
00:08:31.761151 /TM/CPU/00/cPeriodsHalted           539,353 count
The CPU statistics indicate that Windows 10 VM executed ~8 times as much code as the Windows 7 VM, which roughly corresponds to the disk I/O statistics.

Regarding the screenshot, I see it also in my own Windows 10 VMs. It's displayed during a time interval when Windows loads and executes many hundreds of small files.

All in all, the different symptoms you've described all point to the hard disk, whose bad performance you've already discovered yourself. For a test, enable Storage > Controller: SATA > Use Host I/O Cache and see if this improves the situation.
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

fth0 wrote:I don't know if it plays a role here, but IMHO you should be using VirtualBox 6.1.42 instead of 6.1.16, which is two and a half year old.
I already explained why I couldn't use more recent 6.x versions.
fth0 wrote:As you can see here, Windows 10 read|wrote ~8|6 times as much data from|to the virtual hard disk as Windows 7 did, which I think is nothing unusual. With an old and possibly degraded hard disk, I would expect a large noticeable slowdown, perhaps even as large as you've described. I'd suggest to use the VirtualBox Manager to move the VM to an external SSD for a test.
I will next week move the VM to the c: disk which is internal M.2 NVMe to test the speed but I think the problem is something else.
fth0 wrote:The CPU statistics indicate that Windows 10 VM executed ~8 times as much code as the Windows 7 VM, which roughly corresponds to the disk I/O statistics.
Yes, but as I said - host disk usage (monitored by Task Manager) when running Windows 10 VM is all the time 100% while host disk usage when running other VMs is most of the time 0%

If I had run the Windows 10 VM for a longer time, there would have been 1000 or 1000000 times more I/O operations compared to Windows 7 VM.
fth0 wrote:Regarding the screenshot, I see it also in my own Windows 10 VMs. It's displayed during a time interval when Windows loads and executes many hundreds of small files.

All in all, the different symptoms you've described all point to the hard disk, whose bad performance you've already discovered yourself. For a test, enable Storage > Controller: SATA > Use Host I/O Cache and see if this improves the situation.
When starting Windows 7 VM the screen from the screenshot shows for only a 10th of a second while when starting Winows 10 VM it shows for 4 minutes. That is 2400 times longer.

I alredy tested running Windows 10 VM with I/O cache enabled but everything was the same. Host disk usage was still 100% all the time - even when guest disk usage was 0%

I will next week test how Windows 10 VM works after moving it to very fast internal M.2 NVMe and I'll send CrystalDiskMark reports of both my NVMe and mechanical disk which are both in excellent condition.

I am hovewer almost certain such a huge difference in performance can't be attributed to the differences between machanical disk and SSD. These are the reasons why I think so:

1. However slower mechanical disk may be - that doesn't explain 100% disk usage at all times when running Windows 10 VM vs 0% disk usage most of the time when running all other VMs.

2. The screen from the screenshot that shows while guest is loading many small files duration is 2400 times longer when starting Windows 10 guest vs when starting Windows 7 guest (one tenth of a second vs 240 seconds) which is a difference of more than three orders of magnitude. I don't think that could be explained by comapring the W10 guest vs W7 guest statistics nor by the differences in random access times between machanical disk and SSD.

3. Calculator in Windows 7 guest starts instantly while in Windows 10 guest located on the very same hard disk it takes 30 seconds to start the Calc.exe which is only 27 KB!! It is clear the problem is related to running Windows 10 guest and not to the parameters of the hard disk.

4. The problem does not affect more recent Linux guests with requirements closer to Windows 10 than to Windows 7.
Last edited by chupocro on 8. Apr 2023, 02:52, edited 1 time in total.
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by fth0 »

If moving the VM to your internal M.2 NVMe SSD doesn't help, you could investigate the disk I/O while starting Calc.exe and while doing nothing, for example using Sysinternals Process Monitor.

I'm curious what you'll find out with your different investigations. :)
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

fth0 wrote:If moving the VM to your internal M.2 NVMe SSD doesn't help, you could investigate the disk I/O while starting Calc.exe and while doing nothing, for example using Sysinternals Process Monitor.

I'm curious what you'll find out with your different investigations. :)
You were right :-) Windows 10 VM runs without problem when launched from the internal NVMe. The time until login screen is now 35 seconds and the screen with duplicate logos stays for just 8 seconds. Host disk usage is now 0% for most of the time and only about 2% during guest Windows update.

I ordered SanDisk Extreme 1 TB SDSSDE61-1T00-G25 portable SSD because I don't have enough space on the internal SSD for running VMs - we'll see how the VM will run from that disk, I'll report when it arrives.

However, before I moved the VM to the NVMe I solved the problem with 100% host disk usage vhen running Windows 10 VM by doing what is described here:

https://communities.vmware.com/t5/VMwar ... ue#M163105
https://www.drivereasy.com/knowledge/10 ... 0-fixed/#g

After that host disk usage went from 100% to 0% but later when it jumped again I turned off prefetch by disabling Sysmain service and after that Windows 10 VM was perfectly usable even from the mechanical disk.

Boot time was still not so good but the VM could be used without problems.
Last edited by chupocro on 16. Apr 2023, 13:58, edited 1 time in total.
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by fth0 »

Thanks for reporting back! :)

To sum up the information from my own POV:

If running a Windows 10 VM, whose virtual hard disk image is located on a physical hard disk drive and provided via the virtual SATA storage controller to the VM, leads to 100% host disk usage, you can try disabling Message Signaled Interrupts for the StorAHCI.sys driver in the Windows 10 guest OS by setting the following registry key to 0:

Code: Select all

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI\<AHCI Controller>\<Random Number>\Device Parameters\Interrupt Management\MessageSignaledInterruptProperties\MSISupported
chupocro
Posts: 15
Joined: 20. Mar 2023, 03:18

Re: Windows 10 guest works only with VBoxVGA but not with VBoxSVGA

Post by chupocro »

Let me report how the VM works when launched from SanDisk Extreme 1 TB SDSSDE61-1T00-G25 portable SSD.

Despite the external SSD is much slower than the internal M.2 SSD, when the VM is lauched from the external SSD it runs even faster than when launched from the internal SSD :-) The screen with duplicate logos now shows for only 2-3 seconds!!

I think that is because there is less concurrent disk access occurring when host and guest operating systems are not on the same disk.

The external SSD is Gen 2 (1050 MB/s) but my USB ports are Gen 1 which limits the sequential speeds to about 460 MB/s, random read speeds of the external SSD are much slower compared to the internal SSD but still - the VM runs even faster when launched from a separate disk.
Post Reply