TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Wine Developers Concerned with Ubuntu Dropping 32-Bit Support

207 pointsby logixalmost 6 years ago

28 comments

richard_toddalmost 6 years ago
I immediately wondered about macOS, which is dropping 32-bit support as well. One of the first links I found[1] seems to say that there is no 64-bit wine on macOS regardless of library issues, due to an ABI incompatibility. So on the surface it seems like the world is shifting under wine&#x27;s feet, and they are going to need to do a second level of emulation eventually to keep 32-bit stuff running.<p>[1]: <a href="https:&#x2F;&#x2F;forum.winehq.org&#x2F;viewtopic.php?f=9&amp;t=23005" rel="nofollow">https:&#x2F;&#x2F;forum.winehq.org&#x2F;viewtopic.php?f=9&amp;t=23005</a>
评论 #20243049 未加载
评论 #20243134 未加载
评论 #20243035 未加载
评论 #20242945 未加载
评论 #20246292 未加载
评论 #20246547 未加载
EamonnMRalmost 6 years ago
WINE needs 32 bit support. The bulk of windows programs that people still care about are from the 32 bit era, and as they point out many 64 bit apps use 32 bit installers. Maybe it&#x27;s time for x86 box like DOSbox.
评论 #20243224 未加载
评论 #20242639 未加载
评论 #20243664 未加载
评论 #20243563 未加载
momokokoalmost 6 years ago
I&#x27;m curious about Wine&#x27;s usage and relevance at this point in the Linux desktop story. My assumption is that Linux users(myself included) that use Windows applications(not games), tend to just run a VM in seamless mode for Windows functionality.<p>I would be curious if others had any insight(anecdotal or otherwise) about Wine usage these days.
评论 #20242691 未加载
评论 #20242775 未加载
评论 #20242523 未加载
评论 #20242807 未加载
评论 #20242864 未加载
评论 #20242861 未加载
评论 #20243111 未加载
评论 #20243955 未加载
评论 #20242548 未加载
评论 #20242629 未加载
评论 #20242608 未加载
评论 #20244173 未加载
评论 #20242490 未加载
评论 #20242475 未加载
评论 #20242616 未加载
评论 #20243914 未加载
评论 #20242560 未加载
评论 #20243087 未加载
评论 #20243932 未加载
评论 #20242866 未加载
评论 #20242737 未加载
评论 #20246146 未加载
评论 #20246595 未加载
评论 #20242641 未加载
评论 #20242995 未加载
TazeTSchnitzelalmost 6 years ago
I had assumed that because 64-bit wine did the “Program Files (x86)” thing, it ran 32-bit Windows apps in a 64-bit process. But now that I think about it, that doesn&#x27;t make sense.<p>WINE needs kernel and userland support for running 32-bit x86 code unless it adds an emulator, because WINE actually loads the Windows executable&#x27;s binary code into the current process (I assume exec() is a good comparison?) together with OS shared libraries. Maybe relevant for understanding this: <a href="https:&#x2F;&#x2F;wiki.winehq.org&#x2F;Wine_Developer%27s_Guide&#x2F;Kernel_modules#The_Wine_initialization_process" rel="nofollow">https:&#x2F;&#x2F;wiki.winehq.org&#x2F;Wine_Developer%27s_Guide&#x2F;Kernel_modu...</a>
giancarlostoroalmost 6 years ago
This will make me more likely to spin up a ReactOS VM if I really want to run any Windows only software, since running Windows in a VM is very resource consuming.<p>I was looking at computers at Walmart with only 4GB of RAM, the task manager said 3 GB out of 4 GB were being used, and it was just on standby. I don&#x27;t know what happened around Windows 8 to 10 but having 8 GB of RAM is too little for Windows, the OS takes up half of it out of the box whilst idle.
评论 #20244077 未加载
评论 #20244184 未加载
评论 #20244066 未加载
WhatIsDukkhaalmost 6 years ago
This actually seems like a GREAT thing to untangle all the otherwise useless? 32bit support from the underlying filesystem.<p>Why have windows apps accessing your 32 bit libraries in &#x2F;usr (which only the Windows apps need at this point) and instead just a flatpak library of sandboxed 32 libraries?<p>My steam install is already flatpaked, I&#x27;d be much happier if the community just moved this way -<p><a href="https:&#x2F;&#x2F;winepak.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;winepak.org&#x2F;</a><p>Seems like much closer to what I would want when running ANY Windows app in my otherwise completely open source desktop in the first place.
speederalmost 6 years ago
Lots of people in my company use Ubuntu and Wine...<p>Those news indeed are concerning, specially because a lot of &quot;bureacracy&quot; related software is win32 only for stupid reasons (there is even one company that purchases from us, that only negotiate the actual deals using a online platform that only runs on IE6 and needs some Win32 plugins...)
whatshisfacealmost 6 years ago
I use Ubuntu, but should I switch to Debian or something else? What do I get with Ubuntu that I don&#x27;t get with Debian? The ability to run Windows binaries is important to me.
评论 #20242502 未加载
doogliusalmost 6 years ago
Presumably, the kernel will continue to support 32-bit, it&#x27;s just that Ubuntu won&#x27;t package various 32-bit libraries anymore. But, can&#x27;t Wine just bundle any library dependencies itself?
评论 #20244186 未加载
评论 #20246041 未加载
评论 #20243273 未加载
olliejalmost 6 years ago
But why not just do a translation — 32bit x86 to 64bit x86 doesn’t meaningfully restrict available instructions, then just* plant a bunch trampolines in the low 4gig to the real implementations in the 64bit adds space.<p>* I know this isn’t a trivial “just” but it seems like a plausibly achievable approach to me
评论 #20242911 未加载
评论 #20246576 未加载
评论 #20243107 未加载
tracker1almost 6 years ago
It seems to me, we&#x27;ll probably wind up with a base linux container for 32-bit wine support... now, what that is based on, and how well it&#x27;s maintained is another issue entirely.<p>By comparison there&#x27;s DosEMU, DosBox and others for DOS, but Windows&#x2F;Wine is a much larger surface. I can only hope there&#x27;s enough community to create effectively a &quot;virtual distro base&quot; that&#x27;s 32-bit so that said apps can continue to run.<p>Should be fairly similar to the effort on windows for WSL2 ... Would be interesting to see MS take a similar approach for DOS&#x2F;Win32 support. Given the changes in MS, would actually be <i>VERY</i> interesting to see MS support Wine32 under WSL2 so that they could remove the 32bit support from windows as well. Unlikely, but one can dream.
评论 #20244780 未加载
评论 #20244745 未加载
FrozenVoidalmost 6 years ago
Alot of non-technical people use (mostly closed source) 32bit windows apps&#x2F;games through wine on Ubuntu(the most popular desktop linux) - some without equivalents&#x2F;alternatives. The only result of this is ubuntu usage share dropping - people run Operating Systems for Apps&#x2F;Games&#x2F;Software, not the other way around.
sneakernetsalmost 6 years ago
I&#x27;ll admit I&#x27;m a very fringe case, but I loved the ability to play the original Microsoft Entertainment Packs on my Mac using WINE. There&#x27;s just something about how simple and clean those games are, and people actually like to see them when I have a paused game of rodent&#x27;s revenge on one of my screens.<p>I really don&#x27;t want to lose that!
devitalmost 6 years ago
I think you can just use 32-bit libraries from Debian for the most part (I assume Debian is going to maintain i386 forever).
评论 #20243000 未加载
yellowapplealmost 6 years ago
I took Ubuntu&#x27;s dropping of 32-bit support to only apply to the machine itself, like how openSUSE Leap only supports running on 64-bit hardware but still supports 32-bit libraries[1]. Sounds like Ubuntu&#x27;s taking it to an even greater extreme.<p>Regardless, I can think of a couple ways around this:<p>- Build the 32-bit versions of the relevant libraries and ship them in a third-party PPA (or - ideally - convince Canonical to do this for Ubuntu, thus doing what openSUSE Leap is doing)<p>- Ship Wine in a snap or AppImage or flatpak or what have you with the relevant 32-bit (and 64-bit) libraries<p>[1]: <a href="https:&#x2F;&#x2F;doc.opensuse.org&#x2F;documentation&#x2F;leap&#x2F;reference&#x2F;html&#x2F;book.opensuse.reference&#x2F;cha.64bit.html" rel="nofollow">https:&#x2F;&#x2F;doc.opensuse.org&#x2F;documentation&#x2F;leap&#x2F;reference&#x2F;html&#x2F;b...</a>
ketsaalmost 6 years ago
Debian will keep 32 bit support for a while... No problem here.
jostmeyalmost 6 years ago
Does the Microsoft Office executable file even come in a 64bit package? It&#x27;s not Ubuntu&#x27;s or Wine&#x27;s fault
评论 #20242584 未加载
RosanaAnaDanaalmost 6 years ago
I&#x27;ve used Wine to run a number of instrument specific pieces of software via Ubuntu and all of them were 32 bit.
dafranalmost 6 years ago
There&#x27;s ecen an Ubuntu dev urging for more testing before implementing this: <a href="https:&#x2F;&#x2F;discourse.ubuntu.com&#x2F;t&#x2F;results-of-testing-games-on-64-bit-only-eoan-19-10&#x2F;11353" rel="nofollow">https:&#x2F;&#x2F;discourse.ubuntu.com&#x2F;t&#x2F;results-of-testing-games-on-6...</a>
bstar77almost 6 years ago
Can&#x27;t you still setup a 32bit chroot in 64bit Ubuntu (or any other distro for that matter)?
评论 #20242728 未加载
randyrandalmost 6 years ago
How hard is it to statically convert a 32 bit process into a 64 bit one? And why?
writepubalmost 6 years ago
What would it take for wine to run in 64 bit mode and emulate Win32?
tzsalmost 6 years ago
How different is the 32-bit Windows application environment from the 64-bit Linux application environment on x64 systems, as far as how system calls are invoked goes, and how memory is accessed?<p>We had a somewhat similar issue of wanting to run code from a different, narrower, system, although the systems involved were not anywhere near as different as Windows and Linux, back in the mid &#x27;80s at ISC. We were doing the 386 port of System V Release 3 under contract from AT&amp;T. Part of the contract required that we add the ability to run binaries from the 286 ports of System V Release 2 and System V Release 3 [1].<p>The approach was similar to what Wine does, if my limited understanding of Wine is correct. We wrote a program, i286emul, which could be pointed at a 286 program. It would allocate memory for the 286 program and load the program into that memory.<p>386 Unix was using a simple paging memory model. The 386 still used the selector&#x2F;offset system even when using paging, but the selectors were loaded once when a program started and not touched again. I think it was using what, in 16-bit land, would be called &quot;small model&quot; (one code segment, one data&#x2F;stack segment), but with all the segments set to 4 GB, and the real memory management done via that paging system that operated below the output of the selector&#x2F;offset system.<p>We had to add a system call (or maybe it was a new command added to an existing ioctl...I don&#x27;t remember for sure) that allowed i286emul to ask the kernel to set up some 16-bit selectors referencing the parts of the i286emul 32-bit address space at which it had loaded the 16-bit program, or at which it had allocated memory for the 16-bit program&#x27;s data and stack.<p>That let i286emul load a 16-bit program into i286emul&#x27;s address space, get the selectors set up, and then it could load the selectors and jump into the 16-bit program.<p>Eventually, the 16-bit program would try to do a system call. Fortunately, 16-bit 286 Unix and 32-bit 386 Unix happened to use different mechanisms for invoking system calls, so that when 16-bit tried to do a 286 Unix system call it would be an illegal instruction or a segfault or something like that (I don&#x27;t remember the exact mechanism it used), instead of something that would try to invoke a 386 Unix system call. (As far as I know, this was pure luck that the people who decided on the 386 system call interface mechanism picked something different from the 286 system call interface mechanism).<p>So, to handle system calls we just had to have i286emul handle the fault, recognize that it was caused by the 286 program trying to do a system call, and emulate that call. I don&#x27;t remember if that was as simple as installing a signal handler for the fault, or if we needed some kernel help.<p>The only other kernel change I remember was making exec recognize 286 binaries, and turn the exec into an i286emul exec, with the path to the 286 program passed as an additional argument.<p>Later, when AT&amp;T and Microsoft made a deal to add Xenix binary compatibility to 386 Unix, we got the contract for that, leading to x286emul, which was very similar to i286emul. There were a couple of minor areas in which Xenix and Unix differed that we could not take care of in user mode, so had to add a kernel flag [2] to have it slightly change some behavior for x286emul.<p>How hard would it be to take a similar approach with 32-bit Windows on 64-bit Linux? That is, make it so that a Linux process can reasonably mix 32-bit and 64-code, and give it some control over how 32-bit code sees the processes address space, and then implement a version of Wine that can handle 32-bit Windows programs translating their system calls to 64-bit Linux calls? The issues I can see include:<p>1. What is actually different between 32-bit code execution and 64-code execution as far as the kernel goes? Is there some flag that marks 32-bit&#x2F;64-bit, or is it mostly that 32-bit code is simply going to use addressing mode that refer to the double word registers instead of the quad word registers?<p>2. We greatly benefited on i286emul&#x2F;x286emul by the very different memory models of the two systems. I&#x27;d expect 32-bit Windows and 64-bit Unix to have very similar models which could be a problem...but I&#x27;d expect 32-bit Windows and 32-bit Linux to be even closer, and Wine dealt with that, so I&#x27;m not sure 32-bit&#x2F;64-bit would add much difficulty.<p>3. We also benefited from 286 Unix and Xenix being similar to 386 Unix, so mostly 286 system calls mapped directly to corresponding 386 system calls, with just a little translation of arguments and return codes. Windows and Linux are very different. But Wine is already dealing with that, so as with memory model it is not obvious that 32-bit vs. 64-bit makes much difference.<p>[1] ...not that there were actually any System V Release 3 on the 286 programs anyone cared about, because as far as I know that port was never completed. We were doing that one for AT&amp;T, too, but there were too many assumptions about memory management baked into the 3B2 source that were not right for the very different memory environment of the 286, and maybe halfway through the port AT&amp;T realized that Release 3 on the 286 was going to suck unless we did some major rewriting rather than just porting, and the 386 was so much better than on one was going to give a damn about running Release 3 on a 286 even if it did not suck, and dropped the port.<p>[2] That stupid flag led to the most annoying meeting I have ever attended. For x286emul, we were just doing the user mode code. Microsoft was doing any kernel changes we needed. They said an issue arose with our request for this flag that could not be resolved by email or phone. Me and the other guy who were writing x286emul had to fly from LAX to SEATAC, go all the way over to Redmond, to resolve this thing in person.<p>We got to the meeting, and they presented the issue: should controlling the flag be via a new system call, or via a flag on the system call (or ioctl...I never can remember which it was) that is used for some of the other 286 emulation control? We gave out preference on that, and were sent home. How the heck could that not have been handled by email or phone?
评论 #20245617 未加载
wtdataalmost 6 years ago
I do use Wine (and Steam with it&#x27;s various levels of Windows API calling), and I am happy about this.<p>Sure, it will create some issues during the first stages of this migration, but, more than once, I botched my system in the past with the needed i386 libraries (it didn&#x27;t happen lately, can&#x27;t tell if because I finally got my head around it of because they improved the tooling).<p>Still, in the end, we will all have a &quot;cleaner&quot; system. Either because they migrate parts of the Windows calling to 64bit or because they will keep everything neatly in containers, or, probably, due to a mix of both. But it&#x27;s high time we improve the current state of these tools.<p>P.S.: Still trying to get WINASIO to work properly with Wine using one of the latest versions (I am trying to run Ableton in Wine, but the latency is just too high). If anyone has experience doing this, any tips would be apreciated.
评论 #20243023 未加载
Otnixalmost 6 years ago
There are thousands and thousands of applications available for Linux, and even more being developed as you read this. As much as I love Linux and Open Source, sometimes you happen to love a Windows application so much that you wonder if only this was available on Linux I would completely switch
trolliedalmost 6 years ago
I have a sneaking suspicion that Microsoft will release their own Wine-a-like subsystem some time soon.<p>It&#x27;s the missing link, and I can&#x27;t see them ignoring it given how their direction has changed over the last few years.
评论 #20242940 未加载
评论 #20242946 未加载
评论 #20242958 未加载
xvilkaalmost 6 years ago
Well, the best solution would be to fix Wine for 64 bit platforms and applications. And use docker + wine for 32 bits ones.
评论 #20242381 未加载
postitalmost 6 years ago
In the current state of technology, wine doesn’t make sense anymore.<p>20-ish years ago was impossible to have an interchangeable application between two OS, without a huge effort on porting and adaptations trade off. Now we have the web applications running in a handful of different systems. We’re also watching the people theorizing supporting webassembly binaries directly in the kernel. If you don’t want to run a webapp you have virtualization to rescue you.<p>My last straw with Wine was when I bought navicat for Linux and they shipped a wine wrapped windows app. Really, some tech should just retire.
评论 #20243094 未加载