[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Provide a 'new wow64'-configured package for Wine 9.0




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.

Reply to: