VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Discussions related to using VirtualBox on Mac OS X hosts.
Sven_
Posts: 11
Joined: 26. Apr 2013, 16:18

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by Sven_ »

Just a +1 for massive problems with running various Linux guests (the last distros I tested were Parrot with KDE (extensively), and Manjaro with XFCE, just to change things up). Systems are really slow (even at the point where I have to type in the password for my encrypted partition during boot it lags; of course I tried an installation without encryption to rule that out - not in every combination though, so if there are more than one sources...), when I try to play a youtube video on firefox, the whole system becomes unresponsive, I usually can't even stop the video anymore.

Things I tried are mainly:
  • Different amount of CPUs (not 1 though), memory, video memory - no noticable differences
  • Scale factors, both, via the guest OS, and via vbox - I believe the latter has a small effect, but maybe that's imagination
  • Graphics Controllers - for me this has the biggest effect, with VMSVGA being a bit faster, but I believe that the reason for this at least partly is connected to me not being able to use fullscreen (with guest additions installed - I even did a whole installation with VMSVGA to rule out any problems which might stem from switching the controller). For the Parrot installation VMSVGA also broke some fonts, or so in Parrot, where the menu texts of the OS were not shown anymore (this only happened for Parrot - more than once, although it still could be my fault, I didn't try to fix it, because it didn't really solve the slowishness, either).
I'd be willing to play around a bit, if I have time, but I'm in no way an macOS expert. I read something about pointing devices programs, which could cause the problem in one of the links socratis posted - maybe I'll find something. If someone has more concrete suggestions... For me, moving the vbox window to another monitor didn't change anything about the performance. But in my case the external monitor is a highDPI-monitor, too.

I'll add one logfile, just in case I'm having an obvious error in my configuration.
Attachments
P_4.6-2019-08-09-13-58-48.log.zip
Parrot Log
(33.15 KiB) Downloaded 50 times
algra
Posts: 7
Joined: 16. Aug 2019, 00:45

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by algra »

I'm experiencing this graphics/performance issue as well. Windows 10 Pro 64bit guest. Very similar, if not identical, problems to previous posts.

Specific Problematic Behavior:
Substantial lag when dragging/resizing windows.
Substantial lag when moving the mouse, delay after clicking. Many times I'll click to a new line and start typing but the click command got dropped so I'm left typing at the previous location.
Substantial lag typing or using other keystrokes.
Pretty much all movement looks as though (like a previous post mentioned) it were a video file with many dropped frames or a video with a very slow frame rate; very glitchy and not fluid.
When a video plays in Chrome browser (including unsolicited pop-up video ads), the system becomes unresponsive and I have to perform a "hard" shutdown.
Disabling 3D or both 3D & 2D acceleration doesn't help. In fact, when 3D is enabled, windows get blacked out and text lines get mixed up/overlayed on top of each other.
I've tried many combinations of power allocation (processor, ram, vid memory, etc), to no avail.
I've experienced this on the below 3 host OS versions.

Host:
10.14.6 (18G87) (currently running)
10.14 (18A391)
10.12.6 (16G2128)
MacBookPro13,3 (15", 2016)
2.9 GHz Intel Core i7 (Quad Core)
16 GB 2133 MHz LPDDR3
Radeon Pro 450 2 GB / Intel HD Graphics 530 1536 MB

Guest and Guest Settings:
Windows 10 Pro 64bit 1903, build 18362.295
4 CPU's w/100% execution
10GB Ram

VB:
6.0.10 r132072 (Qt5.6.3)
Guest Additions 6.0.10.0 installed on guest

Interesting results of some trouble-shooting:
These problems didn't occur for me in scaled mode (as long as scaling didn't exceed 1920x1200). They did occur in both seamless and full-screen mode.
Limiting the guest resolution to the "useable" dpi worked (VB Manager: Tools>Preferences>Display>Hint: 1920x1200), but because the true resolution of the MBP is 3840x2400, the outcome was a tiny guest screen.
Increasing the scale to 200% to compensate for this (either from VB or within the Windows guest) only reintroduced the graphics/performance issues.

WHAT WORKS BEST FOR ME:
(either of these solutions fix all of the above issues for me)
1. Using VB with the guest screen on an external NON-HiDPI display (1920x1080).
2. Using RDM (or QuickRes, I guess) to choose a non-HiDPI resolution.
2a. Actually, I found scaling to non-HiDPI 1920x1200 is much more annoying than scaling up a factor to non-HiDPI 2048x1280, so the latter is what I'm using. It's a bit more clear without being too tiny.

When I'm working at the desk with my external monitors, great, solution #1. But working mobile, it's less then desirable having to scale down a retina display.

Let me know if you want a log.
thekakester
Posts: 1
Joined: 21. Aug 2019, 22:32

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by thekakester »

I found a nice workaround. Use Remote Desktop!
I'm running on a MacBook pro Mojave. The Virtual box graphics drivers stink, but a native Remote Desktop app works great. Using the Remote Desktop app, you can remote into your virtual machine instead!
  1. Install VirtualBox and install your Windows 10 OS like normal
  2. Change your network settings in VirtualBox (Settings→Network) to be "Bridged Adapter". This allows you to ping your virtual machine from your host machine. There's likely a better way to do this, but this is how I did it.
  3. Enable Remote Desktop on windows 10
    1. In windows 10, click start and search for "Allow remote connections to this computer".
    2. Under the "Remote Desktop" section, click "Show settings" next to the checkbox that says "Change settings to allow remote connections to this computer".
    3. Enable the box that says "Allow remote connections to this computer". Click OK
  4. Turn off your windows firewall
    1. Click start and search "Windows defender firewall"
    2. On the left-hand peel, click "Turn windows defender firewall on or off".
    3. Select "Turn off" under private and public network settings
  5. Write down your IP address
    1. Open command prompt on windows 10 and type "IP Config"
    2. Write down your IP address. It often starts with 192.168.X.X or 10.X.X.X, but it could be anything.
  6. Test that your Mac can talk to your Windows 10
    1. From your Mac, open a terminal and type "ping" followed by the windows 10 IP address. Example: "ping 192.168.1.54"
    2. If ping works, it should say something like "64 bytes from 192.168.128.54: icmp_seq=0 ttl=128 time=0.426 ms"
    3. If ping DOESNT work, it will say "Request timeout for icmp_seq 0"
  7. Remote in to your virtual machine
    1. Download "Microsoft Remote Desktop" from the apple App Store
    2. Use the IP address (or your windows hostname) to set up a connection
    3. Remote in and enjoy your faster speeds
FisherLeung
Posts: 1
Joined: 29. Aug 2019, 15:51

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by FisherLeung »

Hi,

yesterday i came across the same problem. I've got two seperate user on my Macbook Pro 2017 15". My first virtual machine works fine in user1 account but the other one was super slow. I thought was about the monitor and the resolution of the macbook.

but later found that the malfunctioning Virtual machine was using Microsoft standard graphic driver which is not correct. I compared both system and the right graphic card driver should be "VirtualBox Graphics Adapter(WDDM).
However, since the macbook pro is never gonna actually change it's resolution and it's at retina resolution, your virtual machine window will operate at the same resolution. Unless you can really lower the resoluation of the mac. I attached a 23 inch ISP pannel to the mac and ran virtual machine on that screen. it appear to be just fine. So, two things to look at: 1. screen resolution, 2. Driver.
pkmongol
Posts: 1
Joined: 4. Sep 2019, 15:56

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by pkmongol »

I can confirm the RDM solution mentioned before works for me:

