Opened 8 years ago
Last modified 8 years ago
#14410 new defect
Linux-on-Windows 3D support slow, buggy and generates lots of errors
Reported by: | memoryhole | Owned by: | |
---|---|---|---|
Component: | 3D support | Version: | VirtualBox 5.0.0 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Windows |
Description
I'm running a Ubuntu 14.04.3 LTS guest inside VirtualBox 5.0 (with up-to-date additions) on Windows 7 Enterprise (64-bit) host. When 3D acceleration is enabled, screen redraws are slow and often do not refresh blocks of the screen correctly. For example, flipping through a multi-page PDF often results in half of the page not being redrawn. Also, sometimes the terminal (xterm) doesn't redraw when executing a command, giving the illusion that it didn't execute. Moving the window or scrolling will typically restore the contents of the window to what they should be.
Further, when I run the unity_support_test program, I get a lot of OpenGL warnings. In particular:
$ /usr/lib/nux/unity_support_test -p libGL error: pci id for fd 4: 80ee:beef, driver (null) OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table OpenGL Warning: glVertexArrayRangeNV not found in mesa table OpenGL Warning: glCombinerInputNV not found in mesa table OpenGL Warning: glCombinerOutputNV not found in mesa table OpenGL Warning: glCombinerParameterfNV not found in mesa table OpenGL Warning: glCombinerParameterfvNV not found in mesa table OpenGL Warning: glCombinerParameteriNV not found in mesa table OpenGL Warning: glCombinerParameterivNV not found in mesa table OpenGL Warning: glFinalCombinerInputNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table OpenGL Warning: glDeleteFencesNV not found in mesa table OpenGL Warning: glFinishFenceNV not found in mesa table OpenGL Warning: glGenFencesNV not found in mesa table OpenGL Warning: glGetFenceivNV not found in mesa table OpenGL Warning: glIsFenceNV not found in mesa table OpenGL Warning: glSetFenceNV not found in mesa table OpenGL Warning: glTestFenceNV not found in mesa table libGL error: core dri or dri2 extension not found libGL error: failed to load driver: vboxvideo OpenGL vendor string: Humper OpenGL renderer string: Chromium OpenGL version string: 2.1 Chromium 1.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
As you can see, it thinks 3D acceleration works, and it's using the Chromium driver, but could not load the vboxvideo driver and as a result, the 3D accelerated behavior is flaky at best (per the description above).
The workaround has been to disable 3D acceleration and switch to a non-Unity desktop (for speed).
Attachments (7)
Change History (23)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Looks like VirtualBox-5.0.3-102322 fixed at least the redraw issues on my system (openSUSE 13.2, kde4, qtcreator >= 3.4 did not redraw it's contents now and then) but the error that vboxvideo could not be loaded still exists:
chehrlic@linux-yjcy:~> qtcreator & [1] 1672 chehrlic@linux-yjcy:~> libGL error: pci id for fd 18: 80ee:beef, driver (null) OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table OpenGL Warning: glVertexArrayRangeNV not found in mesa table OpenGL Warning: glCombinerInputNV not found in mesa table OpenGL Warning: glCombinerOutputNV not found in mesa table OpenGL Warning: glCombinerParameterfNV not found in mesa table OpenGL Warning: glCombinerParameterfvNV not found in mesa table OpenGL Warning: glCombinerParameteriNV not found in mesa table OpenGL Warning: glCombinerParameterivNV not found in mesa table OpenGL Warning: glFinalCombinerInputNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table OpenGL Warning: glDeleteFencesNV not found in mesa table OpenGL Warning: glFinishFenceNV not found in mesa table OpenGL Warning: glGenFencesNV not found in mesa table OpenGL Warning: glGetFenceivNV not found in mesa table OpenGL Warning: glIsFenceNV not found in mesa table OpenGL Warning: glSetFenceNV not found in mesa table OpenGL Warning: glTestFenceNV not found in mesa table libGL error: core dri or dri2 extension not found libGL error: failed to load driver: vboxvideo OpenGL Warning: glXCreatePbuffer not implemented by Chromium
comment:3 by , 8 years ago
That error is actually cosmetic and due to the rather hacky way we handle 3D currently on Linux guests.
comment:4 by , 8 years ago
Still present with virtualbox 5.0.10 and corresponding guest additions.
libGL error: pci id for fd 27: 80ee:beef, driver (null) OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table OpenGL Warning: glVertexArrayRangeNV not found in mesa table OpenGL Warning: glCombinerInputNV not found in mesa table OpenGL Warning: glCombinerOutputNV not found in mesa table OpenGL Warning: glCombinerParameterfNV not found in mesa table OpenGL Warning: glCombinerParameterfvNV not found in mesa table OpenGL Warning: glCombinerParameteriNV not found in mesa table OpenGL Warning: glCombinerParameterivNV not found in mesa table OpenGL Warning: glFinalCombinerInputNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table OpenGL Warning: glDeleteFencesNV not found in mesa table OpenGL Warning: glFinishFenceNV not found in mesa table OpenGL Warning: glGenFencesNV not found in mesa table OpenGL Warning: glGetFenceivNV not found in mesa table OpenGL Warning: glIsFenceNV not found in mesa table OpenGL Warning: glSetFenceNV not found in mesa table OpenGL Warning: glTestFenceNV not found in mesa table libGL error: core dri or dri2 extension not found libGL error: failed to load driver: vboxvideo OpenGL Warning: glXCreatePbuffer not implemented by Chromium Segmentation fault (core dumped)
follow-up: 6 comment:5 by , 8 years ago
I don't think that this will get fixed in a stable release in the near future, but I have been playing a bit with 3D in the development branch, so if anyone would like to try out the latest code and see if anything works which didn't before, here is a test build:
https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.51-104802.iso
comment:6 by , 8 years ago
Replying to michael:
I don't think that this will get fixed in a stable release in the near future, but I have been playing a bit with 3D in the development branch, so if anyone would like to try out the latest code and see if anything works which didn't before, here is a test build:
https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.51-104802.iso
Hi Michael, above file does not exist anymore (and i guess is now also a bit dated). Is there by chance an updated version of this and/or any hope that a fix would despite your warnings might make it soon into a stable version?
follow-up: 8 comment:7 by , 8 years ago
Here is a new link:
https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.51-105459.iso
A slow overhaul of Linux and X11 graphics has been taking place for a while. The most recent changes have been to replace the user space X11 graphics driver by a kernel one, which is included in the build linked above. Once the 2D overhaul is done (soon I hope) the 3D work can begin, but it will be a long process due to lack of developer time. There are no volunteer contributors helping on this, though it would probably be an interesting challenge for me to efficiently co-ordinate their and my work if there were.
comment:8 by , 8 years ago
Replying to michael:
Hi Michael, thanks for the update. I gave it a quick shot but for some reason after installing it and enabling 3D i got only 1024x768 as maximum resolution .... :-(
PS: my host is windows 8.1 on a hp 840 G2 (with intel graphics) and guest is Ubuntu 15.10 ..)
by , 8 years ago
Attachment: | Xorg.0.log.r51-3d-disabled added |
---|
by , 8 years ago
Attachment: | Xorg.0.log.5.0.14.3d-disabled added |
---|
by , 8 years ago
Attachment: | Xorg.0.log.r51 added |
---|
comment:10 by , 8 years ago
Replying to michael:
Could you please attach the guest's system and X.Org logs?
Guest ist Ubuntu 15.10 (32-bit); for logs find attached three versions: 2 with your guest additions, run once with and once without 3D enabled and a third one with the 5.0.14 guest addition and 3d disabled. Looking at log it seems it cannot load properly your module and resorts to VESA, hence the 1024x768?
As a side-note, maybe or maybe not relevant: i usually run VirtualBox on an external monitor of 1920x1200 (with my laptop having 1920x1080) and even with 5.0.14 i have a strange issue: when I start it in fullscreen it always wants to disply in 1920x1080, not 1920x1200, and for some reason i cannot really change it with xrandr properly; i have to kill/restart unity to get it working properly. Probably/maybe completely unrelated to the VESA issue but thought i mention it ..
follow-up: 12 comment:11 by , 8 years ago
Could you please attach the guest's system log too, and /var/log/vboxadd-install.log from the guest after installing the 5.0.51 Additions?
by , 8 years ago
by , 8 years ago
by , 8 years ago
Attachment: | vboxadd-install.5.014.log added |
---|
by , 8 years ago
Attachment: | vboxadd-install.r51.log added |
---|
comment:12 by , 8 years ago
Replying to michael:
Could you please attach the guest's system log too, and /var/log/vboxadd-install.log from the guest after installing the 5.0.51 Additions?
Find attached kern.log and syslog during the time of the three runs mentioned in the previous comment plus guest-install logs for both standard 5.0.14 and your 5.0.51.
follow-up: 14 comment:13 by , 8 years ago
You did not attach a log file for the virtual machine, but I am guessing that you have allocated a lot of video memory (by the way, for Linux guests there is currently no benefit and a few disadvantages to allocating more video memory than you need for your virtual desktop. That may change at some later point.) If I am right, could you see if reducing it helps?
comment:14 by , 8 years ago
Replying to michael:
You did not attach a log file for the virtual machine, but I am guessing that you have allocated a lot of video memory (by the way, for Linux guests there is currently no benefit and a few disadvantages to allocating more video memory than you need for your virtual desktop. That may change at some later point.) If I am right, could you see if reducing it helps?
Regarding VRAM, i did attach the maximum 128MB (i was previously experimenting with two monitors and there i run out of RAM when having considerably less: i (vaguely) think originally i had 32MB or alike ...). Can give it a shot (although nothing in the log-files seems to indicate that the problem is too much VRAM?)
Sorry, missed the part about the VM log. Will attach it when i have time to run an experiment with less VRAM ..
comment:15 by , 8 years ago
We generally ask bug reporters to provide logs, but I also definitely failed to remind you to do so up until now.
comment:16 by , 8 years ago
g2flyer: I was unable to reproduce this by increasing video memory to 128MB on my Ubuntu 15.04 virtual machine. Since this seems to work for a lot of people, perhaps you could do some experimenting if you are interested in getting this resolved to find out more about what the trigger is.
In case you need it, here is more or less the most recent build:
https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.51-105808.iso
I noticed that 3D acceleration doesn't have the same issues when using a non-Unity (i.e. non-3D) window manager. I can re-create the redraw issues when I log in with the default Ubuntu Unity desktop, but when I log in with the legacy Metacity desktop (still with 3D acceleration enabled), the redraw issues cannot be replicated (or at least, are very hard to replicate).