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 via email to