I have a MBP 2019 (32 GB RAM) I acquired recently. Installed VB Version 6.0.10 r132072 (Qt5.6.3) and in it installed Windows 10 Home edition guest. Noticed the severe lag in window dragging/resizing in Win10 guest. After tweaking various settings of the Win10 guest to no avail, decided to give the RDM solution a try. Works great! My MBP default display setting is 1680 x 1050 HiDPI - that is what reported by RDM when I ran it the first time, as well as reported in System Pref > Display (when I select Scaled and hover the mouse cursor over the selected 'Default' icon (the little grey text says 'looks like 1680 x 1050'...).

After using RDM to switch display from 1680 x 1050 HiDPI to 1608 x 1050 (with no HiDPI), the lag in window dragging/resizing in Win10 guest is by and large gone (or maybe about 90% gone). Ran some youtube videos in Win10 guest as well - not 100% smooth, but far better than when HiDPI is on.

Current setting for Win10 guest to use 2 processors, 3 GB RAN, no 2D or 3D accelaration, 256 MB of video memory.

RDM is nifty but I have one gripe -- it picks up current display resolution settings of MBP when I fire up the program. I can change the resolution using RDM and System Pref > Display can pick new settings that it recognizes. However, when I change display resolution via System Pref > Display, RDM does not pick up the new settings while it's up - I had to quit and restart RDM for it to pick up the new settings.
asanz
Posts: 4
Joined: 25. Sep 2019, 09:24

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by asanz »

I also have the same problem now in September 2019. It's a nightmare to use VirtualBox in new Mac OS hosts. I hope this will be fixed soon. Meanwhile, Parallels is the way to go.
LoginLogic
Posts: 1
Joined: 30. Sep 2019, 06:07

Poor Performance > Latest Macbook 2.4 GHz Intel Core i9

Post by LoginLogic »

Hi,

We changed the CPU to 4 out our 8 available makes the mouse just bearable, however when running the Electron builder the system comes to a complete standstill!

Enabled all graphics settings also.
We may drop this product for Parallels, so giving you the opportunity to respond.

Best regards

Mike
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by socratis »

'LoginLogic',
I merged your post with the prominent thread that deals with the same issue.
LoginLogic wrote:We changed the CPU to 4 out our 8
I believe that your host might not have 8 physical cores, but 4. We need to see a complete VBox.log, from a complete VM run, where the problem occurs:
  • Start the VM from cold-boot (not from a paused or saved state) / Observe or recreate the problem / Shutdown the VM (force close it if you have to).
  • With the VM completely shut down (not paused or saved), right-click on the VM in the VirtualBox Manager and select "Show Log".
  • Save only the first "VBox.log", ZIP it and attach it to your response. See the "Upload attachment" tab below the reply form.
Image

LoginLogic wrote:We may drop this product for Parallels, so giving you the opportunity to respond.
This is a user forum. You moving to Parallels won't disturb anyone's night sleep pattern. You're not giving us the opportunity to respond, you are given the opportunity to get some free support. Keep things in perspective... ;)
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
murgpegel
Posts: 1
Joined: 2. Oct 2019, 20:20

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by murgpegel »

confirmed.
VBox is fast and snappy on my second screen. Using the Retina display of my imac, it's slow. Amazing
jtmuti
Posts: 1
Joined: 11. Oct 2019, 12:20

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by jtmuti »

This setting helped in my case. Change System:Chipset to IHC9
Attachments
vbox.PNG
vbox.PNG (19.55 KiB) Viewed 21512 times
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by socratis »

@jtmuti
Your advice is quite invalid I'm afraid.

I see that you're running "MAC_MOJAVE_10.14" on a Windows10 host. Unless you're booting your MBP with Windows, you're totally off-line...

And to top it off, if you hover over that control, you're going to see that the ICH9 chipset is for OSX Guests only. This thread deals with the OSX Hosts and the hardware they're running on.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
huhtanen
Posts: 1
Joined: 18. Oct 2019, 08:27
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Ubuntu 16.04

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by huhtanen »

I'm having what seems to be exactly the same issue, but with bit older Mac where Virtuabox 5.0 was very fast. I'm running latest Virtualbox 6.0.14, with updated extension pack, and latest guest additions. (see attached system information, and virtualbox log)
systeminfo_and_vboxlog.txt
System information, and Virtualbox log
(107.51 KiB) Downloaded 33 times
HiDPI or not doesn't seem to have effect. I believe I've tried everything suggested in this thread, and many of the other similar threads about VBox 6 perf issues on Mac.

Virtualbox 5.x had pretty much native UI speed what came to scrolling text editor, or moving windows. With Virtualbox 6.0 just moving a window lags as if it would be software rendered. However, I've confirmed guest (Ubuntu 16.04) is using SVGA3D, and unity_support_test confirms that it's not using software rendering.

Furthermore, the issue seems to be on host side. When moving a window, guest CPU load seems to stay well below 1% when moving a window, while host CPU load is 150 - 200%.

I took a quick look at Virtualbox host process with profiler where I'm just moving a terminal window in Ubuntu guest. It seems there are hot spots where VirtualBox uses Qt to draw images. In the below image on the left you can see that QRasterPaintEngine::drawImage is taking around 21.6% of the total time, where CPU load in the selected range was on average about 200%. The actual time is spent in QtGuiVbox library (called from drawImage), where QtGuiVBox appears to be doing SW pixel processing. On the right side is shown the heaviest stack trace, which is the same as shown on the left.
Screenshot from the profiler showing high SW pixel processing load in main thread
Screenshot from the profiler showing high SW pixel processing load in main thread
profiler_screenshot.jpg (122.12 KiB) Viewed 21420 times
Another two hot paths are shown below which together take around total 30% of the time. In this case hotspot is in NSView _recursiveDisplayRect*, and in glGetTexImage:
NSView in main thread and GL thread high CPU load uploading textures
NSView in main thread and GL thread high CPU load uploading textures
profiler_screenshot2.jpg (116.71 KiB) Viewed 21420 times
So in total, these three paths account for around 50% of all CPU load, or in this case 100% of one of the host CPU cores.

Any ideas if there's some misconfiguration on my side that causes CPU processing of pixels in QT, or something else that might explain the high host CPU load?
BrendanSimon
Posts: 17
Joined: 9. May 2010, 14:59
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: ReactOS, Debian Lenny, Debian Squeeze

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by BrendanSimon »

Any updates or work around for this issue?

My Debian 8 Jessie VM is going very very slow (MacBook Pro 2016, OS X Catalina 10.15.1, 16GB RAM).

I've installed and run VS Code. It has been great for developing in my VM (much quicker/ligher than Eclipse), but recently it has been very slow to use. Keystrokes can lag by seconds. I tested in a terminal with VIM and there is no observable lag, so it is something to do with VS Code (or possibly graphics related?).
gfl
Posts: 10
Joined: 23. Nov 2019, 04:57

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by gfl »

FWIW: I disabled View->Scaled Mode of a windows guest OS and set the scaling in the Setting-Display-Scale factor to 200%, and now my windows guest is back to being responsive. macos 10.15.1, vb 6.0.14. I've noticed a progressive slowdown of my windows guest os over the course of the last year or so. Sorry for the vague description of the slow down, but it was getting to the point where I reinstalled a new windows 10 guest, and noticed the same slow response, so deep dove in to trying to fix my old guest os performance.

As a side note, I also disabled the macos host privacy "input monitoring" and enabled privacy "Full Disk Access" while diagnosing another issue, so those may have had a side-effect of improving the performance.
moosepuggle
Posts: 2
Joined: 10. Dec 2019, 19:14

Re: VirtualBox runs slow on MacBook Pro 2018 (screen refreshes slow)

Post by moosepuggle »

This finally worked for me after weeks of trouble shooting! Apparently, you need to turn off Beam Synchronization for running Yosemite or later on the guest. The sole purpose of the app BeamOff is to turn off Beam Synchronization to make a VirtualBox running Yosemite or later work better.

Download the beamoff app (this is my first post, so apparently I'm not allowed to post links, sorry!) in the VM, then run it in the VM. You want it to load on login, so go to System Preferences > Users & Groups > Login Items > then hit + and browse for where beamoff is located. On start up, the icon will appear in the dock, bounce a few times while it turns off beam sync, then close itself.

Host: Macbook Pro 2015 running Catalina
Guest: Mac Yosemite 10.10
Guest Setup: 1 vCPU, 4096 base memory, 25G storage, video mem 128Mb, EFI enabled, boot order: optical, hard disk, acceleration default, display scale 200%, VboxVGA, 3D acceleration.
Guest Additions 6.04 installed, then .dmg ejected

Note that I'm only running Circus Ponies Notebook as a lab notebook (why won't someone make a new electronic lab notebook that works this well?) on my VM, so not very intensive. My scrolling is still laggy, but mouse and display generally run much better!
Locked