vmware / open-vm-tools

Official repository of VMware open-vm-tools project
http://sourceforge.net/projects/open-vm-tools/
2.23k stars 425 forks source link

"You must update tools to enable 3d acceleration in this virtual machine." #53

Open wiwa opened 8 years ago

wiwa commented 8 years ago

Warning exists underneath 3D Acceleration option. Windows 10 64-bit host, Ubuntu 14.04 64-bit guest. sudo apt-get update and tried installing latest version. No cigar. Also tried typical VMWare Tools install + open-vm-tools desktop, which gets me autofit at least.

ravindravmw commented 8 years ago

Also tried typical VMWare Tools install + open-vm-tools desktop, which gets me autofit at least.

What do you mean by typical VMware Tools install? Have you installed VMware Tools from the host? open-vm-tools-desktop should require the core open-vm-tools package to be installed.

wiwa commented 8 years ago

Yes, typical meaning from the host. Oddly, autofit didn't work with that, so I apt-get installed open-vm-tools-desktop, which fixed autofit. I mean... I also tried open-vm-tools + open-vm-tools-desktop.

jthrilly commented 8 years ago

I'm also having this issue. Same setup and attempted fixes, except Ubuntu 16.04.

buglessdr commented 8 years ago

kali linux 2.0 same issue

Schischu commented 8 years ago

Same here with Win10 64bit and Ubuntu 14.04 64bit

pitaj commented 8 years ago

open-vm-tools + open-vm-tools-desktop enabled autofit for me

How can I properly test if 3D acceleration is working in the guest? VMware Workstation is telling me I have to update to enable acceleration, but it almost feels like there is 3D acceleration. What modules are required to enable 3D graphics hardware acceleration?

open-vm-tools-dkms fails to install do to a failure to build vmhgfs.ko

Does anybody know what modules are installed as part of the dkms package? Looking at the source, it appears to include vmblock, vmci, vmhgfs, vmsync, vmxnet, and vsock. However, nothing but vmhgfs will actually build from source. The others all give several CC errors; there must be some dependency missing or something. This may be possibly caused by me being on Linux version 4.2.0-16 It even says here that the vmhgfs module isn't necessary for kernels > 4, since FUSE is used. That means that no modules are built at all on my kernel by default.

thomashvmw commented 8 years ago

Unfortunately that error message is bogus and should have been removed. 3D acceleration is not in any way related to vmware tools or open-vm-tools for linux guests. Typically 3D acceleration works out-of-the box using shipped drivers for most modern distros, but you might want to make sure that 3D is enabled by ticking the appropriate box in the VM settings. For some distros, like Kali, that box is not ticked by default at installation. To verify 3D support, make sure you have the "glxinfo" command available (typically comes with the "mesa-utils" package) and then type

glxinfo | grep OpenGL

You should then see something like

OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
OpenGL version string: 2.1 Mesa 11.0.3 (git-b4bfea0) OpenGL shading language version string: 1.20 OpenGL extensions: OpenGL ES profile version string: OpenGL ES 2.0 Mesa 11.0.3 (git-b4bfea0) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16 OpenGL ES profile extensions:

The important things to verify is the OpenGL render string that should be "Gallium x.y on SVGA3D...". Also the version on the line below that should be of interest. A distro shipping mesa 11.1+ shold have OpenGL 3 enabled.

/Thomas Hellström, VMware.

pitaj commented 8 years ago

@thomashvmw Thank you so much for commenting on this. It really cleared things up. It does appear that indeed the error is incorrect and in fact 3D acceleration is enabled. I really appreciate this clarification from an official source.

Could you (or anyone else) provide a short list of what features open-vm-tools or the proprietary VMware tools are necessary in order to utilize, and what features are built in to the kernel?

Thank you for your response.

EDIT: Also, are there any features that the proprietary tools have that the open tools do not?

ravindravmw commented 8 years ago

That means that no modules are built at all on my kernel by default.

@pitaj Yes. For 4.0 kernel, you don't need any drivers from open-vm-tools. All the drivers must be built into the Linux kernel itself using the source included in the Linux kernel.

Could you (or anyone else) provide a short list of what features open-vm-tools or the proprietary VMware tools are necessary in order to utilize, and what features are built in to the kernel?

This question has specific answers based on the version of Linux kernel. For old Linux kernel versions, you would need to get drivers from VMware Tools or open-vm-tools and new Linux kernel versions 3.9 or later include source code for all of our drivers except vmhgfs. Version 4.0 onwards, vmhgfs is not needed because we have FUSE based implementation in our v10.0.0 and later VMware Tools/open-vm-tools.

