Bug 38747 - [SNB] VirtualBox video acceleration renders as white rectangle
Summary: [SNB] VirtualBox video acceleration renders as white rectangle
Status: RESOLVED WONTFIX
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Ian Romanick
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-28 07:31 UTC by msc
Modified: 2016-02-26 09:40 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Output log from VBoxTestOGL (3.95 KB, text/plain)
2011-07-04 06:29 UTC, msc
Details

Description msc 2011-06-28 07:31:43 UTC
I am running a WindowsXP guest in Oracle's VirtualBox VM on an Ubuntu 11.01 host.

VirtualBox has a so-called Guest Addition that offers 2D video acceleration; essentially Windows video overlays are rendered using the host's OpenGL driver.

With driver version 7.7 there is an effect of watching the video through vertical strips of beveled glass and some vertical strips of the video are missing.

In version 7.9devel, 7.10 and 7.11devel the only thing displayed is a white rectangle covering the entire area where the video is supposed to be.

I do not know if this is a driver bug or a VirtualBox bug. I suspect a driver bug because the white rectangle appeared when the only thing I had changed was the driver. I switched from 7.7 to 7.11devel while running Ubuntu 10.01. I subsequently reverted back to 7.7 and got the beveled effect again. I then updated to Ubuntu 10.04 (with 7.9devel) and then 11.01 (with 7.10) and am back to the white rectangle.

Because I am not sure whose bug this is, I have filed bug 9111 at http://www.virtualbox.org/ticket/9111. I will put a link to this bug over there. Please see that bug for more information about how to reproduce the problem.
Comment 1 msc 2011-06-28 07:33:01 UTC
This problem is occurring with Intel HD graphics.
Comment 2 Chris Wilson 2011-07-02 02:27:20 UTC
Did you manage to identify the render path? A tool such as http://github.com/apitrace/apitrace.git can be used to record the GL render commands and allow us to inspect/replay them, hopefully reproducing the bug.
Comment 3 msc 2011-07-03 22:07:24 UTC
In the VirtualBox ticket, someone suggested I try VBoxTestOGL --test 2D. This program is found in /usr/lib/virtualbox, once vbox is installed. I tried it but it exits silently, apparently doing nothing useful. I have requested and am awaiting more detailed instructions. If I do not get an answer, I will find and take a look at the source code.

I may also try apitrace but am concerned that before the application that shows the problem can be run, VirtualBox and the Windows XP boot and login sequence must be run, possibly drowning the important log information in lots of irrelevant detail.
Comment 4 msc 2011-07-04 06:29:27 UTC
Created attachment 48743 [details]
Output log from VBoxTestOGL
Comment 5 msc 2011-07-04 06:34:49 UTC
I was able to get VBoxTestOGL to run and output its log file which I have attached to this ticket.

It dumps the version, vendor and extension strings, just like glxinfo. Then at the end it appears to be verifying features of a small number of extensions. Presumably these are the extensions used by VirtualBox's 2D video acceleration feature.

I still cannot suggest an easier way to reproduce the drawing problem. In the meantime, could somebody please check what changes in 7.8 or 7.9devel could have affected any of the extensions listed at the end of the log file.
Comment 6 msc 2011-10-09 19:55:22 UTC
It has been reported over in the Virtual Box bug that the problem can be reproduced without a SlingBox.

"I tried windows media player 10 and mpc-hc, both get white screen on my i3 530(intel gma hd) 2D video acceleration worked fine on my old nvidia MCP7A mainboard(geforce 9300) with the identical vm."

I have been away and not yet had time to try to create a simple test case. Hopefully one of the developers has VirtualBox set up with a windows host. Below is some other information that may help pinpoint the problem.

"...here are some explanation of the 2D Video Acceleration feature that should clarify the things a bit: this feature accelerates the DirectDraw Overlay functionality by passing the Overlay-related DDraw commands to host and doing stretching & yuv->rgb conversion by means of host GPU. The GPU is accessed by means of OpenGL on the host side to make this feature portable & work on all host platforms.

So in case the the video player on the guest does not use DDraw overlay, its video playback is not accelerated."

The source code for the guest part of the VBox 2D acceleration feature can be found at

./VirtualBox-4.1.0_OSE/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm

Have a look at the code located under #ifdef VBOX_WITH_VIDEOHWACCE.

However since the problem is specific to the integrated Intel HD graphics, the host part of the functionality is more relevant since this is where the host GPU gets used. The main part of this is located in src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp & .h files.
Comment 7 msc 2011-10-09 19:57:48 UTC
The full URL for the root of the virtual box source is:

https://www.virtualbox.org/browser/trunk
Comment 8 Eric Anholt 2013-05-02 05:35:58 UTC
We're going to need the apitrace if we're going to do anything with this one.
Comment 9 Joel Kaartinen 2013-06-14 19:06:27 UTC
I'm having the same issue as msc on my new laptop with Intel HD 4000 Graphics. Works perfectly on an older laptop with Geforce 9600M. I tried doing the apitrace but got nothing. 

I guess the problem is that virtualbox starts 3 different processes and the one it's trying to trace is not the right one. Unfortunately I'm now stuck as I've no idea how to get apitrace to trace one of other processes.
Comment 10 Christopher M. Penalver 2016-02-26 01:21:14 UTC
msc, Ubuntu 11.10 reached EOL on May 9, 2013. For more on this, please see https://wiki.ubuntu.com/Releases .

Also, Windows XP reached EOL on April 8, 2014. For more details, please review https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support .

If this is reproducible on a supported Ubuntu host/supported guest environment, it will help immensely if you filed a new report with Ubuntu by ensuring you have the package xdiagnose installed, and that you click the Yes button for attaching additional debugging information running the following from a terminal:
ubuntu-bug xorg

Also, please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.
Comment 11 msc 2016-02-26 09:40:58 UTC
The hardware I was using died and has been replaced by something with a different OS and OpenGL implementation so I am unable to test with current software. I can say that the problem continued with Ubuntu 14.04 and 14.10.

I suspect this is related to the OGL driver for the Intel 950GMA series which I expect are disappearing fairly rapidly now so I'm okay with the bug being closed. However, I'm unhappy with it being labelled INVALID. WONTFIX is better.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.