docs: import virgl docs
The docuentation has been imported verbatim from https://virgil3d.github.io/. Acked-by: Chia-I Wu <olvaffe@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13836>
This commit is contained in:
parent
e1964e1dde
commit
6897266ce0
|
@ -0,0 +1,87 @@
|
|||
Virgil 3d project
|
||||
=================
|
||||
|
||||
What is Virgil?
|
||||
---------------
|
||||
|
||||
Virgil is a research project to investigate the possibility of creating a
|
||||
virtual 3D GPU for use inside qemu virtual machines, that allows the
|
||||
guest operating system to use the capabilities of the host GPU to
|
||||
accelerate 3D rendering. The plan is to have a guest GPU that is fully
|
||||
independent of the host GPU.
|
||||
|
||||
What exactly does it entail?
|
||||
----------------------------
|
||||
|
||||
The project entails creating a virtual 3D capable graphics card for
|
||||
virtual machines running inside qemu. The design of this card is based
|
||||
around the concepts of Gallium3D to make writing Mesa and (eventually)
|
||||
Direct3D drivers for it easy. The card natively uses the Gallium TGSI
|
||||
intermediate representation for its shaders. The implementation of
|
||||
rendering for the card is done in the host system as part of qemu and is
|
||||
implemented purely on OpenGL so you can accelerated rendering on any
|
||||
sufficiently capable card/driver combination.
|
||||
|
||||
The project also consists of a complete Linux guest stack, composed of a
|
||||
Linux kernel KMS driver, X.org 2D DDX driver and Mesa 3D driver.
|
||||
|
||||
Current status
|
||||
--------------
|
||||
|
||||
* Many pieces are now upstreamed in various projects.
|
||||
* Kernel Linux 4.2 contains the modesetting only drivers. Linux 4.4
|
||||
contains the 3D supported pieces.
|
||||
* Mesa Mesa master contains the virgl 3D driver.
|
||||
* QEMU QEMU 2.4 contained the initial virtio-gpu with no acceleration
|
||||
support. QEMU 2.5 contains 3D support only with the GTK3 frontend with
|
||||
GL enabled.
|
||||
* virglrenderer The virglrenderer library seems mostly API stable.
|
||||
|
||||
So what can it do now?
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Run a desktop and most 3D games I've thrown at it.
|
||||
|
||||
Scope
|
||||
-----
|
||||
|
||||
The project is currently investigating the desktop virtualisation use case
|
||||
only. This use case is where the viewer, host and guest are all running on
|
||||
the same machine (i.e. workstation or laptop). Some areas are in scope for
|
||||
future investigation but not being looked at, at this time.
|
||||
|
||||
Future scope
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* Remoting rendering using a codec solution.
|
||||
* Windows guest, Direct3D drivers.
|
||||
* Other architectures
|
||||
* Limited environment renderer (GLES2)
|
||||
|
||||
Out of scope
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* Passing through GPUs or subsets of GPU capabilities.
|
||||
|
||||
Repos
|
||||
-----
|
||||
|
||||
All upstream parts are being developed upstream.
|
||||
|
||||
virglrenderer: the GL renderer http://cgit.freedesktop.org/virglrenderer git://git.freedesktop.org/git/virglrenderer
|
||||
|
||||
Authors and Contributors
|
||||
------------------------
|
||||
|
||||
Virgil is a research project undertaken by Dave Airlie at Red Hat. It
|
||||
builds on lots of open source work in a number of projects, primarily the
|
||||
Gallium 3D code from the Mesa project.
|
||||
|
||||
Support or Contact
|
||||
------------------
|
||||
|
||||
mailing list: virglrenderer-devel@lists.freedesktop.org
|
||||
|
||||
https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel
|
||||
|
||||
irc: ``#virgil3d`` on freenode
|
|
@ -93,6 +93,7 @@ Linux, FreeBSD, and other operating systems.
|
|||
drivers/v3d
|
||||
drivers/vc4
|
||||
drivers/venus
|
||||
drivers/virgl
|
||||
drivers/zink
|
||||
|
||||
.. toctree::
|
||||
|
|
|
@ -32,8 +32,8 @@ Layered driver include:
|
|||
- :doc:`D3D12 <drivers/d3d12>` - driver providing OpenGL on top of
|
||||
Microsoft's Direct3D 12 API.
|
||||
- :doc:`SVGA3D <drivers/svga3d>` - driver for VMware virtual GPU
|
||||
- `VirGL <https://virgil3d.github.io/>`__ - research project for
|
||||
accelerated graphics for qemu guests
|
||||
- `VirGL <drivers/virgl>` - research project for accelerated graphics
|
||||
for qemu guests
|
||||
- :doc:`Zink <drivers/zink>` - driver providing OpenGL on top of
|
||||
Khoronos' Vulkan API.
|
||||
|
||||
|
|
Loading…
Reference in New Issue