1{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3
2, libGLU, libepoxy, libX11, libdrm, mesa
3, vaapiSupport ? true, libva
4, gitUpdater
5}:
6
7stdenv.mkDerivation rec {
8 pname = "virglrenderer";
9 version = "1.0.1";
10
11 src = fetchurl {
12 url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/${version}/virglrenderer-${version}.tar.bz2";
13 hash = "sha256-U8uPrdCPUmDuV4M/wkiFZUgUOLx6jjTz4RTRLMnZ25o=";
14 };
15
16 separateDebugInfo = true;
17
18 buildInputs = [ libGLU libepoxy libX11 libdrm mesa ]
19 ++ lib.optionals vaapiSupport [ libva ];
20
21 nativeBuildInputs = [ meson ninja pkg-config python3 ];
22
23 mesonFlags= [
24 (lib.mesonBool "video" vaapiSupport)
25 ];
26
27 passthru = {
28 updateScript = gitUpdater {
29 url = "https://gitlab.freedesktop.org/virgl/virglrenderer.git";
30 rev-prefix = "virglrenderer-";
31 };
32 };
33
34 meta = with lib; {
35 description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
36 mainProgram = "virgl_test_server";
37 homepage = "https://virgil3d.github.io/";
38 license = licenses.mit;
39 platforms = platforms.linux;
40 maintainers = [ maintainers.xeji ];
41 };
42}