* [PATCH 01/23] gtk+3: enable native/nativesdk variant
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
@ 2019-01-14 15:02 ` Alexander Kanavin
2019-01-14 15:02 ` [PATCH 02/23] gtk+3: remove the gtk-icon-utils-native recipe Alexander Kanavin
` (22 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:02 UTC (permalink / raw)
To: openembedded-core
Host-assisted GL in Qemu in theory works with both SDL
and GTK; in practice SDL shows an empty screen. This
prepares the switchover of graphical qemu to use
native gtk, which also provides a neat set of menus to
control the emulator.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-gnome/gtk+/gtk+3.inc | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 519a9840f42..77e8cb33f94 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -12,6 +12,8 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check gobject-introspection
+BBCLASSEXTEND = "native nativesdk"
+
# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
@@ -59,6 +61,11 @@ do_install_append() {
ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
}
+do_install_append_class-native() {
+ # provided by gtk-icon-utils-native
+ rm ${D}${bindir}/gtk-encode-symbolic-svg
+}
+
PACKAGES =+ "${PN}-demo"
LIBV = "3.0.0"
@@ -104,6 +111,15 @@ GTKBASE_RRECOMMENDS ?= "liberation-fonts \
shared-mime-info \
adwaita-icon-theme-symbolic \
"
+
+GTKBASE_RRECOMMENDS_class-native ?= "\
+ gdk-pixbuf-loader-png \
+ gdk-pixbuf-loader-jpeg \
+ gdk-pixbuf-loader-gif \
+ gdk-pixbuf-loader-xpm \
+ shared-mime-info \
+ "
+
GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 02/23] gtk+3: remove the gtk-icon-utils-native recipe
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
2019-01-14 15:02 ` [PATCH 01/23] gtk+3: enable native/nativesdk variant Alexander Kanavin
@ 2019-01-14 15:02 ` Alexander Kanavin
2019-01-14 15:02 ` [PATCH 03/23] shared-mime-info: update the database also in native builds Alexander Kanavin
` (21 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:02 UTC (permalink / raw)
To: openembedded-core
As we are now build native gtk+3, it already provides the necessary utilities.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-gnome/gtk+/gtk+3.inc | 7 +-
.../gtk+/gtk-icon-utils-native_3.22.30.bb | 63 -----------
...endency-from-gtk-encode-symbolic-svg.patch | 102 ------------------
3 files changed, 5 insertions(+), 167 deletions(-)
delete mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb
delete mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 77e8cb33f94..ecb6abe4b5b 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -62,10 +62,13 @@ do_install_append() {
}
do_install_append_class-native() {
- # provided by gtk-icon-utils-native
- rm ${D}${bindir}/gtk-encode-symbolic-svg
+ create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
}
+PROVIDES += "gtk-icon-utils"
PACKAGES =+ "${PN}-demo"
LIBV = "3.0.0"
diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb
deleted file mode 100644
index 28e7a312d28..00000000000
--- a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Native icon utils for GTK+"
-DESCRIPTION = "gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively, for build time and on-host postinst script execution."
-SECTION = "libs"
-
-DEPENDS = "glib-2.0-native gdk-pixbuf-native librsvg-native"
-
-LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
- file://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch"
-SRC_URI[md5sum] = "61e60dc073e0a6893c72043d20579dc0"
-SRC_URI[sha256sum] = "a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
- file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
- file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
-
-S = "${WORKDIR}/gtk+-${PV}"
-
-inherit pkgconfig native
-
-# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
-UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
-
-PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
-
-do_configure() {
- # Quite ugly but defines enough to compile the tools.
- if ! test -f gtk/config.h; then
- echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h
- echo "#define HAVE_UNISTD_H 1" >> gtk/config.h
- echo "#define HAVE_FTW_H 1" >> gtk/config.h
- fi
- if ! test -f gdk/config.h; then
- touch gdk/config.h
- fi
-}
-
-do_compile() {
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- ${S}/gtk/updateiconcache.c \
- $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \
- -o gtk-update-icon-cache
-
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- ${S}/gtk/encodesymbolic.c \
- $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gio-2.0 gdk-pixbuf-2.0) \
- -o gtk-encode-symbolic-svg
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir}
- install -m 0755 ${B}/gtk-encode-symbolic-svg ${D}${bindir}
-
- create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
- create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
-}
diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
deleted file mode 100644
index 237f803755f..00000000000
--- a/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 4d09ff324419fe4e671233044e424378da53969b Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 9 Jun 2015 14:20:30 +0300
-Subject: [PATCH] Remove Gdk-dependency from gtk-encode-symbolic-svg
-
-Building gtk-encode-symbolic-svg without building Gdk is useful
-as only the icon tools are needed on the native build: this makes
-native build much faster and requires much less dependencies.
-
-Upstream-Status: Pending
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- gtk/encodesymbolic.c | 36 ++++++++++--------------------------
- 1 file changed, 10 insertions(+), 26 deletions(-)
-
-diff --git a/gtk/encodesymbolic.c b/gtk/encodesymbolic.c
-index 9f7d015..1f07563 100644
---- a/gtk/encodesymbolic.c
-+++ b/gtk/encodesymbolic.c
-@@ -19,7 +19,6 @@
-
- #include <glib.h>
- #include <gdk-pixbuf/gdk-pixdata.h>
--#include <gdk/gdk.h>
- #include <glib/gi18n.h>
-
- #ifdef HAVE_UNISTD_H
-@@ -43,30 +42,18 @@ static GdkPixbuf *
- load_symbolic_svg (char *file_data, gsize file_len,
- int width,
- int height,
-- const GdkRGBA *fg,
-- const GdkRGBA *success_color,
-- const GdkRGBA *warning_color,
-- const GdkRGBA *error_color,
-+ const char *css_fg,
-+ const char *css_success,
-+ const char *css_warning,
-+ const char *css_error,
- GError **error)
- {
- GInputStream *stream;
- GdkPixbuf *pixbuf;
-- gchar *css_fg;
-- gchar *css_success;
-- gchar *css_warning;
-- gchar *css_error;
- gchar *data;
- gchar *svg_width, *svg_height;
- gchar *escaped_file_data;
-
-- css_fg = gdk_rgba_to_string (fg);
--
-- css_success = css_warning = css_error = NULL;
--
-- css_warning = gdk_rgba_to_string (warning_color);
-- css_error = gdk_rgba_to_string (error_color);
-- css_success = gdk_rgba_to_string (success_color);
--
- /* Fetch size from the original icon */
- stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL);
- pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error);
-@@ -105,10 +92,6 @@ load_symbolic_svg (char *file_data, gsize file_len,
- "</svg>",
- NULL);
- g_free (escaped_file_data);
-- g_free (css_fg);
-- g_free (css_warning);
-- g_free (css_error);
-- g_free (css_success);
- g_free (svg_width);
- g_free (svg_height);
-
-@@ -167,7 +150,8 @@ make_symbolic_pixbuf (char *file,
- GError **error)
-
- {
-- GdkRGBA r = { 1,0,0,1}, g = {0,1,0,1};
-+ const char r[] = "rgba(255,0,0,1)";
-+ const char g[] = "rgba(0,255,0,1)";
- GdkPixbuf *loaded;
- GdkPixbuf *pixbuf;
- int plane;
-@@ -196,10 +180,10 @@ make_symbolic_pixbuf (char *file,
- * the "rest", as all color fractions should add up to 1.
- */
- loaded = load_symbolic_svg (file_data, file_len, width, height,
-- &g,
-- plane == 0 ? &r : &g,
-- plane == 1 ? &r : &g,
-- plane == 2 ? &r : &g,
-+ g,
-+ plane == 0 ? r : g,
-+ plane == 1 ? r : g,
-+ plane == 2 ? r : g,
- error);
- if (loaded == NULL)
- return NULL;
---
-2.1.4
-
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 03/23] shared-mime-info: update the database also in native builds
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
2019-01-14 15:02 ` [PATCH 01/23] gtk+3: enable native/nativesdk variant Alexander Kanavin
2019-01-14 15:02 ` [PATCH 02/23] gtk+3: remove the gtk-icon-utils-native recipe Alexander Kanavin
@ 2019-01-14 15:02 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 04/23] gtk+: drop support for choosing between 2.x and 3.x implementations of gtk-update-icon-cache Alexander Kanavin
` (20 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:02 UTC (permalink / raw)
To: openembedded-core
Otherwise glib-compile-resources fails when building gtk+3-native.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-support/shared-mime-info/shared-mime-info.inc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info.inc b/meta/recipes-support/shared-mime-info/shared-mime-info.inc
index 344da7ea77c..3fe1a445b0c 100644
--- a/meta/recipes-support/shared-mime-info/shared-mime-info.inc
+++ b/meta/recipes-support/shared-mime-info/shared-mime-info.inc
@@ -30,6 +30,8 @@ do_install () {
do_install_class-native () {
autotools_do_install
+
+ ${B}/update-mime-database ${D}${datadir}/mime
}
BBCLASSEXTEND = "native nativesdk"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 04/23] gtk+: drop support for choosing between 2.x and 3.x implementations of gtk-update-icon-cache
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (2 preceding siblings ...)
2019-01-14 15:02 ` [PATCH 03/23] shared-mime-info: update the database also in native builds Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 05/23] pixbufcache.bbclass: remove a dependency loop introduced by enabling gtk+3-native Alexander Kanavin
` (19 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-gnome/gtk+/gtk+.inc | 5 +----
meta/recipes-gnome/gtk+/gtk+3.inc | 10 ++--------
2 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
index 14ed8d812ca..eb67db20552 100644
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta/recipes-gnome/gtk+/gtk+.inc
@@ -28,7 +28,7 @@ PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS
PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb"
PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
-inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobject-introspection manpages
+inherit autotools gtk-doc pkgconfig gtk-immodules-cache gobject-introspection manpages
PACKAGES += "libgail gtk-demo"
@@ -70,9 +70,6 @@ GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
-ALTERNATIVE_${PN} = "gtk-update-icon-cache"
-ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0"
-
do_compile_prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
}
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index ecb6abe4b5b..93f19e69944 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -10,7 +10,7 @@ DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \
LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check gobject-introspection
+inherit autotools gettext pkgconfig gtk-doc gtk-immodules-cache gsettings distro_features_check gobject-introspection
BBCLASSEXTEND = "native nativesdk"
@@ -54,8 +54,6 @@ PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,way
PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
do_install_append() {
- mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
-
# duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
mkdir -p ${D}${libexecdir}
ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
@@ -83,7 +81,7 @@ FILES_${PN}-demo = "${bindir}/gtk3-demo \
${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
-FILES_${PN}_append = " ${bindir}/gtk-update-icon-cache-3.0 \
+FILES_${PN}_append = " ${bindir}/gtk-update-icon-cache \
${bindir}/gtk-query-immodules-3.0 \
${bindir}/gtk-launch \
${datadir}/themes ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
@@ -131,10 +129,6 @@ RDEPENDS_${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland
PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
-ALTERNATIVE_${PN} = "gtk-update-icon-cache"
-ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0"
-ALTERNATIVE_PRIORITY = "30"
-
python populate_packages_prepend () {
import os.path
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 05/23] pixbufcache.bbclass: remove a dependency loop introduced by enabling gtk+3-native
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (3 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 04/23] gtk+: drop support for choosing between 2.x and 3.x implementations of gtk-update-icon-cache Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 06/23] meta: add native and nativesdk variants to various recipes to enable gtk+3-native/nativesdk Alexander Kanavin
` (18 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/classes/pixbufcache.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index 3378ff2c806..fb50cd49659 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -3,7 +3,7 @@
# packages.
#
-DEPENDS += "qemu-native"
+DEPENDS_append_class-target = " qemu-native"
inherit qemu
PIXBUF_PACKAGES ??= "${PN}"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 06/23] meta: add native and nativesdk variants to various recipes to enable gtk+3-native/nativesdk
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (4 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 05/23] pixbufcache.bbclass: remove a dependency loop introduced by enabling gtk+3-native Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 07/23] libepoxy: enable native/nativesdk variants Alexander Kanavin
` (17 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb | 2 +-
meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb | 2 ++
.../recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb | 2 ++
meta/recipes-graphics/cairo/cairo_1.14.12.bb | 2 +-
meta/recipes-graphics/harfbuzz/harfbuzz_2.2.0.bb | 2 +-
meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb | 2 +-
meta/recipes-graphics/pango/pango_1.42.4.bb | 2 +-
meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb | 2 ++
meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb | 2 +-
meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb | 2 +-
meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb | 2 ++
meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb | 1 +
meta/recipes-support/atk/at-spi2-atk_2.30.0.bb | 2 ++
meta/recipes-support/atk/at-spi2-core_2.30.0.bb | 1 +
meta/recipes-support/atk/atk_2.30.0.bb | 2 +-
meta/recipes-support/vte/vte_0.52.2.bb | 2 ++
16 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
index 99c84c6dda4..bf202ef8609 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
@@ -99,4 +99,4 @@ do_install_append_class-native() {
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb
index 40dd35ba306..7102a895955 100644
--- a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb
@@ -42,3 +42,5 @@ FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
${prefix}/share/icons/Adwaita/512x512/"
FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
index 7064b1942d4..fb8033448d8 100644
--- a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
+++ b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
@@ -12,3 +12,5 @@ SRC_URI[sha256sum] = "317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d5
inherit allarch autotools
FILES_${PN} += "${datadir}/icons"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/cairo/cairo_1.14.12.bb b/meta/recipes-graphics/cairo/cairo_1.14.12.bb
index 18b947948a3..ad6745f60dc 100644
--- a/meta/recipes-graphics/cairo/cairo_1.14.12.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.14.12.bb
@@ -84,4 +84,4 @@ FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so.*"
FILES_${PN}-dev += "${libdir}/cairo/*.so"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_2.2.0.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_2.2.0.bb
index 3b1e6a8181a..b62082f53d8 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_2.2.0.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_2.2.0.bb
@@ -37,4 +37,4 @@ FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
${libdir}/pkgconfig/harfbuzz-icu.pc \
"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb
index 72706be674f..d9d877dc0df 100644
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb
@@ -53,4 +53,4 @@ FILES_jpeg-tools = "${bindir}/*"
DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/pango/pango_1.42.4.bb b/meta/recipes-graphics/pango/pango_1.42.4.bb
index 22fe3af15d7..a09f7a8e701 100644
--- a/meta/recipes-graphics/pango/pango_1.42.4.bb
+++ b/meta/recipes-graphics/pango/pango_1.42.4.bb
@@ -42,4 +42,4 @@ RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts"
RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \
pango-module-basic-fc pango-module-arabic-lang"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
index 412da48725e..f5df9efa3b7 100644
--- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
+++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
@@ -37,3 +37,5 @@ do_install () {
PACKAGES = "${PN}"
FILES_${PN} += "${sysconfdir} ${datadir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb
index 73e29484047..5e26fca7cd5 100644
--- a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb
@@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1"
DEPENDS += " xorgproto virtual/libx11 libxfixes libxext"
PROVIDES = "xcomposite"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb
index 6d6ffadf209..530da0569c5 100644
--- a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9fe101f30dd24134cf43146863241868"
DEPENDS += "virtual/libx11 xorgproto libxfixes"
PROVIDES = "xdamage"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb b/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
index 08381d9c4d5..ab49cdba3fb 100644
--- a/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
+++ b/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
@@ -20,3 +20,5 @@ XORG_PN = "libXi"
SRC_URI[md5sum] = "1f0f2719c020655a60aee334ddd26d67"
SRC_URI[sha256sum] = "c2e6b8ff84f9448386c1b5510a5cf5a16d788f76db018194dacdc200180faf45"
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
index 266bd1ca59c..7837f69d38b 100644
--- a/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
@@ -19,3 +19,4 @@ XORG_PN = "libXtst"
SRC_URI[md5sum] = "ef8c2c1d16a00bd95b9fdcef63b8a2ca"
SRC_URI[sha256sum] = "4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb b/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb
index eb4be6b6d86..2244797071f 100644
--- a/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb
+++ b/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb
@@ -18,3 +18,5 @@ PACKAGES =+ "${PN}-gnome ${PN}-gtk2"
FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
index d7ea9be87fe..fe8f9955822 100644
--- a/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
+++ b/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
@@ -37,3 +37,4 @@ FILES_${PN} += "${datadir}/dbus-1/services/*.service \
${datadir}/defaults/at-spi2 \
${systemd_user_unitdir}/at-spi-dbus-bus.service \
"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/atk/atk_2.30.0.bb b/meta/recipes-support/atk/atk_2.30.0.bb
index c950862b6f0..481f8e89a13 100644
--- a/meta/recipes-support/atk/atk_2.30.0.bb
+++ b/meta/recipes-support/atk/atk_2.30.0.bb
@@ -33,5 +33,5 @@ SRC_URI_append = " \
SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454"
SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/vte/vte_0.52.2.bb b/meta/recipes-support/vte/vte_0.52.2.bb
index 7324c9c63d5..62fb5288fa9 100644
--- a/meta/recipes-support/vte/vte_0.52.2.bb
+++ b/meta/recipes-support/vte/vte_0.52.2.bb
@@ -44,3 +44,5 @@ EXTRA_OEMAKE_class-target = "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool
PACKAGES =+ "libvte"
FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
+
+BBCLASSEXTEND = "native nativesdk"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 07/23] libepoxy: enable native/nativesdk variants
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (5 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 06/23] meta: add native and nativesdk variants to various recipes to enable gtk+3-native/nativesdk Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:50 ` Peter Kjellerstedt
2019-01-14 15:03 ` [PATCH 08/23] mesa: enable native and nativesdk variants Alexander Kanavin
` (16 subsequent siblings)
23 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
libepoxy is a requirement of virglrenderer. Note that we strip
RPATH from the library, as this allows fall-through to the host
GL implementation, instead of attempting (and failing) to use
mesa-native.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
index 92f644c039d..45995325d2c 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
@@ -14,9 +14,21 @@ UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
inherit meson pkgconfig distro_features_check
REQUIRED_DISTRO_FEATURES = "opengl"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
EXTRA_OEMESON += "-Dtests=false"
+
+PACKAGECONFIG_class-native = "egl"
+PACKAGECONFIG_class-nativesdk = "egl"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# This will ensure that dlopen will attempt only GL libraries provided by host
+do_install_append () {
+ chrpath --delete ${D}${libdir}/*.so
+}
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* Re: [PATCH 07/23] libepoxy: enable native/nativesdk variants
2019-01-14 15:03 ` [PATCH 07/23] libepoxy: enable native/nativesdk variants Alexander Kanavin
@ 2019-01-14 15:50 ` Peter Kjellerstedt
2019-01-15 13:25 ` Alexander Kanavin
0 siblings, 1 reply; 38+ messages in thread
From: Peter Kjellerstedt @ 2019-01-14 15:50 UTC (permalink / raw)
To: Alexander Kanavin, openembedded-core
> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org <openembedded-
> core-bounces@lists.openembedded.org> On Behalf Of Alexander Kanavin
> Sent: den 14 januari 2019 16:03
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH 07/23] libepoxy: enable native/nativesdk
> variants
>
> libepoxy is a requirement of virglrenderer. Note that we strip
> RPATH from the library, as this allows fall-through to the host
> GL implementation, instead of attempting (and failing) to use
> mesa-native.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
> b/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
> index 92f644c039d..45995325d2c 100644
> --- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
> +++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
> @@ -14,9 +14,21 @@ UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
> inherit meson pkgconfig distro_features_check
>
> REQUIRED_DISTRO_FEATURES = "opengl"
> +REQUIRED_DISTRO_FEATURES_class-native = ""
> +REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
>
> PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
> PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
> PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
>
> EXTRA_OEMESON += "-Dtests=false"
> +
> +PACKAGECONFIG_class-native = "egl"
> +PACKAGECONFIG_class-nativesdk = "egl"
> +
> +BBCLASSEXTEND = "native nativesdk"
> +
> +# This will ensure that dlopen will attempt only GL libraries provided by host
> +do_install_append () {
> + chrpath --delete ${D}${libdir}/*.so
> +}
Shouldn't this only be done for native/nativesdk? I.e.:
do_install_append_class-native() {
chrpath --delete ${D}${libdir}/*.so
}
do_install_append_class-nativesdk() {
chrpath --delete ${D}${libdir}/*.so
}
(I also changed the indentation to tabs as I believe that is still
the official OE-Core standard for shell code in recipes.)
> --
> 2.17.1
//Peter
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: [PATCH 07/23] libepoxy: enable native/nativesdk variants
2019-01-14 15:50 ` Peter Kjellerstedt
@ 2019-01-15 13:25 ` Alexander Kanavin
0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-15 13:25 UTC (permalink / raw)
To: Peter Kjellerstedt; +Cc: openembedded-core
On Mon, 14 Jan 2019 at 16:50, Peter Kjellerstedt
<peter.kjellerstedt@axis.com> wrote:
> Shouldn't this only be done for native/nativesdk? I.e.:
>
> do_install_append_class-native() {
> chrpath --delete ${D}${libdir}/*.so
> }
>
> do_install_append_class-nativesdk() {
> chrpath --delete ${D}${libdir}/*.so
> }
>
> (I also changed the indentation to tabs as I believe that is still
> the official OE-Core standard for shell code in recipes.)
Thanks, I have fixed this now. I'll resend the patchset.
Alex
^ permalink raw reply [flat|nested] 38+ messages in thread
* [PATCH 08/23] mesa: enable native and nativesdk variants
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (6 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 07/23] libepoxy: enable native/nativesdk variants Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 16:05 ` Burton, Ross
2019-01-14 15:03 ` [PATCH 09/23] virglrenderer: add a recipe Alexander Kanavin
` (15 subsequent siblings)
23 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Note that only the most minimal necessary subset of mesa is built;
particularly we don't build any drivers as that is offloaded
to the GL implementation provided by the host.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-graphics/mesa/mesa.inc | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 0cc0a82de49..37ca5e39c2d 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -26,7 +26,9 @@ PROVIDES = " \
inherit autotools pkgconfig python3native gettext distro_features_check
-ANY_OF_DISTRO_FEATURES = "opengl vulkan"
+BBCLASSEXTEND = "native nativesdk"
+
+ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan"
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)} \
@@ -42,11 +44,13 @@ EXTRA_OECONF = "--enable-shared-glapi \
--with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \
--with-platforms='${PLATFORMS}'"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri', '', d)} \
+PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
"
+PACKAGECONFIG_class-native ?= "gbm dri-native egl"
+PACKAGECONFIG_class-nativesdk ?= "gbm dri-native egl"
# "gbm" requires "dri", "opengl"
PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm"
@@ -62,6 +66,8 @@ DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
# "dri" requires "opengl"
PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, xorgproto libdrm"
+# On the native builds we use host's dri drivers
+PACKAGECONFIG[dri-native] = "--enable-dri, , xorgproto libdrm"
PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, xorgproto libxshmfence"
# Vulkan drivers need dri3 enabled
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 09/23] virglrenderer: add a recipe
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (7 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 08/23] mesa: enable native and nativesdk variants Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 10/23] qemu: enable virglrenderer and glx options for native/nativesdk builds Alexander Kanavin
` (14 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
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@gmail.com>
---
.../virglrenderer/virglrenderer_git.bb | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
new file mode 100644
index 00000000000..60ab256aae7
--- /dev/null
+++ b/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "VirGL virtual OpenGL renderer"
+HOMEPAGE = "https://virgil3d.github.io/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
+
+DEPENDS = "libdrm mesa libepoxy"
+PV = "0.7.0"
+SRCREV = "402c228861c9893f64cffbbcb4cb23044b8c721c"
+SRC_URI = "git://anongit.freedesktop.org/virglrenderer"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
+
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 10/23] qemu: enable virglrenderer and glx options for native/nativesdk builds
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (8 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 09/23] virglrenderer: add a recipe Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 11/23] qemu: drop --with-gtkabi option, as it is no longer supported Alexander Kanavin
` (13 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index b05c1cee9eb..f943b9ee5a2 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -74,8 +74,8 @@ PACKAGECONFIG ??= " \
fdt sdl kvm \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
"
-PACKAGECONFIG_class-native ??= "fdt alsa kvm"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
+PACKAGECONFIG_class-native ??= "fdt alsa kvm virglrenderer glx"
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm virglrenderer glx"
# Handle distros such as CentOS 5 32-bit that do not have kvm support
PACKAGECONFIG_class-native_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 11/23] qemu: drop --with-gtkabi option, as it is no longer supported
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (9 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 10/23] qemu: enable virglrenderer and glx options for native/nativesdk builds Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 12/23] mesa-gl: do not enable nativesdk variant to avoid clashes with main mesa recipe Alexander Kanavin
` (12 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Recent qemu versions support gtk+3 only.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index f943b9ee5a2..6db1facc9a5 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -95,7 +95,7 @@ PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng
PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl,"
PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
-PACKAGECONFIG[gtk+] = "--enable-gtk --with-gtkabi=3.0 --enable-vte,--disable-gtk --disable-vte,gtk+3 vte"
+PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+3 vte"
PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2,"
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 12/23] mesa-gl: do not enable nativesdk variant to avoid clashes with main mesa recipe
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (10 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 11/23] qemu: drop --with-gtkabi option, as it is no longer supported Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 16:09 ` Burton, Ross
2019-01-14 15:03 ` [PATCH 13/23] local.conf.sample: adjust the qemu config to enable gtk+ instead of sdl Alexander Kanavin
` (11 subsequent siblings)
23 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb b/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
index 73267eb4f0d..030db6c1440 100644
--- a/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
+++ b/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
@@ -7,3 +7,5 @@ PROVIDES = "virtual/libgl virtual/mesa"
S = "${WORKDIR}/mesa-${PV}"
PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+BBCLASSEXTEND_remove = "nativesdk"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* Re: [PATCH 12/23] mesa-gl: do not enable nativesdk variant to avoid clashes with main mesa recipe
2019-01-14 15:03 ` [PATCH 12/23] mesa-gl: do not enable nativesdk variant to avoid clashes with main mesa recipe Alexander Kanavin
@ 2019-01-14 16:09 ` Burton, Ross
2019-01-15 13:35 ` Alexander Kanavin
0 siblings, 1 reply; 38+ messages in thread
From: Burton, Ross @ 2019-01-14 16:09 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 1015 bytes --]
Wouldn't a preferred provider would sort this?
Ross
On Mon, 14 Jan 2019 at 15:06, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
> b/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
> index 73267eb4f0d..030db6c1440 100644
> --- a/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
> +++ b/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
> @@ -7,3 +7,5 @@ PROVIDES = "virtual/libgl virtual/mesa"
> S = "${WORKDIR}/mesa-${PV}"
>
> PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES',
> 'x11', d)}"
> +
> +BBCLASSEXTEND_remove = "nativesdk"
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 2059 bytes --]
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: [PATCH 12/23] mesa-gl: do not enable nativesdk variant to avoid clashes with main mesa recipe
2019-01-14 16:09 ` Burton, Ross
@ 2019-01-15 13:35 ` Alexander Kanavin
0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-15 13:35 UTC (permalink / raw)
To: Burton, Ross; +Cc: OE-core
Not really. For native/nativesdk builds mesa-gl is not a viable
alternative to mesa, as it lacks all of the bits that make accelerated
qemu possible. Using PREFERRED_PROVIDER would imply otherwise. I added
this to the commit message.
Alex
On Mon, 14 Jan 2019 at 17:10, Burton, Ross <ross.burton@intel.com> wrote:
>
> Wouldn't a preferred provider would sort this?
>
> Ross
>
> On Mon, 14 Jan 2019 at 15:06, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>
>> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> ---
>> meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb b/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
>> index 73267eb4f0d..030db6c1440 100644
>> --- a/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
>> +++ b/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
>> @@ -7,3 +7,5 @@ PROVIDES = "virtual/libgl virtual/mesa"
>> S = "${WORKDIR}/mesa-${PV}"
>>
>> PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
>> +
>> +BBCLASSEXTEND_remove = "nativesdk"
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 38+ messages in thread
* [PATCH 13/23] local.conf.sample: adjust the qemu config to enable gtk+ instead of sdl
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (11 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 12/23] mesa-gl: do not enable nativesdk variant to avoid clashes with main mesa recipe Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 14/23] qemu: build target variant with gtk+, and nativesdk variant without sdl Alexander Kanavin
` (10 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta-poky/conf/local.conf.sample | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/meta-poky/conf/local.conf.sample b/meta-poky/conf/local.conf.sample
index cf96598819c..079b7b9945d 100644
--- a/meta-poky/conf/local.conf.sample
+++ b/meta-poky/conf/local.conf.sample
@@ -236,12 +236,10 @@ BB_DISKMON_DIRS ??= "\
# Qemu configuration
#
# By default qemu will build with a builtin VNC server where graphical output can be
-# seen. The two lines below enable the SDL backend too. By default libsdl2-native will
-# be built, if you want to use your host's libSDL instead of the minimal libsdl built
-# by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
-PACKAGECONFIG_append_pn-qemu-native = " sdl"
-PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-#ASSUME_PROVIDED += "libsdl2-native"
+# seen. The two lines below enable the Gtk backend with virgl-assisted GL acceleration
+# support in the guest environment.
+PACKAGECONFIG_append_pn-qemu-native = " gtk+"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " gtk+"
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 14/23] qemu: build target variant with gtk+, and nativesdk variant without sdl
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (12 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 13/23] local.conf.sample: adjust the qemu config to enable gtk+ instead of sdl Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 15/23] qemu: remove support for building against host sdl Alexander Kanavin
` (9 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
As sdl is deprecated in favor of gtk+, it should not be the default.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 6db1facc9a5..531f0a04c58 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -71,11 +71,11 @@ do_install_append() {
# END of qemu-mips workaround
PACKAGECONFIG ??= " \
- fdt sdl kvm \
+ fdt gtk+ kvm \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
"
PACKAGECONFIG_class-native ??= "fdt alsa kvm virglrenderer glx"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm virglrenderer glx"
+PACKAGECONFIG_class-nativesdk ??= "fdt kvm virglrenderer glx"
# Handle distros such as CentOS 5 32-bit that do not have kvm support
PACKAGECONFIG_class-native_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 15/23] qemu: remove support for building against host sdl
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (13 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 14/23] qemu: build target variant with gtk+, and nativesdk variant without sdl Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 16/23] atk: disable gobject-introspection for nativesdk Alexander Kanavin
` (8 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
This hasn't been the default for a long time (as some distros don't
support it), and with gtk+ being the new default shouldn't
be needed at all.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 8 --------
1 file changed, 8 deletions(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 531f0a04c58..db9c2245df9 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -39,14 +39,6 @@ export LIBTOOL="${HOST_SYS}-libtool"
B = "${WORKDIR}/build"
-do_configure_prepend_class-native() {
- # Append build host pkg-config paths for native target since the host may provide sdl
- BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
- if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
- fi
-}
-
do_configure() {
${S}/configure ${EXTRA_OECONF}
}
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 16/23] atk: disable gobject-introspection for nativesdk
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (14 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 15/23] qemu: remove support for building against host sdl Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 16:05 ` Burton, Ross
2019-01-14 15:03 ` [PATCH 17/23] qemu: add a gettext-native dependency Alexander Kanavin
` (7 subsequent siblings)
23 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-support/atk/atk_2.30.0.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-support/atk/atk_2.30.0.bb b/meta/recipes-support/atk/atk_2.30.0.bb
index 481f8e89a13..4e2dacbc4d8 100644
--- a/meta/recipes-support/atk/atk_2.30.0.bb
+++ b/meta/recipes-support/atk/atk_2.30.0.bb
@@ -20,6 +20,8 @@ GTKDOC_DISABLE_FLAG = "-Ddocs=false"
GI_ENABLE_FLAG = "-Dintrospection=true"
GI_DISABLE_FLAG = "-Dintrospection=false"
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
'${GI_DISABLE_FLAG}', d)} "
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* Re: [PATCH 16/23] atk: disable gobject-introspection for nativesdk
2019-01-14 15:03 ` [PATCH 16/23] atk: disable gobject-introspection for nativesdk Alexander Kanavin
@ 2019-01-14 16:05 ` Burton, Ross
2019-01-15 13:33 ` Alexander Kanavin
0 siblings, 1 reply; 38+ messages in thread
From: Burton, Ross @ 2019-01-14 16:05 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 1119 bytes --]
Rationale please.
Ross
On Mon, 14 Jan 2019 at 15:06, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> meta/recipes-support/atk/atk_2.30.0.bb | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-support/atk/atk_2.30.0.bb
> b/meta/recipes-support/atk/atk_2.30.0.bb
> index 481f8e89a13..4e2dacbc4d8 100644
> --- a/meta/recipes-support/atk/atk_2.30.0.bb
> +++ b/meta/recipes-support/atk/atk_2.30.0.bb
> @@ -20,6 +20,8 @@ GTKDOC_DISABLE_FLAG = "-Ddocs=false"
> GI_ENABLE_FLAG = "-Dintrospection=true"
> GI_DISABLE_FLAG = "-Dintrospection=false"
>
> +EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
> +
> EXTRA_OEMESON_append_class-target = "
> ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
>
> '${GI_DISABLE_FLAG}', d)} "
>
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 2288 bytes --]
^ permalink raw reply [flat|nested] 38+ messages in thread
* [PATCH 17/23] qemu: add a gettext-native dependency
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (15 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 16/23] atk: disable gobject-introspection for nativesdk Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-15 14:20 ` Richard Purdie
2019-01-14 15:03 ` [PATCH 18/23] libjpeg-turbo: fix nativesdk build in same way as native builds are Alexander Kanavin
` (6 subsequent siblings)
23 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
xgettext/msgmerge is used during do_install().
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index db9c2245df9..6937bbc87b4 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -1,7 +1,7 @@
SUMMARY = "Fast open source processor emulator"
HOMEPAGE = "http://qemu.org"
LICENSE = "GPLv2 & LGPLv2.1"
-DEPENDS = "glib-2.0 zlib pixman"
+DEPENDS = "glib-2.0 zlib pixman gettext-native"
RDEPENDS_${PN}_class-target += "bash"
require qemu-targets.inc
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* Re: [PATCH 17/23] qemu: add a gettext-native dependency
2019-01-14 15:03 ` [PATCH 17/23] qemu: add a gettext-native dependency Alexander Kanavin
@ 2019-01-15 14:20 ` Richard Purdie
2019-01-15 15:06 ` Alexander Kanavin
0 siblings, 1 reply; 38+ messages in thread
From: Richard Purdie @ 2019-01-15 14:20 UTC (permalink / raw)
To: Alexander Kanavin, openembedded-core
On Mon, 2019-01-14 at 16:03 +0100, Alexander Kanavin wrote:
> xgettext/msgmerge is used during do_install().
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> meta/recipes-devtools/qemu/qemu.inc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-
> devtools/qemu/qemu.inc
> index db9c2245df9..6937bbc87b4 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -1,7 +1,7 @@
> SUMMARY = "Fast open source processor emulator"
> HOMEPAGE = "http://qemu.org"
> LICENSE = "GPLv2 & LGPLv2.1"
> -DEPENDS = "glib-2.0 zlib pixman"
> +DEPENDS = "glib-2.0 zlib pixman gettext-native"
> RDEPENDS_${PN}_class-target += "bash"
gettext is a heavy enough dependency I'm tempted to suggest we do:
do_install[depends] += "gettext-native:do_populate_sysroot"
given how slow qemu is to compile...
Cheers,
Richard
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: [PATCH 17/23] qemu: add a gettext-native dependency
2019-01-15 14:20 ` Richard Purdie
@ 2019-01-15 15:06 ` Alexander Kanavin
2019-01-15 16:13 ` Alexander Kanavin
0 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-15 15:06 UTC (permalink / raw)
To: Richard Purdie; +Cc: OE-core
On Tue, 15 Jan 2019 at 15:21, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> > xgettext/msgmerge is used during do_install().
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> > meta/recipes-devtools/qemu/qemu.inc | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-
> > devtools/qemu/qemu.inc
> > index db9c2245df9..6937bbc87b4 100644
> > --- a/meta/recipes-devtools/qemu/qemu.inc
> > +++ b/meta/recipes-devtools/qemu/qemu.inc
> > @@ -1,7 +1,7 @@
> > SUMMARY = "Fast open source processor emulator"
> > HOMEPAGE = "http://qemu.org"
> > LICENSE = "GPLv2 & LGPLv2.1"
> > -DEPENDS = "glib-2.0 zlib pixman"
> > +DEPENDS = "glib-2.0 zlib pixman gettext-native"
> > RDEPENDS_${PN}_class-target += "bash"
>
> gettext is a heavy enough dependency I'm tempted to suggest we do:
>
> do_install[depends] += "gettext-native:do_populate_sysroot"
>
> given how slow qemu is to compile...
I'm going to look a bit deeper to find out why this isn't a problem in
master, but is a problem in my patchset. This was just a quick fix to
get things to build, as I was eager to get to the point where opengl
works :)
Alex
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: [PATCH 17/23] qemu: add a gettext-native dependency
2019-01-15 15:06 ` Alexander Kanavin
@ 2019-01-15 16:13 ` Alexander Kanavin
0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-15 16:13 UTC (permalink / raw)
To: Richard Purdie; +Cc: OE-core
On Tue, 15 Jan 2019 at 16:06, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > gettext is a heavy enough dependency I'm tempted to suggest we do:
> >
> > do_install[depends] += "gettext-native:do_populate_sysroot"
> >
> > given how slow qemu is to compile...
>
> I'm going to look a bit deeper to find out why this isn't a problem in
> master, but is a problem in my patchset. This was just a quick fix to
> get things to build, as I was eager to get to the point where opengl
> works :)
qemu already unconditionally depends on glib-2.0 which has a hard
dependency on gettext-native, so this wouldn't slow down the builds.
However, qemu itself depends on gettext utilities only when gtk+ is enabled:
https://github.com/qemu/qemu/blob/master/Makefile#L743
so I'll move the dependency into gtk+ PACKAGECONFIG.
Alex
Alex
^ permalink raw reply [flat|nested] 38+ messages in thread
* [PATCH 18/23] libjpeg-turbo: fix nativesdk build in same way as native builds are
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (16 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 17/23] qemu: add a gettext-native dependency Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 19/23] qemu: add a patch to avoid a missing include error Alexander Kanavin
` (5 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb
index d9d877dc0df..029847ff5f4 100644
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.1.bb
@@ -31,6 +31,7 @@ inherit cmake pkgconfig
# Add nasm-native dependency consistently for all build arches is hard
EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
+EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False"
# Work around missing x32 ABI support
EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 19/23] qemu: add a patch to avoid a missing include error
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (17 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 18/23] libjpeg-turbo: fix nativesdk build in same way as native builds are Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 20/23] runqemu: add support for virgl GL acceleration Alexander Kanavin
` (4 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
| In file included from /home/alexander/development/poky/build-virgl-gtk-64/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-qemu/3.1.0-r0/qemu-3.1.0/include/ui/egl-context.h:5,
| from /home/alexander/development/poky/build-virgl-gtk-64/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-qemu/3.1.0-r0/qemu-3.1.0/ui/egl-context.c:3:
| /home/alexander/development/poky/build-virgl-gtk-64/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-qemu/3.1.0-r0/qemu-3.1.0/include/ui/egl-helpers.h:46:55: error: unknown type name 'Window'; did you mean 'minor'?
| EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win);
| ^~~~~~
| minor
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
.../qemu/0001-Add-a-missing-X11-include.patch | 23 +++++++++++++++++++
meta/recipes-devtools/qemu/qemu_3.1.0.bb | 1 +
2 files changed, 24 insertions(+)
create mode 100644 meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
diff --git a/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch b/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
new file mode 100644
index 00000000000..23d3d5cfba3
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
@@ -0,0 +1,23 @@
+From 97aa8f9124b4673d15a7823ef9300ec05def760f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 20 Dec 2018 18:06:29 +0100
+Subject: [PATCH] Add a missing X11 include
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ include/ui/egl-helpers.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h
+index 9db7293b..2c32d77e 100644
+--- a/include/ui/egl-helpers.h
++++ b/include/ui/egl-helpers.h
+@@ -4,6 +4,7 @@
+ #include <epoxy/gl.h>
+ #include <epoxy/egl.h>
+ #include <gbm.h>
++#include <X11/Xlib.h>
+
+ extern EGLDisplay *qemu_egl_display;
+ extern EGLConfig qemu_egl_config;
diff --git a/meta/recipes-devtools/qemu/qemu_3.1.0.bb b/meta/recipes-devtools/qemu/qemu_3.1.0.bb
index 67cebcc8308..cd7cd67a3f0 100644
--- a/meta/recipes-devtools/qemu/qemu_3.1.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_3.1.0.bb
@@ -21,6 +21,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0009-apic-fixup-fallthrough-to-PIC.patch \
file://0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
file://0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
+ file://0001-Add-a-missing-X11-include.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 20/23] runqemu: add support for virgl GL acceleration
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (18 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 19/23] qemu: add a patch to avoid a missing include error Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-15 6:15 ` Martin Jansa
2019-01-14 15:03 ` [PATCH 21/23] runqemu: do not check for GL libraries Alexander Kanavin
` (3 subsequent siblings)
23 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Also, do not hardcode -vga option to qemu, set it according to command line parameters.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/conf/machine/include/qemuboot-x86.inc | 2 +-
scripts/runqemu | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
index 5fdbe4df50e..574b7bbfc7d 100644
--- a/meta/conf/machine/include/qemuboot-x86.inc
+++ b/meta/conf/machine/include/qemuboot-x86.inc
@@ -11,7 +11,7 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
-QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
diff --git a/scripts/runqemu b/scripts/runqemu
index c4a0ca811d9..fa88dc4583c 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -74,6 +74,8 @@ of the following environment variables (in any order):
MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
Simplified QEMU command-line options can be passed with:
nographic - disable video console
+ gl - enable virgl-based GL acceleration
+ gl-es - enable virgl-based GL acceleration, using OpenGL ES
serial - enable a serial console on /dev/ttyS0
serialstdio - enable a serial console on the console (regardless of graphics mode)
slirp - enable user networking, no root privileges is required
@@ -427,12 +429,21 @@ class BaseConfig(object):
sys.argv.remove(quiet)
unknown_arg = ""
+ if 'gl' not in sys.argv[1:] and 'gl-es' not in sys.argv[1:]:
+ self.qemu_opt_script += ' -vga vmware'
for arg in sys.argv[1:]:
if arg in self.fstypes + self.vmtypes:
self.check_arg_fstype(arg)
elif arg == 'nographic':
self.qemu_opt_script += ' -nographic'
self.kernel_cmdline_script += ' console=ttyS0'
+ elif arg == 'gl':
+ self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
+ elif arg == 'gl-es':
+ self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
+ elif arg == 'nographic':
+ self.qemu_opt_script += ' -nographic'
+ self.kernel_cmdline_script += ' console=ttyS0'
elif arg == 'serial':
self.kernel_cmdline_script += ' console=ttyS0'
self.serialconsole = True
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* Re: [PATCH 20/23] runqemu: add support for virgl GL acceleration
2019-01-14 15:03 ` [PATCH 20/23] runqemu: add support for virgl GL acceleration Alexander Kanavin
@ 2019-01-15 6:15 ` Martin Jansa
2019-01-15 13:37 ` Alexander Kanavin
0 siblings, 1 reply; 38+ messages in thread
From: Martin Jansa @ 2019-01-15 6:15 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 3364 bytes --]
You're duplicating nographic elif
On Mon, Jan 14, 2019 at 4:06 PM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:
> Also, do not hardcode -vga option to qemu, set it according to command
> line parameters.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> meta/conf/machine/include/qemuboot-x86.inc | 2 +-
> scripts/runqemu | 11 +++++++++++
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/meta/conf/machine/include/qemuboot-x86.inc
> b/meta/conf/machine/include/qemuboot-x86.inc
> index 5fdbe4df50e..574b7bbfc7d 100644
> --- a/meta/conf/machine/include/qemuboot-x86.inc
> +++ b/meta/conf/machine/include/qemuboot-x86.inc
> @@ -11,7 +11,7 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
> QB_AUDIO_DRV = "alsa"
> QB_AUDIO_OPT = "-soundhw ac97,es1370"
> QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE}
> oprofile.timer=1 uvesafb.task_timeout=-1"
> -QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet"
> +QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
> # Add the 'virtio-rng-pci' device otherwise the guest may run out of
> entropy
> QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0
> -device virtio-rng-pci,rng=rng0"
>
> diff --git a/scripts/runqemu b/scripts/runqemu
> index c4a0ca811d9..fa88dc4583c 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -74,6 +74,8 @@ of the following environment variables (in any order):
> MACHINE - the machine name (optional, autodetected from KERNEL filename
> if unspecified)
> Simplified QEMU command-line options can be passed with:
> nographic - disable video console
> + gl - enable virgl-based GL acceleration
> + gl-es - enable virgl-based GL acceleration, using OpenGL ES
> serial - enable a serial console on /dev/ttyS0
> serialstdio - enable a serial console on the console (regardless of
> graphics mode)
> slirp - enable user networking, no root privileges is required
> @@ -427,12 +429,21 @@ class BaseConfig(object):
> sys.argv.remove(quiet)
>
> unknown_arg = ""
> + if 'gl' not in sys.argv[1:] and 'gl-es' not in sys.argv[1:]:
> + self.qemu_opt_script += ' -vga vmware'
> for arg in sys.argv[1:]:
> if arg in self.fstypes + self.vmtypes:
> self.check_arg_fstype(arg)
> elif arg == 'nographic':
> self.qemu_opt_script += ' -nographic'
> self.kernel_cmdline_script += ' console=ttyS0'
> + elif arg == 'gl':
> + self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
> + elif arg == 'gl-es':
> + self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
> + elif arg == 'nographic':
> + self.qemu_opt_script += ' -nographic'
> + self.kernel_cmdline_script += ' console=ttyS0'
> elif arg == 'serial':
> self.kernel_cmdline_script += ' console=ttyS0'
> self.serialconsole = True
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 4389 bytes --]
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: [PATCH 20/23] runqemu: add support for virgl GL acceleration
2019-01-15 6:15 ` Martin Jansa
@ 2019-01-15 13:37 ` Alexander Kanavin
0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-15 13:37 UTC (permalink / raw)
To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer
Thanks, I have fixed this now.
Alex
On Tue, 15 Jan 2019 at 07:15, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> You're duplicating nographic elif
>
> On Mon, Jan 14, 2019 at 4:06 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>
>> Also, do not hardcode -vga option to qemu, set it according to command line parameters.
>>
>> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> ---
>> meta/conf/machine/include/qemuboot-x86.inc | 2 +-
>> scripts/runqemu | 11 +++++++++++
>> 2 files changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
>> index 5fdbe4df50e..574b7bbfc7d 100644
>> --- a/meta/conf/machine/include/qemuboot-x86.inc
>> +++ b/meta/conf/machine/include/qemuboot-x86.inc
>> @@ -11,7 +11,7 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
>> QB_AUDIO_DRV = "alsa"
>> QB_AUDIO_OPT = "-soundhw ac97,es1370"
>> QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
>> -QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet"
>> +QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
>> # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
>> QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index c4a0ca811d9..fa88dc4583c 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -74,6 +74,8 @@ of the following environment variables (in any order):
>> MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
>> Simplified QEMU command-line options can be passed with:
>> nographic - disable video console
>> + gl - enable virgl-based GL acceleration
>> + gl-es - enable virgl-based GL acceleration, using OpenGL ES
>> serial - enable a serial console on /dev/ttyS0
>> serialstdio - enable a serial console on the console (regardless of graphics mode)
>> slirp - enable user networking, no root privileges is required
>> @@ -427,12 +429,21 @@ class BaseConfig(object):
>> sys.argv.remove(quiet)
>>
>> unknown_arg = ""
>> + if 'gl' not in sys.argv[1:] and 'gl-es' not in sys.argv[1:]:
>> + self.qemu_opt_script += ' -vga vmware'
>> for arg in sys.argv[1:]:
>> if arg in self.fstypes + self.vmtypes:
>> self.check_arg_fstype(arg)
>> elif arg == 'nographic':
>> self.qemu_opt_script += ' -nographic'
>> self.kernel_cmdline_script += ' console=ttyS0'
>> + elif arg == 'gl':
>> + self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
>> + elif arg == 'gl-es':
>> + self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
>> + elif arg == 'nographic':
>> + self.qemu_opt_script += ' -nographic'
>> + self.kernel_cmdline_script += ' console=ttyS0'
>> elif arg == 'serial':
>> self.kernel_cmdline_script += ' console=ttyS0'
>> self.serialconsole = True
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 38+ messages in thread
* [PATCH 21/23] runqemu: do not check for GL libraries
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (19 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 20/23] runqemu: add support for virgl GL acceleration Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 22/23] qemu: add environment variable wrappers to make qemu look good with gtk frontend Alexander Kanavin
` (2 subsequent siblings)
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
qemu has been using libepoxy for a long time, and libepoxy loads GL via dlopen()
only when instructed to.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
scripts/runqemu | 35 -----------------------------------
1 file changed, 35 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index fa88dc4583c..ac45dc78942 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -117,39 +117,6 @@ def check_tun():
if not os.access(dev_tun, os.W_OK):
raise RunQemuError("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun))
-def check_libgl(qemu_bin):
- cmd = ('ldd', qemu_bin)
- logger.debug('Running %s...' % str(cmd))
- need_gl = subprocess.check_output(cmd).decode('utf-8')
- if re.search('libGLU', need_gl):
- # We can't run without a libGL.so
- libgl = False
- check_files = (('/usr/lib/libGL.so', '/usr/lib/libGLU.so'), \
- ('/usr/lib64/libGL.so', '/usr/lib64/libGLU.so'), \
- ('/usr/lib/*-linux-gnu/libGL.so', '/usr/lib/*-linux-gnu/libGLU.so'))
-
- for (f1, f2) in check_files:
- if re.search('\*', f1):
- for g1 in glob.glob(f1):
- if libgl:
- break
- if os.path.exists(g1):
- for g2 in glob.glob(f2):
- if os.path.exists(g2):
- libgl = True
- break
- if libgl:
- break
- else:
- if os.path.exists(f1) and os.path.exists(f2):
- libgl = True
- break
- if not libgl:
- logger.error("You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator.")
- logger.error("Ubuntu package names are: libgl1-mesa-dev and libglu1-mesa-dev.")
- logger.error("Fedora package names are: mesa-libGL-devel mesa-libGLU-devel.")
- raise RunQemuError('%s requires libGLU, but not found' % qemu_bin)
-
def get_first_file(cmds):
"""Return first file found in wildcard cmds"""
for cmd in cmds:
@@ -1166,8 +1133,6 @@ class BaseConfig(object):
if not os.access(qemu_bin, os.X_OK):
raise OEPathError("No QEMU binary '%s' could be found" % qemu_bin)
- check_libgl(qemu_bin)
-
self.qemu_opt = "%s %s %s %s" % (qemu_bin, self.get('NETWORK_CMD'), self.get('ROOTFS_OPTIONS'), self.get('QB_OPT_APPEND'))
for ovmf in self.ovmf_bios:
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 22/23] qemu: add environment variable wrappers to make qemu look good with gtk frontend
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (20 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 21/23] runqemu: do not check for GL libraries Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:03 ` [PATCH 23/23] selftest: add a test for virgl GL acceleration Alexander Kanavin
2019-01-14 15:11 ` [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
GTK_THEME instructs gtk to use its built-in theme. Otherwise
gtk attempts to use the theme from the host, which may be from
a totally mismatching gtk version.
On the other hand FONTCONFIG_PATH tells it to use the host fonts,
as providing fonts in the native sysroot and instructing the components
to use them is a lot more tricky.
GDK_PIXBUF_MODULE_FILE is set, because otherwise qemu works but
fills stdout with error messages, which eventually fill the pipe
stdout is redirected to by runqemuscript , which causes the qemu process
to lock up.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 6937bbc87b4..23da51b5938 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -48,6 +48,28 @@ do_install () {
oe_runmake 'DESTDIR=${D}' install
}
+do_install_append_class-native() {
+ gdk_pixbuf_module_file=`pkg-config --variable=gdk_pixbuf_cache_file gdk-pixbuf-2.0`
+
+ for tool in `ls ${D}${bindir}/qemu-system-*`; do
+ create_wrapper $tool \
+ GDK_PIXBUF_MODULE_FILE=$gdk_pixbuf_module_file \
+ FONTCONFIG_PATH=/etc/fonts \
+ GTK_THEME=Adwaita
+ done
+}
+
+do_install_append_class-nativesdk() {
+ gdk_pixbuf_module_file=`pkg-config --variable=gdk_pixbuf_cache_file gdk-pixbuf-2.0`
+
+ for tool in `ls ${D}${bindir}/qemu-system-*`; do
+ create_wrapper $tool \
+ GDK_PIXBUF_MODULE_FILE=$gdk_pixbuf_module_file \
+ FONTCONFIG_PATH=/etc/fonts \
+ GTK_THEME=Adwaita
+ done
+}
+
# The following fragment will create a wrapper for qemu-mips user emulation
# binary in order to work around a segmentation fault issue. Basically, by
# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* [PATCH 23/23] selftest: add a test for virgl GL acceleration
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (21 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 22/23] qemu: add environment variable wrappers to make qemu look good with gtk frontend Alexander Kanavin
@ 2019-01-14 15:03 ` Alexander Kanavin
2019-01-14 15:11 ` [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:03 UTC (permalink / raw)
To: openembedded-core
Note that the test requires that the host machine has a X display
and is able to create OpenGL contexts.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta-selftest/lib/oeqa/runtime/cases/virgl.py | 17 +++++++++++++++++
meta/lib/oeqa/selftest/cases/runtime_test.py | 19 +++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 meta-selftest/lib/oeqa/runtime/cases/virgl.py
diff --git a/meta-selftest/lib/oeqa/runtime/cases/virgl.py b/meta-selftest/lib/oeqa/runtime/cases/virgl.py
new file mode 100644
index 00000000000..3894962eaaf
--- /dev/null
+++ b/meta-selftest/lib/oeqa/runtime/cases/virgl.py
@@ -0,0 +1,17 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+import subprocess
+
+class VirglTest(OERuntimeTestCase):
+
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_kernel_driver(self):
+ status, output = self.target.run('dmesg|grep virgl')
+ self.assertEqual(status, 0, "Checking for virgl driver in dmesg returned non-zero: %d\n%s" % (status, output))
+ self.assertIn("virgl 3d acceleration enabled", output, "virgl acceleration seems to be disabled:\n%s" %(output))
+
+ @OETestDepends(['virgl.VirglTest.test_kernel_driver'])
+ def test_kmscube(self):
+ status, output = self.target.run('kmscube')
+ self.assertEqual(status, 0, "kmscube exited with non-zero status %d and output:\n%s" %(status, output))
+ self.assertIn('renderer: "virgl"', output, "kmscube does not seem to use virgl:\n%s" %(output))
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index 906e460d4f8..14837fcdd68 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -168,6 +168,25 @@ class TestImage(OESelftestTestCase):
# remove the oeqa-feed-sign temporal directory
shutil.rmtree(self.gpg_home, ignore_errors=True)
+ @OETestID(1883)
+ def test_testimage_virgl(self):
+ """
+ Summary: Check host-assisted accelerate OpenGL functionality in qemu
+ Expected: 1. Check that virgl kernel driver is loaded and 3d acceleration is enabled
+ 2. Check that kmscube demo runs without crashing.
+ Product: oe-core
+ Author: Alexander Kanavin <alex.kanavin@gmail.com>
+ """
+ features = 'INHERIT += "testimage"\n'
+ features += 'PACKAGECONFIG_append_pn-qemu-native = " gtk+"\n'
+ features += 'TEST_SUITES = "ping ssh virgl"\n'
+ features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
+ features += 'IMAGE_INSTALL_append = " kmscube"\n'
+ features += 'TEST_QEMUPARAMS = "-vga virtio -display gtk,gl=on"\n'
+ self.write_config(features)
+ bitbake('core-image-minimal')
+ bitbake('-c testimage core-image-minimal')
+
class Postinst(OESelftestTestCase):
@OETestID(1540)
@OETestID(1545)
--
2.17.1
^ permalink raw reply related [flat|nested] 38+ messages in thread
* Re: [PATCH 00/23] Enable accelerated OpenGL in qemu
2019-01-14 15:02 [PATCH 00/23] Enable accelerated OpenGL in qemu Alexander Kanavin
` (22 preceding siblings ...)
2019-01-14 15:03 ` [PATCH 23/23] selftest: add a test for virgl GL acceleration Alexander Kanavin
@ 2019-01-14 15:11 ` Alexander Kanavin
23 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2019-01-14 15:11 UTC (permalink / raw)
To: OE-core
Oh, I forgot the rationale:
1. I think we are heading towards a reality where some kind of working
GL is a 'must' for any kind of UI work.
2. Typically people build images and then transfer them to the NUC or
even target boards for testing - using qemu would be less awkward.
3. Current qemu configuration is basically useless here.
Alex
On Mon, 14 Jan 2019 at 16:03, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> 0. TLDR:
>
> $ . oe-init-build-env build-virgl
> $ bitbake core-image-sato-sdk
> $ runqemu kvm gl
> $$ run glxgears or any other GL-capable binary inside qemu
>
> 1. qemu is switched over to use gtk frontend. I simply couldn't get SDL
> frontend to work properly, it only displays a blank black window or doesn't
> start at all. Same thing happens with qemu binaries provided by Fedora and
> opensuse (Ubuntu's qemu lacks virgl support). Seems like SDL support has
> regressed.
>
> 2. While the components are built against the most minimum necessary
> mesa-native set (gbm, egl, dri with no drivers), libepoxy loads and uses the
> host GL implementation (through a chrpath hack). This is both to save build
> times, and because the host is likely to have a set of drivers more
> appropriate for the physical machine (e.g. proprietary nvidia stack,
> although I didn't test that).
>
> 3. I tested this with
> - glamor X server
> - weston compositor with drm backend (build core-image-weston, then edit
> weston.ini in the image to use drm backed instead of fbdev).
> - kmscube
> - glxgears
> - https://www.geeks3d.com/gputest/
>
> The latter two show FPS that is similar to running them directly on the host.
>
> 4. Some things I am not sure about:
>
> - how much of a 'default' should this be for running qemu. It works for me,
> but other people might find it less stable compared to the existing
> sdl-vmware-swrast setup.
>
> - what other tests and demos could be run
>
> - how could this be tested on the autobuilder. I wrote an oe-selftest for
> this, but it does require an X session, and ability to create opengl
> contexts on the host.
>
> The following changes since commit 0c9f6e9bb18b2a52b5a5e828772a9619ee4d8515:
>
> strace: add lost Upstream-Status (2019-01-14 11:49:07 +0000)
>
> are available in the Git repository at:
>
> git://git.yoctoproject.org/poky-contrib akanavin/virgl-gtk
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=akanavin/virgl-gtk
>
> Alexander Kanavin (23):
> gtk+3: enable native/nativesdk variant
> gtk+3: remove the gtk-icon-utils-native recipe
> shared-mime-info: update the database also in native builds
> gtk+: drop support for choosing between 2.x and 3.x implementations of
> gtk-update-icon-cache
> pixbufcache.bbclass: remove a dependency loop introduced by enabling
> gtk+3-native
> meta: add native and nativesdk variants to various recipes to enable
> gtk+3-native/nativesdk
> libepoxy: enable native/nativesdk variants
> mesa: enable native and nativesdk variants
> virglrenderer: add a recipe
> qemu: enable virglrenderer and glx options for native/nativesdk builds
> qemu: drop --with-gtkabi option, as it is no longer supported
> mesa-gl: do not enable nativesdk variant to avoid clashes with main
> mesa recipe
> local.conf.sample: adjust the qemu config to enable gtk+ instead of
> sdl
> qemu: build target variant with gtk+, and nativesdk variant without
> sdl
> qemu: remove support for building against host sdl
> atk: disable gobject-introspection for nativesdk
> qemu: add a gettext-native dependency
> libjpeg-turbo: fix nativesdk build in same way as native builds are
> qemu: add a patch to avoid a missing include error
> runqemu: add support for virgl GL acceleration
> runqemu: do not check for GL libraries
> qemu: add environment variable wrappers to make qemu look good with
> gtk frontend
> selftest: add a test for virgl GL acceleration
>
> meta-poky/conf/local.conf.sample | 10 +-
> meta-selftest/lib/oeqa/runtime/cases/virgl.py | 17 +++
> meta/classes/pixbufcache.bbclass | 2 +-
> meta/conf/machine/include/qemuboot-x86.inc | 2 +-
> meta/lib/oeqa/selftest/cases/runtime_test.py | 19 ++++
> meta/recipes-devtools/qemu/qemu.inc | 40 ++++---
> .../qemu/0001-Add-a-missing-X11-include.patch | 23 ++++
> meta/recipes-devtools/qemu/qemu_3.1.0.bb | 1 +
> .../gdk-pixbuf/gdk-pixbuf_2.36.11.bb | 2 +-
> .../gnome/adwaita-icon-theme_3.28.0.bb | 2 +
> meta/recipes-gnome/gtk+/gtk+.inc | 5 +-
> meta/recipes-gnome/gtk+/gtk+3.inc | 29 +++--
> .../gtk+/gtk-icon-utils-native_3.22.30.bb | 63 -----------
> ...endency-from-gtk-encode-symbolic-svg.patch | 102 ------------------
> .../hicolor-icon-theme_0.17.bb | 2 +
> meta/recipes-graphics/cairo/cairo_1.14.12.bb | 2 +-
> .../harfbuzz/harfbuzz_2.2.0.bb | 2 +-
> .../jpeg/libjpeg-turbo_2.0.1.bb | 3 +-
> .../libepoxy/libepoxy_1.5.3.bb | 12 +++
> meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb | 2 +
> meta/recipes-graphics/mesa/mesa.inc | 12 ++-
> meta/recipes-graphics/pango/pango_1.42.4.bb | 2 +-
> .../ttf-fonts/liberation-fonts_2.00.1.bb | 2 +
> .../virglrenderer/virglrenderer_git.bb | 17 +++
> .../xorg-lib/libxcomposite_0.4.4.bb | 2 +-
> .../xorg-lib/libxdamage_1.1.4.bb | 2 +-
> meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb | 2 +
> .../xorg-lib/libxtst_1.2.3.bb | 1 +
> .../recipes-support/atk/at-spi2-atk_2.30.0.bb | 2 +
> .../atk/at-spi2-core_2.30.0.bb | 1 +
> meta/recipes-support/atk/atk_2.30.0.bb | 4 +-
> .../shared-mime-info/shared-mime-info.inc | 2 +
> meta/recipes-support/vte/vte_0.52.2.bb | 2 +
> scripts/runqemu | 46 ++------
> 34 files changed, 193 insertions(+), 244 deletions(-)
> create mode 100644 meta-selftest/lib/oeqa/runtime/cases/virgl.py
> create mode 100644 meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
> delete mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb
> delete mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
> create mode 100644 meta/recipes-graphics/virglrenderer/virglrenderer_git.bb
>
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 38+ messages in thread