what’s new in the virtual world? - x.org developer's ... · what’s new in the virtual...
TRANSCRIPT
![Page 1: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/1.jpg)
Open First
What’s new in the virtual world?XDC 2018
Elie TournierCollabora
![Page 2: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/2.jpg)
● What is virgl?● Evolution of virgl through the year.● The infrastructure, GitLab and CI.● Plan for the future.● Q&A and discussion.
XDC 2018 2
Summary
![Page 3: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/3.jpg)
What is virgl?History● Dave Airlie side project.● Virtual 3D GPU for QEMU.● Security in mind.● Base on Gallium architecture.● https://www.youtube.com/watch?v=rPeMrmeLTig
● Reach production level.
XDC 2018 3
![Page 4: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/4.jpg)
What is virgl?Stack
XDC 2018 4
QEMUvirglrenderer
virtio-gpuHost
Application
Kernel virtio-gpu
Mesa virgl
Guest
OpenGL
![Page 5: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/5.jpg)
What is virgl?IR
XDC 2018 5
QEMUvirglrenderer
virtio-gpuHost
Application
Kernel virtio-gpu
Mesa virgl
Guest
OpenGL
![Page 6: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/6.jpg)
What is virgl?Resource allocation (part 1/2)● Guest virtio-gpu driver allocates resource.● Guest driver creates resources (RESOURCE_CREATE_*).● QEMU or virglrenderer creates host resource.● Guest sets up backing storage
(RESOURCE_ATTACH_BACKING).● QEMU creates a iovec for the guest resource.
XDC 2018 6
![Page 7: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/7.jpg)
What is virgl?Resource allocation (part 2/2)● Guest writes data to resource.● Guest requests a transfer (TRANSFER_TO_HOST_*).● QEMU or virglrenderer copy data from guest resource to host
resource● Guest can use the resource. \o/
XDC 2018 7
![Page 8: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/8.jpg)
Project status at last XDC
● OpenGL 3.0 support.
● OpenGL backend only.
XDC 2018 8
![Page 9: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/9.jpg)
Current status
● OpenGL 4.3 support.● OpenGL ES 3.2 support.
● OpenGL and OpenGL ES backend.– Require SDL to create the GLES context.
XDC 2018 9
![Page 10: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/10.jpg)
Current status
● GLES 2 on GL and GLES: 0 failure.● GLES 3 on GLES: 3 failures.● GLES 3.2 on GL and GLES: 0 failure, 3397 not supported.
● State leaks when we randomized the CTS.
XDC 2018 10
![Page 11: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/11.jpg)
Current statusHow did we achieve these results?● Heavy use of host GPU features inside the guest.
– Caps initialized at launch.● Workarounds for OpenGL ES.
– Modify shader header.– GLES doesn’t support glDrawBuffer...
● Add formats support.
XDC 2018 11
![Page 12: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/12.jpg)
Debugging
● Where the f*&% is my issue?
XDC 2018 12
![Page 13: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/13.jpg)
Performance on Kabylake
XDC 2018 13
Benchmark Host QEMU guest Vtest guest
Unigine Valley (1024x768, Q:High, AA:2x)
31.4 fps (17.9, 47.9) 1.0 fps (1.0, 1.5) 12.3 fps (8.4,17.5)
Unigine Heaven (1024x768, Q:High, Tess: Normal, AA:2x)
37.3 fps (8.3, 64.1) 2.1 fps (1.5, 3.9) 13.4 fps (5.8, 24.9)
Gputest Pixmark Piano Windowed: 1024x640
7 fps 6 fps 6 fps
https://lists.freedesktop.org/archives/virglrenderer-devel/2018-September/001589.html
![Page 14: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/14.jpg)
The infrastructure
● Eavy use of Freedesktop GitLab.– Pull request.– Bug report.
● Still have some discussions over the ML.
XDC 2018 14
![Page 15: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/15.jpg)
The infrastructure
● CI in progress– https://gitlab.freedesktop.org/virgl/virglrenderer/
merge_requests/13
XDC 2018 15
![Page 16: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/16.jpg)
Plans for the future
● Release and improve the CI.● Fix the remaining Piglit/CTS failures.● Improve security of the project.● Add coherent memory.
XDC 2018 16
![Page 17: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/17.jpg)
Plans for the future
● Vulkan support.– Started by Nathan Gauër, GSoC student.– https://github.com/Keenuts/vulkan-virgl
XDC 2018 17
![Page 18: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/18.jpg)
XDC 2018 18
Demo ● What is a talk without a demo?
![Page 19: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/19.jpg)
XDC 2018 19
Join the party● https://gitlab.freedesktop.org/virgl/virglrenderer● #virgil3d● [email protected]
![Page 20: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/20.jpg)
![Page 21: What’s new in the virtual world? - X.Org Developer's ... · What’s new in the virtual world? XDC 2018 Elie Tournier Collabora What is virgl? Evolution of virgl through the year](https://reader033.vdocuments.mx/reader033/viewer/2022060209/5f0465857e708231d40dc473/html5/thumbnails/21.jpg)
Thank you!