Slashdot Mirror


QEMU Accelerator Achieves Near-Native Performance

An anonymous reader writes "QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. Its sporting a new module called the 'Accelerator' which can achieve near native speeds, and currently runs on Linux 2.4.x and 2.6.x kernels. This means you could theoretically run Windows (or another OS) on a Linux machine at near native speeds without buying a commercial emulator. The catch is that although QEMU is released under various open source licenses, the Accelerator uses a free (as in beer) license because the module is a 'closed source proprietary product.' Fabrice Bellard does mention that he would consider open sourcing the Accelerator under certain conditions."

11 of 366 comments (clear)

  1. This is great! by Husgaard · · Score: 5, Funny

    I am really looking forward to emulating an Opteron at near native speed on my good old 386sx processor...

  2. Oh yeah! by Saint+Aardvark · · Score: 5, Interesting
    I've been trying out VMware's latest beta at work (journal entry on that in an hour or so) to run W2K on Linux, in order to try some patch automation software. It's great, but I'd love it if there was a Free program that'd do this.

    I dearly hope the accelerator gets GPL'd. Between sysadmin work (reverting to a snapshot ROX) and, just maybe, being able to move W2K people to Linux (there's only a handful of applications we need [damn you, Texas Instruments! Where's your Linux version of Code Composer?], and remote admin is just soooooooo much better with a Unix), I'd be very happy if a) this thing works as well as it's supposed to, and b) if there was some sort of tip jar I could kick in a few bucks to (like with Blender, I believe), and get it released when there was enough money.

    Incidentally, I tried installing W2K on qemu w/o the accelerator. When I left work on Friday, it was finishing up the second stage of installation; it was slow as molasses, but seemed to be working. This seems to contradict the note re: disk full during install problem noted on the support page. It's always possible I just haven't hit it yet, but does anyone else have any experience with W2K and qemu?

  3. qemu DOES work by supersuckers · · Score: 5, Informative

    A lot of people seem skeptical so far. I've been using qemu to run windows98 under linux for close to a year now. This was before this "accelerator" It was definitely usable. I needed windows for an application from my job, and this let me use it without rebooting. I installed it using the following instructions: http://forums.gentoo.org/viewtopic-t-186001-highli ght-qemu+howto.html

  4. Re:if only they could get this to run faster by fabu10u$ · · Score: 5, Funny
    From your link:

    Hear God Anywhere! - Get BiblePlayer Deluxe for $29 +s/h
    If you need an iPod to hear God, maybe you should start looking for a different faith...
    --
    They say the mind is the first thing to ... uh, what's that saying again?
  5. Qemu - information by Richard_J_N · · Score: 5, Informative

    Here's a bit more about Qemu. I've now used it quite a bit, and am impressed by it!

    Qemu can essentially run any guest OS (Linux,Windows,MacOS,BSD,menuetOS...) under any other. This normally incurs approximately a 4x slowdown, which is pretty good. I've personally installed XP on Linux this way. It's also a great way to test out the latest knoppix.

    The KQEmu (accelerator) is a kernel module which allows near-native speeds, if both the guest and host architecture are x86.

    Qemu is Free (speech and beer); the accelerator is free (beer), but not, at least for now, open source.

    In the specific case of needing to run windows apps on Linux, we have now several options:

    API emulation: Wine
    PC emulation: Qemu (free)/VMWare (expensive)
    VNC: (and just move the display)

  6. Re:I'm getting pretty skeptical of these things by caseih · · Score: 5, Informative

    The qemu claims are accurate. I am currently using this module with qemu and find that I do get 60-70% native speed (just as he advertises) and it is only going to get better. mind you this is x86 on x86. I/O performance (just like on vmware) is still a pig.

    Look. Just go download it and try it. Don't post stupid pointless comments about how skeptical you. Don't know how that rated insightful.

  7. fabrice's other projects by harlemjoe · · Score: 5, Interesting

    afaik the only way to run wine on linux-ppc (WINE is not an emulator, and so is x86 dependent) is by using qemu...

    also check out darwine... integrated qemu + wine under OS X so you can http://darwine.opendarwin.org/ click on windows apps and run them seamlessly in OS X

    fabrice bellard is a processor emulating god imho

    --
    shooting is not too good for my enemies
    1. Re:fabrice's other projects by Spy+Hunter · · Score: 5, Informative
      He is not merely a processor emulating god; he is a coding god in general. Look at his project page. QEmu is not even his most significant project! He the main force behind the FFMpeg project, which is the premier open-source library for all things video-related (including open-source encoders and/or decoders for nearly every video/audio codec known to man). You can thank him for much of the progress that MPlayer/Xine have made, especially on non-x86 systems.

      In addition, he has implemented a complete C99 compiler, and a software modem (unfortunately incomplete), which is the hard part of making open-source WinModem drivers. Also, an emacs clone which also happens to have full Unicode support (including bidirectional editing), *and* a built-in HTML/CSS2 renderer with WYSIWYG editing.

      And if that wasn't enough, he has won awards in the IOCCC twice. If that doesn't prove he's a true coding god, I don't know what would. He has done all of this in his free time, for no pay. I think it is safe to say that he *really* deserves a sponsorship.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  8. Re:EMULATOR?? by sanermind · · Score: 5, Informative

    The main bulk of QEMU (which is all open source BTW) is entirely an emulator. It uses just-in-time dynamic binary translation to convert from the guest architecture to the host architecture, using an internal intermediate representation. At this level it is altogether an emulator... you can run x86 on powerPC or sparc on x86, or x86 on x86, etc. But because this the overhead is not insignificant. There seems to be a 5 - 10 times slowdown when I run winXP under linux in an emulated environment.

    What the new KQemu accelerator does, is replace some of the emulation [specifically, of user-space code not in ring 0] with direct VMware-style virtualization, where the code is being run natively and trapped by the monitor. Important to note with KQemu is that kernel code is still being wholly emulated. Virtualizing only user-space is so much easier... I believe that Plex86 gave up on trying to virtualize ring0 code on x86 a while back, because the x86 isn't well designed for this. Running winXP with the accelerator causes it to run pretty close to native, though. Where before under just emulation, trying to play a video with windows media player took over a minute for a frame to show up and otherwise froze, with KQemu I can actually play video relatively smoothly. This is a wonderous thing! Basically, you can get almost all of the functionality of VMware, but FOR FREE.

    --

    ---
    the pen is mightier than the sword, the sword is mightier than the court, the court is mightier than the pen.
  9. Escaping the Palladium Jail? by Jah-Wren+Ryel · · Score: 5, Interesting

    Could this be used to sufficiently virtualize a 'palladiumized' system such that we could run a hypothetical DRM-up-the-ass version of Windows in it and then from the host OS side peek at all the secret data that the copyright cartel thinks is locked down?

    --
    When information is power, privacy is freedom.
  10. Re:I'm getting pretty skeptical of these things by TheRaven64 · · Score: 5, Informative
    First of all, this is by the guy who already wrote FFMPEG (MPEG transcoder), the Tiny C Compiler, and QEMU - an emulator that is capable of emulating several different CPUs running on several other host CPUs at impressive speeds (compare it to Bochs sometime). Quite an impressive resumé, and someone whose claims I would be inclined to take seriously.

    Secondly, QEMU Accelerator is not an emulator, it is a virtualisation layer. It executes most instructions on the host CPU, using the emulator as a sand-box and system emulator, rather than a CPU emulator. Emulating x86 on x86 at a reasonable speed is really not that hard (non-trivial, but certainly not unbelievable).

    --
    I am TheRaven on Soylent News