1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
Date: Sun, 22 Aug 2021 15:16:25 +0300
Updated: Thu, 15 Dec 2022 14:23:16 +0300
From: Michael Tokarev <mjt@tls.msk.ru>
Subject: Note missing module package name
Debian ships different modules in different packages.
By default qemu ignores the fact that it can not load
a module, pretending this module never existed.
Give a useful hint about the package where the module
in question resides.
This is a hack, but it makes qemu a bit more user-friendly.
diff --git a/util/module.c b/util/module.c
index 32e263163c..2f3e35f781 100644
--- a/util/module.c
+++ b/util/module.c
@@ -303,6 +303,20 @@ int module_load(const char *prefix, const char *name, Error **errp)
}
rv = 0; /* module not found */
+ { /* notify user about extra package to install */
+ const char *pkg = NULL;
+ if (!strcmp(prefix, "block-"))
+ pkg = "qemu-block-extra";
+ else if (!strcmp(prefix, "ui-")
+ || !strcmp(prefix, "audio-")
+ || !strcmp(module_name, "virtio-gpu-gl"))
+ pkg = "qemu-system-gui";
+ if (pkg)
+ fprintf(stderr,
+ "qemu: module %s%s not found, do you want to install %s package?\n",
+ prefix, module_name, pkg);
+ }
+
out:
if (rv <= 0) {
g_hash_table_remove(loaded_modules, module_name);
|