QEMU for Windows - frequently asked questions
=============================================

When I run any of the executables, they just return.  No error, no message.
---------------------------------------------------------------------------

That is the normal behaviour of Windows applications with SDL 1.2.
SDL redirects all messages from the console to files stdout.txt and stderr.txt.
Those files are created automatically if there is any message on stdout
(normal messages) or stderr (error messages) and if you have the necessary rights
for the directory where the files will be created (usually the installation
directory, so you need admin rights or you must modify the directory permissions).

The error message in stderr.txt should tell you what went wrong.

You can also try something like qemu-system-i386 --help which should create a stdout.txt.

The SDL_STDIO_REDIRECT environment variable can be used to override whether
SDL redirects stdio to stdout.txt and stderr.txt.


What is the difference between qemu-system-i386.exe and qemu-system-i386w.exe?
------------------------------------------------------------------------------

The first one is a Windows console application, the second one is a Windows GUI
application. Both only differ in the internal file header - the code is identical.
If you run the console application, you will usually get two windows: a console
window and the QEMU application window.


Could you also publish the checksum (MD5 or SHA1) file for each of the setup files?
-----------------------------------------------------------------------------------

Yes, of course. Now for every new installer there is also a file with the SHA-1 checksum.


When will you provide an installer for QEMU 1.4.1 (or any other version)?
-------------------------------------------------------------------------

Maybe never. I have limited server resources and try to track the latest
version of QEMU once a month (sometimes it takes longer).
That means that there will be no installers for updates of older versions of QEMU.


QEMU for Windows is terribly slow.
----------------------------------

Yes.

QEMU for Windows normally does not execute native x86 code directly.
It translates each machine code instruction into sequences
of instructions and calls, using TCG (Tiny Code Generator).
This is much faster than other emulators which interpret the
machine code, but it is also much slower than emulators
which use an accelerator.

On Linux, QEMU uses KVM when running x86 code on an x86 cpu
and achieves nearly native speed.

For Windows, there exists Intel HAXM which is used in the QEMU
for Android emulation (Google's fork of QEMU). Starting with
QEMU 2.8.0, the modified QEMU for Windows also includes
experimental support for HAXM. It is enabled with `--accel hax`.
Support for HAXM was improved in QEMU 2.9.0, but it is still
experimental, so use it at your own risk.

Another option is Microsoft WHPX. The latest builds include
experimental support for WHPX. It is enabled with `--accel whpx`.
WHPX should work on recent Windows versions without the need
to install additional software. I did not test it and it is
a new feature. Therefore it is experimental. Use it at your
own risk.

Using WHPX is easier than using HAXM because it does not require
the installation of additional software. HAXM also does not support
guests with several GB of RAM.

If you want to have a fast x86 emulation running on Windows
without such restrictions, I suggest using VirtualBox instead
of QEMU.


My keyboard / my mouse does not work correctly.
-----------------------------------------------

Non-english keyboards don't work well with QEMU,
and with QEMU for Windows, the situation is even worse.
Mouse support also has several problems.

If you are a developer, you are welcome to improve the code.
If you just want a working emulation with keyboard and
mouse support, I suggest using VirtualBox.


How did you build QEMU for Windows?
-----------------------------------

The code is from http://repo.or.cz/w/qemu/ar7.git.
This command is used for the cross compilation on Debian GNU Linux:

    ./make-installers-all
