VirtualBox 2D acceleration

Jung-uk Kim jkim at FreeBSD.org
Fri Oct 8 17:57:52 UTC 2010


On Thursday 07 October 2010 05:26 pm, Dmitry Pryanishnikov wrote:
> Hello!
>
> 2010/10/7 Sean C. Farley <scf at freebsd.org>:
> >> I use 8.1-STABLE/amd64 with ATI RV370
> >> [Radeon X300SE] video adapter, X.Org X Server 1.7.5, video
> >> driver "radeon", direct rendering enabled, "AccelMethod" is
> >> "EXA". What else should I check in order to verify why the
> >> "Enable 2D Video Acceleration" option is inactive?
> >
> > Run VBoxTestOGL and check the log's output:
> > VBoxTestOGL --test 2D --test 3D --log vboxtest.log
> >
> > It may show something.  Before the patch, --help did not show
> > --test 2D as a valid option.
>
>   Thank you for reply! I see that the reason is the lack of the
> fragment shader support...
>
> 00:00:00.162 gl version string: 01.3 Mesa 7.4.4
> 00:00:00.162 gl version: 0x10300
> ...
>
> 00:00:00.162 GL_ARB_multitexture: 1
> 00:00:00.162 GL_ARB_shader_objects: 0
> 00:00:00.162 GL_ARB_fragment_shader: 0
> 00:00:00.162 GL_ARB_pixel_buffer_object: 0
> 00:00:00.162 GL_ARB_texture_rectangle: 1
> 00:00:00.162 GL_EXT_texture_rectangle: 1
> 00:00:00.162 GL_NV_texture_rectangle: 1
> 00:00:00.162 GL_ARB_texture_non_power_of_two: 0
> 00:00:00.162 GL_EXT_framebuffer_object: 0
> 00:00:00.179 Max Tex Coords (8), Img Units (8)
> 00:00:00.179 2D not supported: fragment shader unsupported
> 00:00:00.179 Testing 2D Failed

Your previous e-mail shows that you have AMD/ATI RV370 (Radeon 
X300SE).  FYI, all Radeons with "classic" Mesa lack the extension, 
AFAIK.

I took a look at VirtualBox source and I found the code actually came 
from WineD3D to emulate DirectX via OpenGL:

http://www.nongnu.org/wined3d/
http://source.winehq.org/git/wine.git/?a=blob;f=dlls/wined3d/glsl_shader.c
http://www.virtualbox.org/browser/trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/glsl_shader.c

Luckily, there is an upstream PR for the issue:

http://www.virtualbox.org/ticket/5753

"There is a plan to weaken the opengl requirements for 2D support, 
i.e. use other extensions, e.g. GL_ARB_fragment_program instead of 
fragment_shader when it is unsupported."

Jung-uk Kim


More information about the freebsd-emulation mailing list