[vbox-dev] Chromium WebGL vs Angle WebGL

Michael Thayer michael.thayer at oracle.com
Mon Apr 29 13:03:33 PDT 2013


Hello Michael,

VirtualBox is not using upstream Chromium - we have forked it and 
maintaining our version ourselves.  There is certainly room for 
improvement there, and you are welcome to contribute, but it is being 
actively worked upon on our side.  I still haven't find anything on 
ANGLE through google to indicate that it is not Windows-only (except 
for: "In addition to OpenGL ES 2.0 and EGL 1.4 libraries, ANGLE also 
provides a GLSL ES to GLSL translator [...] The translator code is fully 
independent of the rest of ANGLE code and resides in $BASE/src/compiler. 
Since the translator is supposed to be a cross-platform utility, it uses 
a different build system GYP, which generates native project files for 
all supported platforms."[1]  Do you have a pointer to something relevant?

Regards,

Michael

[1] http://code.google.com/p/angleproject/wiki/DevSetup

On 29/04/13 21:36, Michael Slavitch wrote:
> The VirtualBox 3D driver is based on the Chromium OpenGL proxy tool.
> As far as I know Chromium does not support Mac OS X as a platform.
> There hasn't been an official release since 2006. From what I have
> seen on MacOS hosts 3D rendering is done by the host using a mix of
> software and hardware calls.  The performance of 3D on Windows guests
> running on MacOS and Linux hosts is somewhat lacking.
>
> Angle is not Windows only, it a cross-platform library that wraps
> local implementations of OpenGL (MacOS, Linux) or DirectX (9 and 10)
> (Windows) with WebGL to access hardware-accelerated libraries using a
> single consistent API.  3D tasks such as shading are done in hardware,
> not software, using common calls. It is used on Mac OS X, Linux, and
> in mobile platforms, as well as in Windows. The major use has been in
> browsers but that is only a circumstance of the energy going towards
> web applications.
>
> Now, I might be wrong but I would be very leery of depending on API's
> from a project that hasn't seen a revision in seven years, and looks
> to be orphaned, when there is a library that allows VirtualBox to
> create host environments that can provide a consistent
> hardware-accelerated graphics API to guest, especially one that is
> still in active development.  There seems to be little thought put in
> to 3D support.  This has the potential of changing that.
>
> Regards
>
> Michael
>
>
> On Mon, Apr 29, 2013 at 2:49 PM, Michael Thayer
> <michael.thayer at oracle.com> wrote:
>> Hello Michael,
>>
>> Perhaps I am missing something here, but first I have trouble seeing what
>> ANGLE should provide which we are currently lacking (in fact I am not quite
>> sure what you feel is wrong with our current solution at all which cannot be
>> fixed in place), and secondly it looks from its web page like a Windows-only
>> library to run OpenGL ES on top of DirectX rather than a cross-platform one
>> to translate DirectX into WebGL.  I am not even quite clear either why you
>> think we need such a library - are you considering Windows guests being
>> displayed in a host web browser?  And if so, do you think that ANGLE would
>> be suitable for being embedded into a guest display driver?
>>
>> Regards,
>>
>> Michael
>>
>>
>> On 29/04/13 19:09, Michael Slavitch wrote:
>>>
>>> In other words, it's an open-source library that can do for VirtualBox
>>> what Mesa/Gallium3D does for VMWare: Present a consistent OpenGL 3D
>>> library no matter the underlying platform.  It has a BSD license.
>>>
>>>
>>> On Mon, Apr 29, 2013 at 12:49 PM, Michael Slavitch <slavitch at gmail.com>
>>> wrote:
>>>>
>>>> The latter is what's used in Oracle VirtualBox to provide WebGL
>>>> services to pass graphics commands to the host.
>>>>
>>>> That's what Angle provides, as a library, for applications that can
>>>> use it, and for the same reason, as it allows the same library to
>>>> offer near-native graphics support cross-platform, such that DirectX
>>>> API commands can be translated into WebGL calls supported on myriad
>>>> platforms.  They support translation of DirectX 9 and DirectX 10.
>>>>
>>>>
>>>>
>>>> On Mon, Apr 29, 2013 at 12:42 PM, Michael Slavitch <slavitch at gmail.com>
>>>> wrote:
>>>>>
>>>>> The latter is what's used in Oracle VirtualBox to provide WebGL
>>>>> services, correct?  That's what Angle provides, as a library, for
>>>>> applications that can use it.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Apr 29, 2013 at 12:13 PM, Michael Thayer
>>>>> <michael.thayer at oracle.com> wrote:
>>>>>>
>>>>>> Hello Michael,
>>>>>>
>>>>>> I think you have the wrong Chromium there[1][2].
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Michael
>>>>>>
>>>>>> [1] http://www.chromium.org/
>>>>>> [2] http://chromium.sourceforge.net/
>>>>>>
>>>>>>
>>>>>> On 29/04/13 17:59, Michael Slavitch wrote:
>>>>>>>
>>>>>>>
>>>>>>> Has anyone investigated replacing the Chromium WebGL used in
>>>>>>> Virtualbox with the capabilities offered by Angle?  The result would
>>>>>>> give Windows guests on Linux/MacOS hosts access to
>>>>>>> hardware-accelerated WebGL libraries on the underlying hosts,  and
>>>>>>> achieve parity with host implementations when using Direct3D 10 or
>>>>>>> above.
>>>>>>>
>>>>>>> Deets here:
>>>>>>>
>>>>>>> https://code.google.com/p/angleproject/
>>>>>>>
>>>>>>> ANGLE is a conformant implementation of the OpenGL ES 2.0
>>>>>>> specification that is hardware‐accelerated via Direct3D. ANGLE
>>>>>>> v1.0.772 was certified compliant by passing the ES 2.0.3 conformance
>>>>>>> tests in October 2011. ANGLE also provides an implementation of the
>>>>>>> EGL 1.4 specification.
>>>>>>>
>>>>>>> ANGLE is used as the default WebGL backend for both Google Chrome and
>>>>>>> Mozilla Firefox on Windows platforms. Chrome uses ANGLE for all
>>>>>>> graphics rendering on Windows, including the accelerated Canvas2D
>>>>>>> implementation and the Native Client sandbox environment.
>>>>>>>
>>>>>>>>>
>>>>>>> Portions of the ANGLE shader compiler are used as a shader validator
>>>>>>> and translator by WebGL implementations across multiple platforms. It
>>>>>>> is used on Mac OS X, Linux, and in mobile variants of the browsers.
>>>>>>> Having one shader validator helps to ensure that a consistent set of
>>>>>>> GLSL ES shaders are accepted across browsers and platforms.
>>>>>>>
>>>>>>> The shader translator can be used to translate shaders to other
>>>>>>> shading languages, and to optionally apply shader modifications to
>>>>>>> work around bugs or quirks in the native graphics drivers. The
>>>>>>> translator targets Desktop GLSL, Direct3D HLSL, and even ESSL for
>>>>>>> native GLES2 platforms.
>>>>>>> <<<
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> vbox-dev mailing list
>>>>>>> vbox-dev at virtualbox.org
>>>>>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
>>>>>> Werkstrasse 24                     VirtualBox engineering
>>>>>> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>>>>>>
>>>>>> Hauptverwaltung: Riesstr. 25, D-80992 München
>>>>>> Registergericht: Amtsgericht München, HRA 95603
>>>>>> Geschäftsführer: Jürgen Kunz
>>>>>>
>>>>>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>>>>>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>>>>>> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
>>>>>> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher
>>>
>>>
>>> _______________________________________________
>>> vbox-dev mailing list
>>> vbox-dev at virtualbox.org
>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>
>>
>>
>> --
>> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
>> Werkstrasse 24                     VirtualBox engineering
>> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>>
>> Hauptverwaltung: Riesstr. 25, D-80992 München
>> Registergericht: Amtsgericht München, HRA 95603
>> Geschäftsführer: Jürgen Kunz
>>
>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
>> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher


-- 
ORACLE Deutschland B.V. & Co. KG   Michael Thayer
Werkstrasse 24                     VirtualBox engineering
71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Geschäftsführer: Jürgen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher



More information about the vbox-dev mailing list