QEMU est un émulateur portable, permettant d'émuler de nombreuses plateformes (x86, x86_64, PPC, ARM, MIPS...) sur de nombreux systèmes. KQEMU est un module permettant d'exécuter nativement le code x86 sur x86, en se contentant de transformer ou d'intercepter les instructions qui auraient dû être privilégiées, permettant ainsi une amélioration importante de la performance par rapport à de l'émulation pure. Il s'agit d'une approche similaire à ce que fait VMware, produit propriétaire.
NdM : comme le précisait la dépêche DLFP au moment de la sortie, Fabrice Bellard avait promis de publier du code de KQEMU si une entreprise acceptait de le rétribuer financièrement.
NdM : Merci à Sytoka Modon pour avoir également proposé l'info. Contrairement à KVM, qui vient d'être intégré dans le noyau 2.6.20, QEMU & KQEMU ne nécessitent pas de support matériel particulier. De plus, KQEMU existe pour plusieurs système : Linux, Windows, FreeBSD, Solaris.
Fidèle à son habitude, Fabrice Bellard a fourni une documentation technique détaillée sur le fonctionnement interne de KQEMU.
Les changelogs sont également disponibles pour QEMU & KQEMU ; on notera les nouveautés principales suivantes :
- qemu : entrées/sorties asynchrones ; concrètement, lorsque le système émulé fait des I/Os, son exécution continuera pendant que l'émulateur cherche les données correspondantes (utile par exemple si l'image disque est distante)
- QEMU : gros travail sur l'émulation MIPS, notamment introduction d'une émulation de la plateforme "Malta"
- QEMU : "Userspace emulation" pour Darwin et pour m68k (émulation des appels systèmes, sans émulation d'un système complet)
- QEMU : support du boot PXE, pratique pour faire des tests de distributions démarrant sur le réseau
- KQEMU : passage en GPLv2
- KQEMU : support complet x86_64
Aller plus loin
- QEMU (80 clics)
- KVM (18 clics)
- QEMU Accelerator Technical Documentation (29 clics)
- QEMU Changelog (8 clics)
- KQEMU Changelog (55 clics)
# Vive l'open source !
Posté par Semeteys Raphaël . Évalué à 10.
[^] # Re: Vive l'open source !
Posté par Guillaume Denry (site web personnel) . Évalué à 10.
[^] # Re: Vive l'open source !
Posté par Anonyme . Évalué à 10.
[^] # Re: Vive l'open source !
Posté par Aurélien Croc (site web personnel) . Évalué à 10.
Il n'est sûrement pas nécessaire de faire l'apologie de ce que cet acte apporte au monde libre mais soulignons quand même son importance !
C'est vraiment un outil d'une très grande qualité, qui a des performances assez époustouflantes et qui n'a vraiment plus rien à envier à qui que ce soit !
Encore merci Fabrice !
[^] # Re: Vive l'open source !
Posté par nethenic (site web personnel) . Évalué à 8.
Bref... je ne m'en passe pas !
[^] # Re: Vive l'open source !
Posté par ShakaZ . Évalué à 5.
[^] # Re: Vive l'open source !
Posté par chimai . Évalué à 2.
# Sponsor ou pas ?
Posté par tomachaka . Évalué à 10.
# Noyau Linux 2.6.20 et KVM
Posté par Sytoka Modon (site web personnel) . Évalué à 10.
Bref, sans gros tapage médiatique, qemu fait son bout de chemin et devient à chaque version de plus en plus incontournable.
[^] # Re: Noyau Linux 2.6.20 et KVM
Posté par karteum59 . Évalué à 3.
Cependant, le principal inconvénient que je lui trouve est que la carte graphique émulée est une cirrus logic (= pas de 3D). Idem pour tous les autres composants qui sont vus par l'OS guest comme des composants virtuels QEmu et pas comme les vrais composants de la machine (ce qui signifie un overhead pour émuler le comportement de ces composants, alors que l'idéal serait d'exploiter le vrai matériel au plus près). En clair, j'aimerais bien jouer à Sim City 4 dans le windows émulé sous mon Linux !
Dans la doc technique QEmu, il est dit Justement, je me demandais (pour avoir le meilleur des 2 mondes) s'il ne serait pas possible d'écrire le pilote (libre) pour windows d'une carte graphique 3D virtuelle qui se contenterait de relayer les appels GDI/OpenGL à QEmu... Je n'ai pas les connaissances requises pour écrire ça mais ça devrait bien être faisable, non ? Idem pour tous les autres composants (l'idée étant de paravirtualiser au maximum les drivers, comme Xen le fait pour Linux, BSD... mais pas windows).
[^] # Re: Noyau Linux 2.6.20 et KVM
Posté par Pierre Palatin (site web personnel) . Évalué à 4.
Non, à partir du moment où tu dois émuler, tu n'as (quasiment) aucun interêt à suivre ce qu'il y dessous.
Une approche intéressante pour ce genre de problème est que l'émulateur fournisse un accès direct au matériel sous jacent. Cela est faisable en USB (qemu le fait, vmware également); cependant, en PCI, cela pose des problèmes de mapping mémoire et imposerait au mieux des drivers plus ou moins prévu pour (et c'est p-e même impossible dans certains cas). Je ne sais pas si les extensions VT & SVM apportent qqchose à ce niveau là (proxy de périphériques), mais je n'ai rien vu, donc je suis sceptique.
Pour le cas de l'opengl, un patch était passé sur la mailing list : http://lists.gnu.org/archive/html/qemu-devel/2006-11/msg0014(...) . En gros, il s'agit d'un proxy opengl, qui fait passer les requêtes à l'host. Cela nécessite un support soft dans le client; je n'ai rien vu passer pour windows. Je crois que vmware le permet par contre.
Quand à écrire des pilotes pour, c'est effectivement pratique comme approche, mais manifestement ça n'a intéressé personne suffisament :) p-e voir ce qu'il y a dans virtualbox. Cependant et comme tu le fais remarquer, à partir du moment où c'est pour un OS libre, vaut mieux tout adapter pour faire de la paravirtualisation (à la xen donc). Cela dit, pour le cas de l'affichage, ça reste problèmatique, vu que tu as très peu de marge sur ce que tu peux faire pour des questions de performance.
# www.VirtualBox.org
Posté par Frédéric Stemmelin . Évalué à 5.
[^] # Re: www.VirtualBox.org
Posté par lurker . Évalué à 10.
[^] # Re: www.VirtualBox.org
Posté par yves a (site web personnel) . Évalué à 2.
Parfois il provoque même eu un reboot brutal de mon pc.
La dernière fois que j'ai testé qemu (sans kqemu) c'était lent, mais ça plantait pas.
[^] # Re: www.VirtualBox.org
Posté par _Hitek_ (site web personnel) . Évalué à 1.
[^] # Re: www.VirtualBox.org
Posté par Psychofox (Mastodon) . Évalué à 2.
J'ai testé openbsd 4.0, l'OS s'installe mais kernel panic au reboot
ubuntu server (dapper LTS) plante à l'installation
problèmes que je n'ai jamais eu ni avec vmware, ni qemu. Donc pour moi virtualbox est loin d'être mature.
# Vivement l'intégration dans Xen
Posté par AP . Évalué à 4.
# Parlons de performances
Posté par Cali_Mero . Évalué à 9.
Maintenant que kqemu est libre, on pourra l'avoir par défaut dans les systèmes de paquetage des distributions sans avoir à s'embêter, et c'est très bien. Car qemu seul ne répondait pas à mon besoin.
- Peut-on paramétrer finement les ressources mobilisées sur le système hôte ?
- Y a t-il une compatibilité au niveau des fichiers entre les deux applications, pour permettre d'utiliser facilement une machine virtuelle de l'un sur l'autre ?
- Enfin, pour ceux qui ont testé, windows (et quelles versions ?) se comporte t-il bien ainsi virtualisé (je pense notamment à la reconnaissance des périphériques virtuels tels que la carte graphique, ainsi qu'aux restrictions qui peuvent en découler pour les applications, telles que les jeux DirectX ? VMware commençant à offrir un support DirectX au stade expérimental...).
Merci.
[^] # Re: Parlons de performances
Posté par ShakaZ . Évalué à 7.
(pas encore traduit en français..)
[^] # Re: Parlons de performances
Posté par Misc (site web personnel) . Évalué à 5.
> systèmes de paquetage des distributions sans avoir à s'embêter, et c'est très
> bien.
Il y avait deja des paquets pour certaines distributions.
Par exemple, je me souvient que ça fait un an que le plf ( http://plf.zarb.org ) distribue un paquet dkms-kqemu dans le dépot non-free pour mandriva, ce qui a permis une intégration trés rapide dans cooker ( ie, j'ai la joie de découvrir que le paquet est déja ce matin dans contribs )
# émulation ? virtualisation ?
Posté par dovik (site web personnel) . Évalué à 2.
[^] # Re: émulation ? virtualisation ?
Posté par Adrien BUSTANY (site web personnel) . Évalué à 6.
[^] # Re: émulation ? virtualisation ?
Posté par yves a (site web personnel) . Évalué à 4.
http://doc.ubuntu-fr.org/vmware_server
[^] # Re: émulation ? virtualisation ?
Posté par abramov_MS . Évalué à 2.
[^] # Re: émulation ? virtualisation ?
Posté par scls19fr (site web personnel) . Évalué à 4.
en effet Parallels permet de faire tourner un Windows virtualisé dans Mac OS mais il est également possible de faire tourner un Windows directement avec BootCamp.
Il est même possible que le système qui tourne avec Parallels soit sur la partition Windows qui peut alors soit démarrer avec BootCamp... soit dans Mac OS avec Parallels...
bon je vois que je ne suis pas clair...
http://www.macgeneration.com/mgnews/depeche.php?aIdDepeche=1(...)
[^] # Re: émulation ? virtualisation ?
Posté par dovik (site web personnel) . Évalué à 2.
si, si, c'est très clair, c'est exactement ce que je souhaiterais faire. (mais pas sous Mac ^^)
[^] # Re: émulation ? virtualisation ?
Posté par timid . Évalué à 2.
Juste un conseil : fait attention à ne pas laisser les partitions utilisées par windows montées sous linux ...
# gcc 4
Posté par bzubzu . Évalué à 6.
# interface graphique comme VirtualBox
Posté par bidibulle . Évalué à 3.
Et au fait outre le nombre de plateforme emulé, quelles sont les principales différences avec VirtualBox?
[^] # Re: interface graphique comme VirtualBox
Posté par ShakaZ . Évalué à 1.
Pour linux je crois que c'est Kqemu (Kde Qemu), il est moins convivial mais devrait s'améliorer avec le temps
[^] # Re: interface graphique comme VirtualBox
Posté par B16F4RV4RD1N . Évalué à 3.
pour qemu, est-ce qu'il est possible d'utiliser des images vmware sans les convertir complètement (par exemple pour passer de l'un à l'autre), et enfin est-ce qu'il est possible d'avoir une gestion simple du réseau ?
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: interface graphique comme VirtualBox
Posté par Pascal Terjan (site web personnel) . Évalué à 4.
Pour ce qui est des images vmware, oui qemu sait les utiliser.
Pour ce qui est du réseau, ca dépend de tes besoins. Si tu veux que tes OS puissent faire du tcp/ip, ca marche tout seul. Si tu veux un vrai réseau, et que par exemple le ping passe, il va falloir configurer à la main (ou utiliser une interface le proposant, ou récupérer un script). Tu peux assez facilement par exemple bridger tes qemu comme ca ils prennent leur propre IP et si t'as un serveur DHCP sur ton réseau ca marche tout seul. Tu peux aussi faire du NAT ou n'importe quoi d'autre que Linux te permet de faire (je suppose que tu lances qemu sous linux :) ).
[^] # Re: interface graphique comme VirtualBox
Posté par fox (site web personnel) . Évalué à 1.
http://sourceforge.net/projects/vde/
[^] # Re: interface graphique comme VirtualBox
Posté par glyj . Évalué à 2.
[^] # Re: interface graphique comme VirtualBox
Posté par Larry Cow . Évalué à 3.
[^] # Re: interface graphique comme VirtualBox
Posté par rico_el_diablo . Évalué à 2.
c'est un projet encore en alpha mais ça suffit pour configurer et lancer une vm.
c'est développé en java (eclipse rcp).
[^] # Re: interface graphique comme VirtualBox
Posté par rico_el_diablo . Évalué à 1.
# whooooohohohoho !!!!
Posté par mirak mirak . Évalué à -7.
Depuis le temps !
On va enfin pouvoir avoir un système d'emulation performant dans les distrib linux sans se retaper la compilation de module.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.