~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to docs/drivers/virgl.rst

  • Committer: mmach
  • Date: 2022-09-22 19:58:36 UTC
  • Revision ID: netbit73@gmail.com-20220922195836-9nl9joew85y8d25o
2022-07-04 12:44:28

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
VirGL
 
2
=====
 
3
 
 
4
What is VirGL?
 
5
--------------
 
6
 
 
7
VirGL is a virtual 3D GPU for use inside QEMU virtual machines, that
 
8
allows the guest operating system to use the capabilities of the host GPU
 
9
to accelerate 3D rendering. The plan is to have a guest GPU that is fully
 
10
independent of the host GPU.
 
11
 
 
12
What exactly does it entail?
 
13
----------------------------
 
14
 
 
15
The project entails creating a virtual 3D capable graphics card for
 
16
virtual machines running inside QEMU. The design of this card is based
 
17
around the concepts of Gallium3D to make writing Mesa and (eventually)
 
18
Direct3D drivers for it easy. The card natively uses the Gallium TGSI
 
19
intermediate representation for its shaders. The implementation of
 
20
rendering for the card is done in the host system as part of QEMU and is
 
21
implemented purely on OpenGL so you can get accelerated rendering on any
 
22
sufficiently capable card/driver combination.
 
23
 
 
24
The project also consists of a complete Linux guest stack, composed of a
 
25
Linux kernel KMS driver, X.org 2D DDX driver and Mesa 3D driver.
 
26
 
 
27
Current status
 
28
--------------
 
29
 
 
30
* Many pieces are now upstreamed in various projects.
 
31
* Kernel Linux 4.2 contains the modesetting only drivers. Linux 4.4
 
32
  contains the 3D supported pieces.
 
33
* Mesa main contains the virgl 3D driver.
 
34
* QEMU 2.4 contained the initial virtio-gpu with no acceleration
 
35
  support. QEMU 2.5 contains 3D support only with the GTK3 frontend with
 
36
  GL enabled.
 
37
* The virglrenderer library seems mostly API stable.
 
38
* Limited environment renderer (GLES2)
 
39
 
 
40
So what can it do now?
 
41
^^^^^^^^^^^^^^^^^^^^^^
 
42
 
 
43
Run a desktop and most 3D games I've thrown at it.
 
44
 
 
45
Scope
 
46
-----
 
47
 
 
48
The project is currently investigating the desktop virtualisation use case
 
49
only. This use case is where the viewer, host and guest are all running on
 
50
the same machine (i.e. workstation or laptop). Some areas are in scope for
 
51
future investigation but not being looked at, at this time.
 
52
 
 
53
Future scope
 
54
^^^^^^^^^^^^
 
55
 
 
56
* Remoting rendering using a codec solution.
 
57
* Windows guest, Direct3D drivers.
 
58
* Other architectures
 
59
 
 
60
Out of scope
 
61
^^^^^^^^^^^^
 
62
 
 
63
* Passing through GPUs or subsets of GPU capabilities.
 
64
 
 
65
Repos
 
66
-----
 
67
 
 
68
All upstream parts are being developed upstream.
 
69
 
 
70
virglrenderer: the GL renderer https://gitlab.freedesktop.org/virgl/virglrenderer
 
71
 
 
72
Authors and Contributors
 
73
------------------------
 
74
 
 
75
VirGL is a project undertaken by Dave Airlie at Red Hat. It builds on lots
 
76
of open source work in a number of projects, primarily the Gallium 3D code
 
77
from the Mesa project.
 
78
 
 
79
Support or Contact
 
80
------------------
 
81
 
 
82
mailing list: virglrenderer-devel@lists.freedesktop.org
 
83
 
 
84
https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel
 
85
 
 
86
irc: `#virgil3d on OFTC <irc://irc.oftc.net/virgil3d>`__.