Hi, we develop software on Ubuntu, and of course, we use VMware for this, for all the usual great reasons. We make use of an API that supports Ubuntu 12.04, 14.04 and now 16.04. We decided to go for 16.04, as its new and shiny. But there appear to be serious issues with OpenGL in 16.04, which are crashing OpenGL based apps. Or, they are working, and producing terrible performance.
My setup is...
Mac Pro Late 2013
32GB Ram
AMD Fire Pro D700 / 6GB RAM
VMWare Fusion 8.1.1
And we are runing Ubuntu 16.04 in VM
Running our own app, we get a stack trace, with the final error being...
oblong::noodoo::WindowedLinuxVisiFeld::DisestablishRenderConditions(oblong::basement::Atmosphere*) () from /opt/oblong/g-speak3.24/lib/libNoodoo.so.2
The problem appearing to be with WindowedLinuxVisiFeld, which in our API is an OpenGL window that items are drawn to. This only happens as we load in Bitmap files to be drawn to OpenGL primatives. So my guess is, its bombing as it tries to make mipMaps for the BitMaps. Why? Well...
When I run glmark2 on the same machine I get, this
=======================================================
glmark2 2014.03+git20150611.fa71af2d
=======================================================
OpenGL Information
GL_VENDOR: VMware, Inc.
GL_RENDERER: Gallium 0.4 on SVGA3D; build: RELEASE; LLVM;
GL_VERSION: 3.0 Mesa 11.2.0
=======================================================
[build] use-vbo=false: FPS: 2063 FrameTime: 0.485 ms
[build] use-vbo=true: FPS: 2198 FrameTime: 0.455 ms
[texture] texture-filter=nearest: FPS: 2205 FrameTime: 0.454 ms
[texture] texture-filter=linear: FPS: 2207 FrameTime: 0.453 ms
[texture] texture-filter=mipmap:VMware: vmw_ioctl_command error Invalid argument.
Program received signal SIGABRT, Aborted.
0x00007ffff6779418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff6779418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff677b01a in __GI_abort () at abort.c:89
#2 0x00007ffff351a99f in ?? () from /usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so
#3 0x00007ffff3518629 in ?? () from /usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so
#4 0x00007ffff352003d in ?? () from /usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so
#5 0x00007ffff312b7da in ?? () from /usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so
#6 0x00007ffff320463a in ?? () from /usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so
#7 0x00007ffff73f3b04 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#8 0x00007ffff73f3ee7 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#9 0x000000000050f3c2 in ?? ()
#10 0x000000000041036f in ?? ()
#11 0x00000000004121d8 in ?? ()
#12 0x0000000000406d6f in ?? ()
#13 0x00007ffff6764830 in __libc_start_main (main=0x406710, argc=1, argv=0x7fffffffdf48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffdf38) at ../csu/libc-start.c:291
A colleague has run glmark2 on a physical Ubuntu16.04 machine, and it did not crash. BUT, it did appear to have pretty awful performance, with a score of 200, compared to 2000+ on Ubuntu 14.04 VMWare. It also was throwing a LOT of errors.
Does it look like VMWare can do anything to remedy this situation?
Hm, this might be a limitation of our graphics stack, but we can have the graphics team take a look.
fubvmware
Hm, this might be a limitation of our graphics stack, but we can have the graphics team take a look.
fubvmware
Just wondering, any news on this?
I'm having a similar issue in Linux Mint (Sarah) based on Ubuntu 16.04. Trying to open a contact in the Evolution (MUA) contact list crashes the application with the following:
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
VMware: vmw_ioctl_command error Invalid argument.
Aborted
I don't know whether or not the OpenJDK notices are related or not (I suspect not). Im running OpenGL 3.0 and other posts suggest that this problem may be related to the OpenGL version distributed with 16.04.
I can reproduce this Error both for Ubuntu 14.04 and 16.04. OpenGL 3.3 core profile works fine but for MipMap generation.
glGenerateMipmap(GL_TEXTURE_2D);
If i remove execution of this line from the code and use linear/nearest filtering without mip maps instead, it works fine. The MipMap generation works on Windows, native Ubuntu and macOS, so it must be a driver bug in vmware. Please fix this, i really would like to code within a Linux Environment on my Windows Host! Your OpenGL implementation runs quite smooth btw, really good work ;D
Edit: I am on VMware Player 12.5.2 under Windows 10.
Looks like the version of vmwgfx module that you have does not have the new generate mipmap command support.
What is the vmwgfx and kernel version running on your Ubuntu 16.04 VM?
To get the vmwgfx version, do "dmesg | egrep vmwgfx".
For the kernel version, do "uname -r".
Thanks.
-Charmaine
vmwgfx 2.9.0 does not have the new generate mipmap command support.
The new command is in vmwgfx 2.10.
We have the fix in mesa 12.0 to check for the availability of this command, and
will have the fix backported to mesa 11.2.
Any updates on this?
Any updates on this issue?
Hi,
On fixes implemented in open-vm-tools-desktop you are asking at the wrong forum.
The "open-" version of vmware tools is part of the operating system distribution.
For ubuntu 16.04 that is:
Ubuntu – Details of package open-vm-tools-desktop in xenial
and if you then look at their list of changes (a link somewhere on that page) you get:
IOW, last change forwarded by the ubuntu people is from April 2016.
Frankly I do not think that Ubuntu will post any fixes in 16.04 any more (they never seem to do that in non current releases, at least that is my experience, once the version is released, the only patches you will see on Ubuntu are security patches, no fixes anymore, not even if it gets fixed upstream)
So if you want to find a fixed version you will at least have to install the bundled version of vmware tools from VMware or you could try the bundled one from github as the current version down there is 10.1.5, not 10.0.7. Personally I would try to use the bundled version.
--
Wil