qemu-discuss
[Top][All Lists]
Advanced

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

Re: [Qemu-discuss] qemu for windows and kvm


From: Jakob Bohm
Subject: Re: [Qemu-discuss] qemu for windows and kvm
Date: Fri, 01 Mar 2013 08:51:55 +0100
User-agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3

On 2/28/2013 11:27 PM, Mike Lovell wrote:
On 02/26/2013 06:34 AM, Jakob Bohm wrote:
On 2/26/2013 5:06 AM, Sylvain wrote:
 Hi all,

I had a good experiment a few years ago
with qemu-0.9.1 for windows
I recently decided to update to the latest version which
is 1.3.1 .

On my windows vista laptop
 (AMD athlon 64 dual core if it can help), I was able to run successfully
the sample bat file linux-0.2.bat .

I adapted my old .bat script
for my application. It worked but very slowly.
I decided to activate the kvm acceleration.
It failed with the message:

KVM not supported for this target
No accelerator found!

Here is the content of the .bat file :

REM Start qemu on windows.
REM net start kqemu
REM @ECHO OFF
SET SDL_VIDEODRIVER=directx
SET SDL_AUDIODRIVER=sdl
SET QEMU_AUDIO_DRV=dsound
SET QEMU_AUDIO_LOG_TO_MONITOR=1

START qemu-system-x86_64w.exe -L Bios -k en-us -vga std -m 512M -sdl -soundhw es1370 ^
-boot menu=off,order=dca ^
-rtc base=localtime,clock=host ^
-name RACD -drive file=linux-0.2.img,media=disk,cache=writeback ^
-net nic,model=ne2k_pci -net user -enable-kvm ^
-machine pc,accel=kvm,kernel_irqchip=on -cpu pentium ^
-cdrom 1.2.4.iso

(I obtained similar results using qemu-system-i386w.exe instead of qemu-system-x86_64w.exe )

In the past, it was necessary to install kqemu for windows
(the three commented lines at the beginning of the script  are a sequel of that; the behavior
is not changed if these lines are uncommented)

Is it necessary to update kqemu for windows ?
(the old one which was working properly with qemu-0.9.x is still there)
Or is the problem elsewhere ?


Unfortunately, shortly after kqemu was opensourced, some short-sighted
person decided thatbecause some expensive CPUs, under Linux only,
could get better results with kvm, thenall the kqemu support should be
removed from qemu.

This has left us all with no CPU assisted acceleration of
same-architecture qemu in all of thefollowing scenarios:

 - x86 CPUs without virtual extensions
 - non-Linux kernels
 - nested virtualisation
 - non-x86 CPUs that could have had kqemu-like functionality (which is
  almost all CPUs with hardware separation of user and kernel mode).

while all of these were true at one point, they aren't all completely true now. this sounds a little sensationalist and i feel a little bit of desire to correct on some of it.

joyent added support for kvm to smartos which is solaris based and that support has been ported to openindiana. there isn't support for windows though. there have been efforts to port to at least freebsd but it seems there wasn't enough support for them to continue.

there is nested virtualization support and i use this on a regular basis. it does require newer software and hardware support though. i believe it is RVI for amd processors or EPT for intel processors that is required.

there are also projects to add support for kvm to other processor architectures. i've heard of work being done for the virtualization support in the new arm15 architecture and work for power based system. i don't follow those so i can't speak to their progress.

kvm does not fit in every situation. kqemu supported some that kvm does not such as running on a windows host. but kqemu wasn't without problems and there is work to add or improve support for kvm in some areas.

to answer the original question, kqemu support was removed and there isn't a replacement for qemu acceleration on windows. i don't know if there ever will be a replace for kqemu on windows either. i hope there is eventually but i haven't heard of anything getting serious support from the community.


I need to clarify then:

kvm is fundamentally (no fix possible) restricted to CPUs that can do almost all emulation directly, and furthermore to environments which do not disable that ability.

kqemu, which admittedly had serious implementation flaws, was a technique to do accelleration in contexts without those abilities, including nested virtualisation inside VMs that don't contain extra code for nested virtualisation.

Thus the fundamental code to use kqemu-like OS facilities remains highly useful in many contexts other than "Windows".


Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

reply via email to

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