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
|