qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: The QEMU Accelerator Module


From: Ronald
Subject: [Qemu-devel] Re: The QEMU Accelerator Module
Date: Sat, 12 Feb 2005 06:37:34 +0100
User-agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.)

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'






reply via email to

[Prev in Thread] Current Thread [Next in Thread]