Please take a look at http://pubs.vmware.com/vsphere-60/index.jsp#com.vmware.vsphere.vm_admin.doc/GUID-20821632-8333-4CD0-A69C-B687D84050B8.html for understanding VMware Tools functionality (Most of the details about user space components apply to open-vm-tools user space).

Schischu commented 8 years ago

@thomashvmw Thanks for your comment. I got the following output on my Win10x64 Ubuntu14.04x64 combo.

ubuntu@ubuntu:/media/ubuntu/LinuxData/xoom_aosp6$ /usr/lib/nux/unity_support_test -p OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
OpenGL version string: 2.1 Mesa 10.5.9

Not software rendered: yes Not blacklisted: yes GLX fbconfig: yes GLX texture from pixmap: yes GL npot or rect textures: yes GL vertex program: yes GL fragment program: yes GL vertex buffer object: yes GL framebuffer object: yes GL version is 1.4+: yes

Unity 3D supported: yes

So it seams that all is ok. However the performance is extremely terrible. I have a 4k display and moving application windows on the screen is extremely slugish. Using a nvidia 970 and giving the vm 1gb of graphic ram.

Is this a know issue with high resolutions?

thomashvmw commented 8 years ago

I've actually never tested a 4K display, and we haven't had that many usage reports with 4K on linux guests either. However, there are two issues at stake here, one which is fixable:

1) Vmware 3D doesn't work well with host Vsync turned on. Too much time is spent waiting for the sync to happen. While we try to turn it off, Nvidia's drivers try hard to turn it on again, so if you launch glxgears on the host and it runs at around 60fps instead of 10000+ fps, the host has vsync enabled. You then have to go into the nvidia-settings tool on the host and under "OpenGL Settings", untick "Sync to Vblank". If it's already unticked, tick it and untick again. Then quit the application and verify that glxgears runs at 10000+fps on the host and turn off and then turn on your vm (rebooting isn't enough). This should make window movement snappier. Unfortunately the next time you log in, on the host, you may have to force vsync off again using nvidia-settings. The setting doesn't seem persistent.

2) Ubuntu Unity (via compiz) may tell the GL driver that it has updated the whole screen while it has just updated a small portion. This can to some extent be fixed (unfortunately this is subject to a compiz bug), in the guest: a) Lauch compiz-config-settings-manager (ccsm), you may have to apt-get install it first. b) Click on the OpenGL button c) Untick "Always use buffer swapping" and "Framebuffer object". This may or may not help somewhat. If it doesn't help, try to resize the screen a couple of times, that may help to work around the compiz bug.

Please let us know if this helps. Thanks, Thomas

Schischu commented 8 years ago

Indeed nvidia has vsync enabled, I disabled it an wglxgears is now running with >5000FPS on the host. wglxgears: http://www2.cs.uidaho.edu/~jeffery/win32/ I completely shut down the vm and restarted it. No real improvement.

Opened ccsm and disabled Framebuffer object and Always use buffer swapping. No real improvement. Just for fun i startet glxgears on the client. If Screen is 4k: 151 frames in 5.0 seconds = 30.135 FPS 140 frames in 5.0 seconds = 27.998 FPS 297 frames in 5.1 seconds = 58.710 FPS 115 frames in 5.0 seconds = 22.926 FPS 289 frames in 5.0 seconds = 57.381 FPS 372 frames in 5.0 seconds = 74.397 FPS 231 frames in 5.0 seconds = 45.890 FPS 224 frames in 5.0 seconds = 44.765 FPS 118 frames in 5.0 seconds = 23.567 FPS 198 frames in 5.0 seconds = 39.584 FPS 289 frames in 5.0 seconds = 57.419 FPS 319 frames in 5.1 seconds = 62.214 FPS 394 frames in 5.0 seconds = 78.510 FPS 278 frames in 5.0 seconds = 55.350 FPS 71 frames in 5.0 seconds = 14.156 FPS 132 frames in 5.0 seconds = 26.146 FPS 208 frames in 5.1 seconds = 41.163 FPS

