VirtualBox

Ticket #14410 (new defect)

Opened 5 years ago

Last modified 5 years ago

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

Xorg.0.log.r51-3d-disabled Download (58.0 KB) - added by g2flyer 5 years ago.
Xorg.0.log.5.0.14.3d-disabled Download (23.5 KB) - added by g2flyer 5 years ago.
Xorg.0.log.r51 Download (58.1 KB) - added by g2flyer 5 years ago.
kern.log Download (272.2 KB) - added by g2flyer 5 years ago.
syslog.xz Download (66.3 KB) - added by g2flyer 5 years ago.
vboxadd-install.5.014.log Download (1.2 KB) - added by g2flyer 5 years ago.
vboxadd-install.r51.log Download (234.8 KB) - added by g2flyer 5 years ago.

Change History

comment:1 Changed 5 years ago by memoryhole

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).

comment:2 Changed 5 years ago by chehrlic

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 Changed 5 years ago by michael

That error is actually cosmetic and due to the rather hacky way we handle 3D currently on Linux guests.

comment:4 Changed 5 years ago by petersv

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)

comment:5 follow-up: ↓ 6 Changed 5 years ago by 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

comment:6 in reply to: ↑ 5 Changed 5 years ago by g2flyer

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?

comment:7 follow-up: ↓ 8 Changed 5 years ago by michael

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 in reply to: ↑ 7 Changed 5 years ago by g2flyer

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 .... :-(

Version 0, edited 5 years ago by g2flyer (next)

comment:9 follow-up: ↓ 10 Changed 5 years ago by michael

Could you please attach the guest's system and X.Org logs?

Changed 5 years ago by g2flyer

Changed 5 years ago by g2flyer

Changed 5 years ago by g2flyer

comment:10 in reply to: ↑ 9 Changed 5 years ago by g2flyer

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 ..

comment:11 follow-up: ↓ 12 Changed 5 years ago by 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?

Changed 5 years ago by g2flyer

Changed 5 years ago by g2flyer

Changed 5 years ago by g2flyer

Changed 5 years ago by g2flyer

comment:12 in reply to: ↑ 11 Changed 5 years ago by g2flyer

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.

comment:13 follow-up: ↓ 14 Changed 5 years ago by 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?

comment:14 in reply to: ↑ 13 Changed 5 years ago by g2flyer

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 Changed 5 years ago by michael

We generally ask bug reporters to provide logs, but I also definitely failed to remind you to do so up until now.

comment:16 Changed 5 years ago by michael

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

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use