From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CzqD4-00061T-0L for qemu-devel@nongnu.org; Sat, 12 Feb 2005 00:52:51 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CzqCw-0005wq-HI for qemu-devel@nongnu.org; Sat, 12 Feb 2005 00:52:43 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CzqCw-0005wC-9Q for qemu-devel@nongnu.org; Sat, 12 Feb 2005 00:52:42 -0500 Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1Czpz2-0002eu-P1 for qemu-devel@nongnu.org; Sat, 12 Feb 2005 00:38:21 -0500 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Czpwr-0005Qx-1L for qemu-devel@nongnu.org; Sat, 12 Feb 2005 06:36:05 +0100 Received: from amarseille-206-1-16-178.w81-50.abo.wanadoo.fr ([81.50.81.178]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 12 Feb 2005 06:36:04 +0100 Received: from daimon55 by amarseille-206-1-16-178.w81-50.abo.wanadoo.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 12 Feb 2005 06:36:04 +0100 From: Ronald Date: Sat, 12 Feb 2005 06:37:34 +0100 Message-ID: References: <420BEEB7.1010906@bellard.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit Sender: news Subject: [Qemu-devel] Re: The QEMU Accelerator Module Reply-To: daimon55@free.fr, qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Le Fri, 11 Feb 2005 00:31:03 +0100, Fabrice Bellard a écrit : > Hi, > > I just commited the first alpha release of the QEMU Accelerator Module > (aka KQEMU) in the CVS. It gives better performance for the "x86 on x86" > case by running most of the application code as is. It works only for a > Linux x86 host running a 2.4 or 2.6 kernel. Linux 2.4 and 2.6 kernels and > Windows 2000 have been runnning as guest OSes, but other OSes may work as > well. As with every alpha kernel driver testing, it is better to backup > your data before trying it. > > KQEMU is _not_ open source as the rest of QEMU. It is a proprietary kernel > module (read the LICENSE file) and will stay so until a gentle company > decides to subsidy the QEMU project. > > KQEMU usage is optional: you can disable it at compilation or run time, so > no one is forced to use it. > > Fabrice. Strange that nobody has posted some comparisons between qemu with and without this module, maybe it's uninteresting but I do that: I have tried to play a big divx file with mplayer under qemu, host is running 2.6.10, guest 2.6.9, mplayer is build without optimisations (no mmx or sse) and launched with -ao alsa -framedrop. Without using the module the file is far away to be played correctly: no picture in the 3 minutes before I stop, sound is not even played correctly : a huge number of "resetting stream". When using the kqemu module that's a lot better, sound is decoded and played perfectly, and the video stream is played too, just some a/v sync problems that's why I have used -framedrop but I bet this is more a display thing than a decoding one. I have tried some different -vo x11,dga and sdl, the first two are ok, sdl one makes mplayer crash with a "bad usage of CPU/FPU/RAM" message (with or without kqemu), but this may be related to the flags¹ I have used when building qemu. The following is the output from mplayer for the streams properties: AVI file format detected. VIDEO: [DIVX] 640x368 16bpp 25.000 fps 682.8 kbps (83.4 kbyte/s) ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 MP3lib: init layer2&3 finished, tables done AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 40000->192000 (320.0 kbit) Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== [...] ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4) ========================================================================== Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit... AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian) I can imagine that some more games could have a chance to run on a windows guest now :) ¹This is what I have passed to make for this one (kqemu should be build again after a clean distclean): OP_CFLAGS='-Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions=0 -fno-gcse -fno-reorder-blocks -fno-optimize-sibling-calls -march=pentium -mcpu=athlon-xp -mmmx' CFLAGS='-Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -march=athlon-xp -mcpu=athlon-xp -mfpmath=sse -msse -m3dnow' HELPER_CFLAGS='-Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -march=pentium -mcpu=athlon-xp -mmmx'