Use libv12n to find virtualization environment instead of asking systemd
+AC_CHECK_LIB(v12n, v12n_get_current_env)
IBUS_REQUIRED_VERSION=1.5.2
@@ -740,6 +744,10 @@ static struct {
+ { "kernel-zone", "Kernel Zone" },
+ { "logical-domain", "Logical Domain" },
+ { "non-global-zone", "Non-Global Zone" },
+ { "virtualbox", "VirtualBox" },
@@ -788,13 +796,31 @@ set_virtualization_label (CcInfoPanel *
info_panel_setup_virt (CcInfoPanel *self)
+ env = v12n_get_current_env ();
+ g_debug (" v12n_get_current_env failed, bailing: %s", strerror(errno));
+ name = v12n_get_env_prop (env, V12N_PROP_NAME);
GDBusProxy *systemd_proxy;
systemd_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
@@ -832,6 +858,7 @@ info_panel_setup_virt (CcInfoPanel *sel
g_variant_unref (variant);
g_object_unref (systemd_proxy);
set_virtualization_label (self, str);