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.