If sceen is fullhd: 1914 frames in 5.0 seconds = 381.957 FPS 2016 frames in 5.0 seconds = 402.083 FPS 1525 frames in 5.0 seconds = 304.804 FPS 2190 frames in 5.0 seconds = 437.216 FPS 1162 frames in 5.0 seconds = 232.090 FPS 1393 frames in 5.0 seconds = 277.332 FPS 1285 frames in 5.0 seconds = 256.634 FPS 1299 frames in 5.0 seconds = 259.549 FPS 2243 frames in 5.0 seconds = 448.454 FPS

With mouse cursor not moving. Moving the mousecursor creates higher values.

And cause its monday, I reenabled VSYNC in the nvidia driver: 4k: 155 frames in 5.0 seconds = 30.920 FPS 142 frames in 5.0 seconds = 28.284 FPS 140 frames in 5.0 seconds = 27.925 FPS 142 frames in 5.0 seconds = 28.328 FPS 139 frames in 5.0 seconds = 27.702 FPS 143 frames in 5.0 seconds = 28.477 FPS

Fullhd: 6686 frames in 5.0 seconds = 1337.168 FPS 6252 frames in 5.0 seconds = 1248.754 FPS 6502 frames in 5.0 seconds = 1299.695 FPS 6437 frames in 5.0 seconds = 1287.354 FPS 6053 frames in 5.0 seconds = 1210.557 FPS

So with vsync way more stable and for fullhd 3 times as high. I checked it twice cause I could not believe the results.

Schischu commented 8 years ago

Just rebooted to ubuntu 14.04x64 native. VSYNC disabled 84981 frames in 5.0 seconds = 16996.016 FPS 79363 frames in 5.0 seconds = 15872.374 FPS 76327 frames in 5.0 seconds = 15265.351 FPS 79238 frames in 5.0 seconds = 15847.562 FPS 81691 frames in 5.0 seconds = 16338.036 FPS 83049 frames in 5.0 seconds = 16609.746 FPS 82793 frames in 5.0 seconds = 16558.588 FPS 84298 frames in 5.0 seconds = 16859.428 FPS 83865 frames in 5.0 seconds = 16772.840 FPS 84610 frames in 5.0 seconds = 16921.875 FPS

And moving application windows is extremely smooth. So its no general 4k ubuntu 14.04 issue.

Nican commented 8 years ago

Hello! I have VMWare Workstation 12.1.0 build-3272444 Player Running the latest Ubuntu 15.10. (Kernel 4.2.0) OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE; OpenGL version string: 2.1 Mesa 11.0.2

And I also have the "You must update Tools to enable 3D acceleration in this virtual machine."

Any way to get OpenGL 3.0 on the guest?

EDIT: I just realized from http://www.phoronix.com/scan.php?page=news_item&px=vmware-opengl-3.3-g3d that I require the linux kernel >= 4.3.0 to get OpenGL 3.0, while ubuntu 15.10 only provides 4.2.0.

EDIT2: I upgraded to Kernel 4.3.3 using http://ubuntuhandbook.org/index.php/2015/11/linux-kernel-4-3-released/ , but it has no effect. I still have OpenGL 2.1, and the warning on the VMWare settings.

EDIT3: For reference, I am running Windows 10, with a GTX 970 as the host.

finger563 commented 8 years ago

Just to reiterate Schischu's point, I've got an issue with high-resolution virtual machines (slow performance, even with window dragging). Tested using glxgears and get the same kind of performance they do (45 FPS instead of thousands)

leiwang-ninjia commented 8 years ago

I also got the same problem, My resolution way is using vmtool from vmware station other than open-vm-tools. This works fine for me.

finger563 commented 8 years ago

Can you be more specific? I've got VMWare Tools with workstation player, but what is vmtool from VMware station?

fjulian79 commented 8 years ago

Same for me ..

I have a Win10 64Bit host (core i7, 16G Ram) and a Ubuntu 14.04 64Bit Guest, nothing helped so far.

I have tried:

Using glxgears I got aprox 35fps when the guest is maximized on a 1920x1080 screen, when in 800x600 window mode I got apox 600fps.

I have a dual screen system with to HD Montiors, connected to a Gforce 9500 card. On the same system (Desktop) the same vm has worked before without problems, and a vm which performs well on my core i7 Notebook lags on my Desktop .. I have copied it to see how it behaves.

br J.

fjulian79 commented 8 years ago

Update:

Just for fun i have created a brand new ubuntu 14.04 64bit vm on my affected host (as I have only used guests which are older then my host os setup before). I have installed it from a clean iso file and updated it by using:

sudo apt-get update
sudo apt-get dist-upgrade 

