[OE-core] [PATCH 01/12] virglrenderer: add a recipe

Martin Jansa martin.jansa at gmail.com
Sat Feb 9 09:44:19 UTC 2019


On Fri, Feb 08, 2019 at 03:45:42PM +0100, Alexander Kanavin wrote:
> This component enables hardware-accelerated GL inside QEMU guests.
> For more information, see here:
> 
> https://lwn.net/Articles/767970/
> https://www.collabora.com/news-and-blog/blog/2018/02/12/virtualizing-gpu-access/
> https://www.collabora.com/news-and-blog/blog/2018/05/09/gpu-virtualization-update/
> 
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> ---
>  meta/conf/distro/include/maintainers.inc      |  1 +
>  .../0001-vtest-add-missing-includes.patch     | 38 +++++++++++++++++++
>  .../virglrenderer/virglrenderer_git.bb        | 19 ++++++++++
>  3 files changed, 58 insertions(+)
>  create mode 100644 meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
>  create mode 100644 meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
> 
> diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
> index 122fdbcff4b..f7d43d20b7f 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -700,6 +700,7 @@ RECIPE_MAINTAINER_pn-util-macros = "Armin Kuster <akuster808 at gmail.com>"
>  RECIPE_MAINTAINER_pn-v86d = "Alexander Kanavin <alex.kanavin at gmail.com>"
>  RECIPE_MAINTAINER_pn-vala = "Alexander Kanavin <alex.kanavin at gmail.com>"
>  RECIPE_MAINTAINER_pn-valgrind = "Alexander Kanavin <alex.kanavin at gmail.com>"
> +RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin at gmail.com>"
>  RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen at windriver.com>"
>  RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal at intel.com>"
>  RECIPE_MAINTAINER_pn-vulkan = "Ross Burton <ross.burton at intel.com>"
> diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
> new file mode 100644
> index 00000000000..b565c48ee66
> --- /dev/null
> +++ b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
> @@ -0,0 +1,38 @@
> +From 05c5c5f43fbffb3317bd9da27d414890d2ef493c Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin at gmail.com>
> +Date: Fri, 18 Jan 2019 13:47:23 +0100
> +Subject: [PATCH] vtest: add missing includes
> +
> +This fixes build failures with musl C library
> +
> +Upstream-Status: Submitted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/125]
> +Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> +---
> + vtest/util.c         | 1 +
> + vtest/vtest_server.c | 1 +
> + 2 files changed, 2 insertions(+)
> +
> +diff --git a/vtest/util.c b/vtest/util.c
> +index 0d3c78f..c605253 100644
> +--- a/vtest/util.c
> ++++ b/vtest/util.c
> +@@ -26,6 +26,7 @@
> + #include <stdio.h>
> + #include <string.h>
> + #include <unistd.h>
> ++#include <sys/select.h>
> + 
> + int vtest_wait_for_fd_read(int fd)
> + {
> +diff --git a/vtest/vtest_server.c b/vtest/vtest_server.c
> +index bc6c95f..010721f 100644
> +--- a/vtest/vtest_server.c
> ++++ b/vtest/vtest_server.c
> +@@ -31,6 +31,7 @@
> + #include <netinet/in.h>
> + #include <sys/un.h>
> + #include <fcntl.h>
> ++#include <string.h>
> + 
> + #include "util.h"
> + #include "vtest.h"
> diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
> new file mode 100644
> index 00000000000..93fc35feb8d
> --- /dev/null
> +++ b/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
> @@ -0,0 +1,19 @@
> +SUMMARY = "VirGL virtual OpenGL renderer"
> +HOMEPAGE = "https://virgil3d.github.io/"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
> +
> +DEPENDS = "libdrm mesa libepoxy"

Does it need to depend on mesa directly instead of one of virtual/*
providers?

It fails to build for targets which use different mesa, e.g. mesa-gl:

ERROR: Nothing PROVIDES 'mesa' (but /OE/build/luneos-master/webos-ports/openembedded-core/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb DEPENDS on or otherwise requires it)
mesa was skipped: PREFERRED_PROVIDER_virtual/libgl set to mesa-gl, not mesa
ERROR: Required build target 'virglrenderer' has no buildable providers.
Missing or unbuildable dependency chain was: ['virglrenderer', 'mesa']

Regards,

> +PV = "0.7.0"
> +SRCREV = "402c228861c9893f64cffbbcb4cb23044b8c721c"
> +SRC_URI = "git://anongit.freedesktop.org/virglrenderer \
> +           file://0001-vtest-add-missing-includes.patch \
> +           "
> +
> +S = "${WORKDIR}/git"
> +
> +inherit autotools pkgconfig
> +
> +BBCLASSEXTEND = "native nativesdk"
> +
> -- 
> 2.17.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190209/4e280d06/attachment.sig>


More information about the Openembedded-core mailing list