2013/7/22 Walter Dnes <waltd...@waltdnes.org>:
>   I'm usually pretty good a Google, but I've run into a brick wall with
> qemu's QEMU_SOFTMMU_TARGETS and QEMU_USER_TARGETS settings.  I find that
> wine on a 64-bit-only machine does not support 32-bit Windows programs.
> Years ago, I was able to build a 32-bit qemu Gentoo guest, and run wine
> 32-bit mode on that.  I need to try it again, but I have no clue what
> QEMU_SOFTMMU_TARGETS and QEMU_USER_TARGETS settings to use.  I repeat,
> I'm on a 64-bit Intel machine, and I want to emulate Intel 32-bit.  Do
> these variables refer to the guest architecture or the host
> architecture?
>
>   In plain English, given "host" and "guest" architectures which of the
> following combinations do I use...
>
> QEMU_SOFTMMU_TARGETS=host  QEMU_USER_TARGETS=host
> QEMU_SOFTMMU_TARGETS=host  QEMU_USER_TARGETS=guest
> QEMU_SOFTMMU_TARGETS=guest QEMU_USER_TARGETS=host
> QEMU_SOFTMMU_TARGETS=guest QEMU_USER_TARGETS=guest

Well, if all you want to do is run a 32-bit Wine on an amd64 box, full
hardware virtualization is not needed. According to this answer:

http://askubuntu.com/a/231605

All you need to do is ensure the proper WINEARCH and WINEPREFIX is
used when invoking the 32-bit program. Wine must be built with
ABI_X86="64 32", though.

As for the QEMU_{SOFTMMU,USER}_TARGETS variables, those USER targets
are for user-space emulation only, i.e. used to execute Linux binaries
from a different architecture, thus not what you need. Something like
this in make.conf may suffice:

QEMU_SOFTMMU_TARGETS="i386 x86_64"  # only enable x86 and x86_64
QEMU_USER_TARGETS=""  # prevent user-space emulation from being built

Note the variables are not expanded, so an empty value is used to
clear QEMU_USER_TARGETS instead of "-*", as you might do otherwise.

Reply via email to