After that I shut it down, made a backup from this vm, booted it and installed the proprietary vm ware tools coming with the vmware workstation. Rebooted the guest again .. switched it to full screen and there's the lag again .. 29fps with glxgears.

OK .. now I have reverted all changes using my backup and installed the open-vm-tools:

sudo apt-get install open-vm-tools-desktop 
... 

Reboot .. same result as before! :-(

So it seems as the root cause for this is related to win10 and/or the installed nvidia drivers I think the best would be to whipe the host os .. thats crap!

fjulian79 commented 8 years ago

Update:

Last weekend I have erased my host OS disk and installed Win10 pro 64 bit from scratch because of this problem. I have installed all win10 updates and the newest vmware ws 12 player, but nothing has changed .. :-(

Very frustrated I thought that maybe my graphic card could be the root cause because it's pretty old (GF9600 GSO 512 MB .. eight years old, but no problems so far as I'm no PC gamer). So today I have bought myself a brand new graphic card (https://www.msi.com/Graphics-card/GTX-950-GAMING-2G.html), plugged it in, got the newest driver by using windows update and ..

WWOOHHOO.. 2k+ frames with glxgears and vsync on @ 1080p .. the guest performance is outstanding and not a single problem any more!! :-D

Was it really the poor old card? .. don't think so as my problems have started 2 month ago and there are no problems in win10 with 3D applications .. I think the mess started with a specific vmware ws12 player version, but I have no evidence for that.

br Julian

rvandermeulen commented 8 years ago

FWIW, I too have been dealing with awful 4k sluggishness in my Ubuntu 16.04 VM on a Windows 10 host and a laptop with Optimus config. Things seem much better now that I've created an nVidia profile for VMWare Workstation VMX that explicitly tells it to run on the dedicated GPU and forces vsync off. Night and day better!

imOffline commented 7 years ago

rvandermeulen commented on 15 Sep 2016

FWIW, I too have been dealing with awful 4k sluggishness in my Ubuntu 16.04 VM on a Windows 10 host > and a laptop with Optimus config. Things seem much better now that I've created an nVidia profile for VMWare Workstation VMX that explicitly tells it to run on the dedicated GPU and forces vsync off. Night and day better!

Can you describe in a little more detail how you did "Things seem much better now that I've created an nVidia profile for VMWare Workstation VMX that explicitly tells it to run on the dedicated GPU and forces vsync off." please?

Thanks

braddockcg commented 5 years ago

@imOffline I too was getting terrible 3D performance (and generally poor graphics in general) from an Ubuntu 18.04 VM guest running on a Windows 10 host. This was on a Dell Precision 5520 with a 4K display running VMWare Workstation 14 Player. This laptop has two GPUs, an integrated Intel chipset and an NVIDIA. I was getting glxgears fps of about 120.

The problem was apparently that VMWare was trying to use the Intel GPU instead of the NVIDIA. I went into the NVIDIA control panel (right click on Windows desktop) and set the global Preferred Graphics Processor to NVIDIA and added an application profile for VMWare and forced that to NVIDIA too. Reboot. My Linux VM running the glxgears as a crude benchmark, went from 120 fps to 2500 fps! And I was able to run 3D applications that were unusable before.

Char-Aznable commented 4 years ago

I have the same problem. In my case, turning on 3D acceleration in the config makes maximized windows refreshing unfunctional, e.g., when I type in a maximized gnome-terminal, the current line is being cropped off by previously-displayed content in the terminal. Turning off 3D acceleration solves this problem. I am using vmware 15.5.1 with windows 10 host and ubuntu 18.04 guest. Edit: turns out this has something to do with the wayland display manager. Everything seems fine now after I disable wayland

jis0324 commented 2 years ago

Hey Guys. I use VMware 15.5 on windows 10. I solved this problem as well :)

https://drive.google.com/file/d/1nEN6OkHMl6oMBN8COzFoaeXRIY8KAA0Z/view?usp=sharing

I just record how to enable, and hope it helps you even a little. Thanks.

andrewaffolter commented 1 year ago

Hey Guys. I use VMware 15.5 on windows 10. I solved this problem as well :)

https://drive.google.com/file/d/1nEN6OkHMl6oMBN8COzFoaeXRIY8KAA0Z/view?usp=sharing

I just record how to enable, and hope it helps you even a little. Thanks.

That solved my problem! That was precisely what I needed. Thank you!

jis0324 commented 1 year ago

Well Sounds good. @andrewaffolter