Wine 9.0 finally announced its 'new wow64' configuration, which uses a 64-bit loader with NT-like far-jump thunk to switching
between 32-bit and 64-bit code, rather than traditional 32/64-bit dual loaders, to run 32-bit Windows programs, and does not depend on any 32-bit Unix libraries, becomes stable (although some limitations are there, so not enabled by default). It is configured
by '--enable-archs=i386,x86_64'.
Although the configuration is not enabled by default, I think that its time to provide a binary package that are configured
with this configuration, so that 64-bit Unix userland purists, year-2038-safe, emulating using box64 without box86, etc., could be satisfied without recompiling.
Some users also tend to configure a pure 64-bit environment. Debian trixie will also not providing i386 DVD/BD isos (which
is convenient for Internet-inaccessible environments) any more. Linux
kernel 6.7 introduced a new kernel command line 'ia32_emulation' to allow users disable ia32 emulation on x86_64 to reduce security risks. But
then Wine will not be able to be installed to run 32-bit Windows programs.
i386 userland does have a year-2038-safe
upgrading plan now. Wine itself seems does not use Unix time_t, but its i386 dependencies could use.
It's more useful when emulating using
box64 without box86. box64 is a library thunking amd64 emulator
on arm64/riscv64. It uses thunked native .so's as possible rather than always using emulated-arch ld.so and .so's as in qemu-user environment so as to run as fast as possible. However, it cannot thunk i386 .so's against arm64/riscv64 one, as ILP32-to-LP64
is not fit. Traditionally one should use box86 instead to run i386 programs. However, box86 thunks i386 against armhf, as it is ILP32-to-ILP32. But some systems does not have ability to run armhf, such as Apple Sillicon, some ARMv9 devices, and most of riscv64
devices. Emulating Wine on these devices using box64 without box86 is possible again with the 'new wow64' configuration.
|