[vbox-dev] fw:Re: 3d acceleration of android-x86 for virtualbox
Michael Thayer
michael.thayer at oracle.com
Mon Jul 24 06:23:05 UTC 2017
Hello Dong Hao,
23.07.2017 18:08, tim3385 wrote:
> Thanks for your reply.
> I heard of virgil is not enough mature. So I think "passthough into host
> 3d api" is a easy way for now. And "gles pipes" @Luo meantioned is the
> same meaning?
This is the first time that I am hearing of GLES pipes too. Perhaps Luo
(Huihong Luo, is that the right way to address you? Sorry that I keep
asking that!) will tell us more.
> The 3D feature for other linux distribution just like Ubuntu is our good
> reference. But it is not easy to run hardware 3D in Ubuntu successfully.
> I don't why. If it works well, we will start to analyze the difference
> between the addtion of Ubuntu and Android-x86 as entry point. If you
> know some detail to tell us, it is will much helpful, thanks.
More information welcome on what does not work there. I assume you
meant testing our 3D pass-through on an Ubuntu distribution. If you do
that I would suggest you try 17.04, not 17.10. Note that Chromium has
bad issues with it, which would probably be fixable if someone took the
time to look - it might even be a good way for you to get to know our
code. And as I said, it would make sense for you to do your own tests
and comparisons of our code, Virgl in Qemu and possibly also our
experimental VMWare graphics emulation.
Regards
Michael
> btw. Cross wall from China mainland is not stable in these days. We
> can't access andorid-x86/google/android.com <http://android.com>and
> etc~~. And we are busy for some other affair. We will take more time
> from the end of this month.
>
> best
> Dong Hao
> ------------------------------------------------------------------------
> Sent from YoMail for Gmail <http://www.yomail.com/?utm_source=signature>
>
> *发件人:* Huihong Luo <mailto:huisinro at yahoo.com>
> *发送时间:* 2017-07-23 21:59:43
> *收件人:* Chih-Wei Huang <mailto:cwhuang at android-x86.org>
> *抄送:* Michael Thayer <mailto:michael.thayer at oracle.com>;
> vbox-dev at virtualbox.org <mailto:vbox-dev at virtualbox.org>; zhengxuwen
> <mailto:zhengxuwen at c2engine.com>; tim3385 <mailto:tim3385 at gmail.com>
> *主题:* Re: [vbox-dev] fw:Re: 3d acceleration of android-x86 for
> virtualbox
>
> Another option, which is more doable, is to use emulator's gles pipes.
>
> Sent from my iPhone
>
> > On Jul 19, 2017, at 4:35 AM, Chih-Wei Huang
> <cwhuang at android-x86.org <mailto:cwhuang at android-x86.org>> wrote:
> >
> > 2017-07-19 7:05 GMT+08:00 tim3385 <tim3385 at gmail.com
> <mailto:tim3385 at gmail.com>>:
> >> <Michael Thayer> 在 2017-07-18 16:20:43 写道:
> >> Hello Dong Hao,
> >>
> >> (Is that the right way to address you?)
> >>
> >> 15.07.2017 19:57, tim3385 wrote:
> >> [...]
> >>> vboxguest, vboxvideo and vboxsf have been probed into android-x86.
> >>> We are finding the entrance of translate android-x86 3d implement to
> >>> host OS.
> >>>
> >>> We have a few questions about virtualbox, thanks^^:
> >>>
> >>> 1 "external_vboxguest-linux-module" is a driver for virtualbox's
> virtual
> >>> hardware, is my understanding right?
> >>
> >> The vboxguest module drives the virtual "guest" device which does
> most
> >> of the work of letting the Guest Additions communicate with the host.
> >>
> >>> 2 There is a sentense "Hardware 3D acceleration under Ubuntu
> 10.10 and
> >>> Fedora 14 have been tested and confirmed as working"
> >>> in http://www.virtualbox.org/manual/ch04.html#guestadd-video .
> Can you
> >>> introduce the theory? eg. where is the entrance that The additon
> >>> translate 3d api invoke to host?
> >>
> >> I see that our manual needs some adjusting not to refer to
> precise guest
> >> versions which get out of date quickly. To repeat: the theory is that
> >> we replace libGL.so <http://libgl.so>.1 on the guest with our own
> one: VBoxOGL.so <http://vboxogl.so>, with
> >> various dependencies VBoxOGL*.so. Those marshall OpenGL API calls
> >> (though they deal with some things locally in the address space
> of the
> >> caller) which they send through the guest device using the HGCM
> >> transport (though it can also be done through the graphics device
> using
> >> the HGSMI transport) to the host for rendering. See the make file
> >> src/VBox/Additions/common/crOpenGL/Makefile.kmk
> >> for an overview of what goes into those libraries. The source
> files are
> >> rather scattered over the tree, and some are auto-generated, but
> if you
> >> want to do something here you will not get around doing a lot of
> reading
> >> of source. We could probably answer specific questions, but generic
> >> explanations of "how it works" will probably not help much
> without that
> >> reading.
> >>
> >> See though my suggestion by private e-mail of modifying the vboxvideo
> >> graphics device to be able to channel Qemu's virgl rendering protocol
> >> through to the host. You would be able to leave the guest rendering
> >> code in Mesa almost unmodified (just changed enough to recognise
> >> vboxvideo as a supported device) and re-use the host rendering
> code (the
> >> virglrenderer library) which would just need to be hooked, more
> or less
> >> unmodified, into our host code. The changes to vboxvideo itself
> should
> >> be reasonably trivial too. In comparison, reworking our current
> 3D code
> >> will be a lot of work.
> >
> > Hi Michael,
> > Thank you for the detailed reply.
> > Let me sum it up to see if I understand
> > your words correctly:
> >
> > * Modify Mesa to recognize vboxvideo
> > * Modify vboxvideo to send virgl rendering protocol to the host
> > * Hook virglrenderer to vbox host code
> >
> > I have concern about the third step.
> > As I know currently virglrenderer only supports Linux.
> > (though I saw some Windows's patches are ongoing)
> > That would limit our supported hosts.
> > Besides, I think currently virglrenderer is still not stable
> > or complete enough. As I tested on QEMU with virgl,
> > many 3D benchmark apps don't work.
> > (just crash or black screen)
> > The only famous benchmark app that works on it
> > is GLXBench.
> >
> > I'm still thinking if it's possible to use your current 3D code
> > directly. Could you give us more ideas how it work
> > for Linux or Windows guests? Or point us which
> > code to read. Thanks a lot!
> >
> >>> 3 We want to do some modification based
> >>> on "external_vboxguest-linux-module". Could you please give us some
> >>> suggestions or samples?
> >>
> >> That is hard without knowing what you want to do.
> >>
> >>> 4 About android-x86: is there some way to directly(like by usb
> >>> wire) connect host to android-x86 in virtualbox by adb? We only
> found
> >>> the way "adb connect IP" can success, and the "IP" must be a lan IP
> >>> but 127.0.0.1 so that the transfer speed would be low.
> >>
> >> Not that I know of, though I don't know much about adb. In theory you
> >> could write a virtual USB device to do that, but I suspect you have
> >> already set more than enough work for yourself.
> >>
> >>> 5 How can sound card of virtualbox Android-x86 work fine?
> >>
> >> Sound is being worked on. What problems are you experiencing?
> >>
> >> Regards
> >> Michael
> >>
> >>> best
> >>> Dong Hao
> >>>
> >>>
> ------------------------------------------------------------------------
> >>> Sent from YoMail for Gmail
> <http://www.yomail.com/?utm_source=signature>
> >>>
> >>> < Michael Thayer <mailto:michael.thayer at oracle.com
> <mailto:michael.thayer at oracle.com>>> 在 2017-07-12
> >>> 19:17:49 写道:
> >>>
> >>> 10.07.2017 10:52, tim3385 wrote:
> >>>> Dear Sirs:
> >>>>
> >>>> I want to make virtualbox addition for android-x86 to improve the
> >>>> efficient of 3d and 2d.
> >>>> Mr. Chih-Wei Huang, current project maintainer of android-x86, has
> >>> given
> >>>> me some reference about android-x86 3d acceleration. They just
> discuss
> >>>> this with VWare.
> >>>>
> >>>> I want to look for somebody who can help me begin. thanks.
> >>> Hello Tim (is that the right name to address you by?),
> >>>
> >>> I'm afraid that no one has a lot of time to help you with this.
> I will
> >>> make a quick suggestion about where you could start looking. You
> will
> >>> probably have most luck studying the code and asking precise
> questions
> >>> when things are not clear.
> >>>
> >>> You will probably want to start by looking at the X11 libGL.so
> <http://libgl.so> and its
> >>> dependencies. This is a purely user-space library which
> marshalls the
> >>> OpenGL command stream and some information from GLX commands and
> sends
> >>> it to the host, currently via the "guest" device, on Windows
> through the
> >>> graphics device. On the host the 3D content is rendered to a host
> >>> window - a separate one from the normal guest screen window, which
> >>> sometimes causes unwanted artefacts when 2D and 3D guest
> rendering are
> >>> mixed.
> >>>
> >>> It will probably take you a while to get used to our build system to
> >>> work out what goes into libGL.so <http://libgl.so> (including
> generated files), but you
> >>> will probably have to go through that.
> >>>
> >>> Hope that helps for a start.
> >>>
> >>> Regards
> >>> Michael
> >> [...]
> >
> >
> >
> > --
> > Chih-Wei
> > Android-x86 project
> > http://www.android-x86.org
> > _______________________________________________
> > vbox-dev mailing list
> > vbox-dev at virtualbox.org <mailto:vbox-dev at virtualbox.org>
> > https://www.virtualbox.org/mailman/listinfo/vbox-dev
>
--
Michael Thayer | VirtualBox engineer
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | D-71384 Weinstadt
ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister
der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
More information about the vbox-dev
mailing list