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

Suggestions about i386 support



I think some of the i386 support policies needs to be reconsidered.

Here are some suggestions:

1. ​Move Wine-32 to amd64, and Wine-32 may be compiled to 64-bit time_t.

Wine-32 is now in currently dropped i386 DVDs/BDs, not in amd64 DVDs/BDs as it is multiarch-only now, so at least I think moving it to amd64 is needed.

Wine-32 may be compiled to 64-bit time_t, not affecting its Win32 binary compatibility. For its Win32-layer, 64-bit time_t can be enabled with -D__MINGW_USE_VC2005_COMPAT or by linking to UCRT, but it's up to Wine maintainers. For its Unix-layer, 64-bit time_t can be enabled with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64, and since Wine is to run Win32 executables, this do not affect its Win32 binary compatibility. This can be done by Debian. For compatibility with the multiarch support to i386, I think renaming the dependencies' package name and soname may be needed.

There is an experimental 32-bit Unix library-free 'WoW64 thunking' or 'new WoW64' mode introduced in Wine 8.0 enabled by './configure --enable-arches=x86_64,i686', and becomes almost stable in Wine 9.0. But there are some restrictions in it, such as OpenGL performance problem and Win16 support, so it's not sure whether Wine 10.0 will announce this mode becomes default. If Wine 10.0 announces 'WoW64 thunking' or 'new WoW64' mode becomes default, Wine-32 can be dropped directly.

As Freexian's ELTS is selective support, and almost no one using Debian as server needs Wine, Freexian probably will not support i386 any more, and thus I think Debian releasing important 32-bit time_t i386 stuffs like Wine-32 is acceptable until 2032. But Ubuntu may have a different opinion as they will support total Ubuntu for 12 years. Moving Wine-32 from i386 to amd64 and recompiling it to 64-bit time_t  (or dropping it because 'new WoW64' mode becomes default) may be needed for Ubuntu to keep it from Y2038 problem.

2. For device support:

There are no pure 32-bit x86 non-embedded devices since 2010 (as Atom N450 deprecated the pure 32-bit Atom N270) widely manufactured.

i386 UEFI support is mandatory for Bay Trail and some Cherry Trail devices widely manufactured in 2012-2015, as they are 32-bit Windows 8/8.1 preinstalled and do not support legacy BIOS boot mode.

It's good to keep i386 UEFI support (signed is better) for Bay Trail and some Cherry Trail devices in Debian amd64. Bookworm has added it (moved it from multi-arch iso to amd64 isos), but trixie seems to be dropping it. If Debian thinks 2015 is ancient enough in 2025, this suggestions can be ommited.

3. For future i386 support:

If there are not enough human resources, i386 can be dropped completely as Wine-32 is moved to amd64 (or is dropped because 'new WoW64' mode becomes default), pure 32-bit device boot support is dropped, and it's all about support for ancient Linux apps/games which can be done by old Debian releases.

If someone wants to continue maintaining pure 32-bit device bootable i386, I think recompiling it to be Y2038-safe is still meaningless as the devices will be very aging and probably broken in 2038, and probably no one need a non-binary-compatible i386 build. Just keep it 32-bit time_t is enough as I think.



Reply to: