Virglrenderer - The VirGL virtual OpenGL renderer
This repository lives at https://gitlab.freedesktop.org/virgl/virglrenderer. Other repositories are likely forks, and code found there is not supported.
This project uses the meson build system:
$ meson build
$ cd build
$ ninja install$ virgl_test_server --venus --no-fork --multi-clients \
--use-egl-surfaceless --use-gles \
--socket-path=/data/share/tmp/.virgl_testLLVM host:
$ glxgears -info
GL_RENDERER = llvmpipe (LLVM 21.1.8, 128 bits)
GL_VERSION = 4.5 (Compatibility Profile) Mesa 25.3.2
GL_VENDOR = Mesa
GL_EXTENSIONS = ...
VisualID 979, 0x3d3
958 frames in 5.0 seconds = 191.490 FPS
983 frames in 5.0 seconds = 196.580 FPSZINK host:
$ glxgears -info
GL_RENDERER = zink Vulkan 1.1(Mali-G76 (Driver Unknown))
GL_VERSION = 2.1 Mesa 24.3.0-devel (git-c1567e9609)
GL_VENDOR = Mesa
GL_EXTENSIONS = ...
VisualID 979, 0x3d3
1263 frames in 5.0 seconds = 252.593 FPS
1163 frames in 5.0 seconds = 232.317 FPSvirgl host:
$ glxgears -info
GL_RENDERER = virgl (Mali-G76)
GL_VERSION = 4.5 (Compatibility Profile) Mesa 25.3.2
GL_VENDOR = Mesa
GL_EXTENSIONS = ...
VisualID 979, 0x3d3
780 frames in 5.0 seconds = 155.832 FPS
732 frames in 5.0 seconds = 146.298 FPSvirgl guest(lxc):
$ glxgears -info
GL_RENDERER = virgl (Mali-G76)
GL_VERSION = 3.2 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.25.04.2
GL_VENDOR = Mesa
GL_EXTENSIONS = ...
VisualID 979, 0x3d3
629 frames in 5.0 seconds = 125.653 FPS
604 frames in 5.0 seconds = 120.691 FPS$ vulkaninfo --summary
Devices:
========
GPU0:
apiVersion = 1.1.82
driverVersion = 104857607
vendorID = 0x13b5
deviceID = 0x72110000
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Virtio-GPU Venus (Mali-G76)root@ubuntu:~# fastfetch
.... root@ubuntu
.',:clooo: .:looooo:. -----------
.;looooooooc .oooooooooo' OS: Ubuntu 25.04 aarch64
.;looooool:,''. :ooooooooooc Host: kirin980
;looool;. 'oooooooooo, Kernel: Linux 4.9.148-DreamConnected-All-in-One+
;clool' .cooooooc. ,, Uptime: 1 day, 16 hours, 38 mins
... ...... .:oo, Packages: 2384 (dpkg)
.;clol:,. .loooo' Shell: bash 5.2.37
:ooooooooo, 'ooool Display (builtin): 1080x2310 @ 60 Hz
'ooooooooooo. loooo. Theme: Breeze [GTK2/3]
'ooooooooool coooo. Icons: breeze [GTK2/3/4]
,loooooooc. .loooo. Font: Noto Sans (10pt) [GTK2/3/4]
.,;;;'. ;ooooc Cursor: breeze (24px)
... ,ooool. Terminal: vt220
.cooooc. ..',,'. .cooo. CPU: kirin980 (8) @ 2.60 GHz
;ooooo:. ;oooooooc. :l. GPU: Virtio-GPU Venus (Mali-G76) [Integrated]
.coooooc,.. coooooooooo. Memory: 3.82 GiB / 5.53 GiB (69%)
.:ooooooolc:. .ooooooooooo' Swap: 53.91 MiB / 6.00 GiB (1%)
.':loooooo; ,oooooooooc Disk (/): 39.44 GiB / 108.22 GiB (36%) - f2fs
..';::c' .;loooo:' Local IP (eth0): 10.0.3.11/24
Battery: 95% [Charging, AC Connected]
Locale: en_US.UTF-8Many Virglrenderer devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on OFTC's #virgil3d, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question.
The next best option is to ask your question in an email to the mailing lists: virglrenderer-devel@lists.freedesktop.org
If you think something isn't working properly, please file a bug report in GitLab.
Contributions are welcome, note that Virglrenderer uses GitLab for patches submission, review and discussions.