Wine Developers Concerned with Ubuntu Dropping 32-Bit Support
linuxuprising.com
linuxuprising.com
Wine's official Ubuntu packages currently rely on the OS to provide these userspace libraries. They would "only" need to change to also build and ship the rest of the libraries, instead of relying on the OS to provide them. Meanwhile on macOS, you can't even run 32-bit binaries, working around that is a much, much larger task.
Also, Wine is not that kind of emulator. It provides windows-compatibile libraries but does not do CPU emulation so there's no real significant performance hit. [0]
Wine stands for "Wine Is Not an Emulator". It's a compatibility layer.
Obviously it adds extra context switches and will reduce performance, but if you're running ancient legacy 32 bit code, you can probably afford that.
32/64 bit bridges are really critical when you rely on abandonware, like in media production. I know the classic response is "don't use abandonware" but a lot of that stuff is the equivalent of vintage amplifiers/effects - it has a particular sound to it that doesn't have an equivalent.
Really, this is an incredibly stupid move that has a high likelihood of killing Linux gaming on Ubuntu.
I've been wondering what the solution would be after Catilina dropped 32 bit support and I guess the answer is I'll probably have to start launching an entire VM.
You wanted an example, so I'll provide one: I have an ancient version of MathCAD (from 1994 or so) that I still fire up once or twice a year for some computer algebra tasks. Could I upgrade or switch to another application? Sure, but why bother when what I have does the job? (I've even got a 'modern' version of Mathematica but prefer the MathCAD UI from the 1990s... ah, progress!)
The history of the "wine is not an emulator" thing is interesting, since the name originally in fact meant "WINdows Emulator".
As far as I have been able to dig up, the first suggestion to change the meaning to "Wine Is Not an Emulator" came up on Usenet in 1993 [1], when there was some concern that "Windows Emulator" might run into trademark problems.
Bob Amstadt responded to that [2] telling how the name "wine" came about:
> My orignal line of thinking was "winemu", but I didn't like that. Then I thought of shortening it to "wine". This led me to think of "whine" and "whinny". I liked "whine", but felt that it was too long.
As far as I have been able to tell, nothing further came of the "not an emulator" suggestion at that time. Sometime over the next four years, it did become an alternative meaning of the name, but I'm not sure exactly when or why. From the FAQ in late 1997 [3]
> 1.2: Why call it 'Wine'?
> The word Wine stands for one of two things: WINdows Emulator, or Wine Is Not an Emulator. Both are right. Use whichever one you like best.
They didn't stop calling it an emulator until the end of 1998. The release notes for 981108 [4] described at thusly:
> This is release 981108 of Wine, the MS Windows emulator
The release notes for 981211 said [5]:
> This is release 981211 of Wine, a free implementation of Windows on Unix
I've not been able to find for sure why they stopped calling it an emulator, but it looks like there were two things. I don't have cites for these because I didn't save links. I apparently though they were somewhere I'd be able to easily find again, and was evidently wrong.
One of the reasons is that Wine can be used for more than just taking a Windows binary and running it on Unix. It could also be linked with native Unix code to make it easier to produce native Unix ports of Windows programs.
The other reason is that computers were getting fast enough that emulators of older hardware were starting to get useful enough for people to be aware of them, but were slow. Most users of Macs and DOS or Windows PCs only ever heard of emulation in that context. Tell them that they can run Unix and keep using their old Windows programs via the "WINdows Emulator" on Unix, and they were going to think that would be very slow.
It was a lot easier to simply stop calling Wine an emulator than try to explain to people that it was just emulators that had to emulate a CPU that were inherently slow at that time, and that since Wine just has to emulate Windows interfaces, which for most programs most of the time will map in a fairly straightforward way to Unix interfaces, it is very low overhead.
[1] https://groups.google.com/forum/#!original/comp.os.linux.mis...
[2] https://groups.google.com/forum/#!original/comp.os.linux.mis...
[3] https://groups.google.com/forum/#!msg/comp.emulators.ms-wind...
[4] https://groups.google.com/forum/#!msg/comp.emulators.ms-wind...
[5] https://groups.google.com/forum/#!msg/comp.emulators.ms-wind...
e.g. https://www.tomshardware.com/news/apple-mac-arm-cpus-2020-in...
...or Virtualbox.
It's also worth considering the context, WINE (WINE Is Not an Emulator) provides an abstraction layer that doesn't require the overhead of an emulation layer.
DOSbox is similar. (EDIT: apparently it's not, and is actually an emulator. TIL.)
There was another post on here a few months back about someone getting Win16 apps working on modern 64-bit Windows machines:
https://hackernoon.com/win3mu-part-1-why-im-writing-a-16-bit...
Probably those ones
I would be curious if others had any insight(anecdotal or otherwise) about Wine usage these days.
Examples: Rust, Rainbow Six Siege, DayZ. All the games using BattlEye can be banned.
On the other hand LoL handles GPU passthrough well.
However, once I learned of the wine interface that is available on flathub (for flatpak) I immediately removed wine and its 32 bit components from my system- now that untidyness is neatly contained within flatpak dependencies.
Correct me if I'm wrong, but doesn't flatpak'd wine solve this issue?
I was sure that was a placeholder for you to avoid naming the program until one of the other replies to this comment seemed to confirm that it was in fact an actual name of a program.
No, the overhead of a VM is way too much for a single application. This is actually a disaster in the making.
I've always thought that Wine is just a compatibility layer for games and entertainment because actual professional software can't run on it without crashing every 30 minutes.
Imagine you spend a career training on something and random people just tell you to do something else.
If you limiting yourself to a single tool and refusing to learn anything else you are doing yourself a disservice.
Sure, and on the contrary I've added Procreate on an iPad as my new illustration workflow because it absolutely kills vs. my old Photoshop/Wacom technique.
This isn't a "I'm not willing to try new tools/invest time into learning because I'm comfortable" thing... it's a GIMP/Inkscape are not capable thing.
Broken tools cost my client money.
Yes I've tried those alternative solutions and they don't have the same sort of polish and workflow as everything else. Find me ONE professional graphics designer who works 100% in GIMP and Inkscape - they just don't have the same feature set. If you do find people using GIMP and Inkscape in the professional world they almost always use them in conjunction with Adobe tools.
I have a specific list of needed features that do not have parity. "Doing something else" isn't an option when you don't have the tools to do your job/can't deliver for the customer because the software can't support what the printer needs...
In all reality I'm constantly adding new capability to my gfx workflow via software/hardware. I've switched completely over to Procreate on an iPad to do illustration. "Doing something else" is something I'm willing to do if it has value.
GIMP and Inkscape provide zero value to me - they're 100% neutered solutions/"toys" in the professional world. Open source folks (as much as I am one myself) want to think that there's a 1:1 tool for every piece of pro-level software out there and it's simply not the case =|
My partner does, as do a number of studios and collectives I know in Rotterdam, Brussels, Paris and Porto. They use of course way more tools than Gimp and Inkscape, but work on Linux and exclusively with Free and Open Source software.
For them I feel it’s both about the philosophy, the challenge, and discovering new ways of working. Trying to reproduce an Adobe way of working will always feel lacking. Yet working in a free software ecosystem will make you also discover new tools (Latex, Graphviz etc.) and new ways of working (a lot of people are experimenting with doing print layout with HTML for example).
Of course sometimes it is painful--preparing for print production and especially spot colours without Adobe Acrobat is difficult and requires a a collaborative process with your printer. But it also comes with the thrill of trying a different creative model and the exchange with a small but thriving community of people who are excited about these things.
EDIT: This is not to say that it would be a viable approach for everyone. It’s just to say that such designers do exist, and to try to make their motivations more clear!
Sure - somewhere they exist. But I have yet to run into one in my career. Real question: are they doing paid production work?
I just simply cannot fathom passing off the cost of using buggy/incomplete tooling to my customer so I'm curious if it's people just producing for the open source community using open source tools?
Not trying to rip on your statement, but that's the only reason I can fathom using these tools in any professional context.
Edit: HN's really gone downhill. I thought we didn't downvote with feelings around here? All I did was point out that it's a legitimate question for people who don't have much experience with Photoshop, GIMP, etc.
Sincerely, Person who has spent ~2-3x as much time in The Gimp as in Photoshop, and first learned image editing on Paint Shop Pro, not Photoshop, but would still choose PS if you told me to edit some images and my life depended on it, especially if I also couldn't use Google to look up how to do basic freakin' things.
Similarly GIMP has a lot of oddities that Adobe would have found unacceptable in Photoshop versions released 25 years ago. You can do real work in GIMP, but the polish just isn't there.
If you're suggesting GIMP and Inkscape to someone coming from a pro-level career/background it shows complete ignorance on the topic.
Lots of the time I see this sort of brazen opensource can replace anything/everything attitude - it's simply not true + very idealist. It's likely a ton of pros who use graphics software are coming through and expressing similar thoughts through the downvote button... which in some ways is a "don't take this seriously" button.
Anywho - I agree that the parent comment shouldn't be downvoted, it's a legitimate question to ask if you have no experience in graphics.
I use Inkscape and Gimp at work, very tiny minor part of a small part of my workflow.
Today Inkscape was crashing when I tried to rotate a spline with six nodes in an otherwise empty workspace.
I’m probably going to buy a commercial vector graphics app even though my employer won’t pay for it because that sort of bug is a show stopper right when I need the program most.
Yep - similar experience with Inkscape. I mean - yeah it's fun and it's pretty capable but it's just really not capable of real work. It's a toy/open source "entry-level" piece of software.
Now imagine someone who needs to crank out 40 unique pieces of vector art within 4-5 days. There's NO WAY they can AFFORD to use Inkscape with those sort of stability issues.
You might as well ask: why not use hobbyist tools with a subset of the features and a tiny fraction of development time and UX work, that basically nobody else in your industry uses?
In a professional setting you can't even think about replacing the established tools with the open source equivalents in the majority of scenarios.
Welcome to HN though - it's filled with really really smart people who want to be right about everything. If I'm being honest I'm one of them too ;)
Cheers!
I can't point you to an exact tutorial. I usually just google "[name of game] wine ubuntu how to" or occasionally "[name of game] [problem I'm experiencing] wine ubuntu" :) I suppose you could follow the same procedure to install arbitrary software.
I know, I know, there are plenty of Linux native IRC clients. In fact, mIRC has been quite stagnant lately. But to me, its UI is still unsurpassed (20 years of muscle memory also help), and it has less latency than alternatives (even with Wine).
Another proof that you never know how people will use your software.
Reminds me of this XKCD: https://xkcd.com/1172/
mIRC is the first client I ever used and I tried other ones (XChat, BitchX since running irc in a terminal sounded appealing, Konversation) and they just felt wrong so I stuck with mIRC.
It's been running perfectly in WINE since the late '90s.
With the advent of WSL on Windows and my professional need to use both Linux and Windows, I don't have a lot of reasons to use Wine anymore, or desktop Linux for that matter. Windows + WSL is good enough, and better than the other way around of Linux + Wine or a VM. I fear Wine will become more and more irrelevant as time passes. Killing 32bit support doesn't help them any.
For home and companies that don't architect themselves around specific workstation OS, Linux all the way. I personally rarely use Wine, if ever, but had to use it for my kids requiring software that was available on Windows only.
A full discussion of FG or a comparison vs the browser-based competitor Roll20 would be off-topic, but the company behind FG officially supports Windows, Mac, and Linux.
Their app is a Windows app on all platforms. For Linux, they test and document Wine, and I can confirm firsthand that it works.
For Mac, I think Wine is involved too, but although they do have documentation about that case, I think most of FG's Mac users (and many of their Windows users) install it via Steam without having to care about Wine. They don't have a version packaged through Steam for Linux.
This example may go away in 2019 or in an upcoming year: they're working on a rewrite to be based on Unity. But this isn't a case where they can just use Unity for the next game in a series. They have a long-standing product with a lot of features and users that shouldn't be broken in the transition, and a small staff that has other priorities alongside the rewrite. The product just happens to be a tool for gaming. So the rewrite has understandably been a slow years-long background effort.
Year by year I've been trying Wine again and again. As of today, it's still almost there. So, maybe in 2030? By now, I'll stay using Windows.
For years, I've been reluctant to use Wine wrappers like PlayOnLinux, for no reason other than I don't like wrappers. I always ended up getting everything working with bare Wine, but at the cost of long hours (sometimes even days) of experiments.
I've started using Lutris a few months ago (I gave up on getting Wine and DXVK play well together) and, well, that's a life changing experience so far: everything works out of the box. I has taken all the fun out of Wine configuration for me ;)
For games that aren't available in Steam, Proton is of little help AFAIK, and that's where Lutris shines.
Also, some people like having all their games in a single place, in which case Lutris may be a solution too, even for Steam games. As my “single place for games” is my shell, I usually skip Lutris and Steam GUIs to start games directly anyway, so…
That's why I still have an XP partition
As of present day I am a happy Linux and Wine user and don't plan on switching to anything else.
And no, I won't run Windows in a VM as I refuse to pay the “Windows tax”.
(Also for games, I still rely a lot on Wine — even if mostly hidden behind Lutris these days.)
https://developer.microsoft.com/en-us/microsoft-edge/tools/v...
You may use the software for testing purposes only. You may not use the software for commercial purposes. You may not use the software in a live operating environment.
[1] - https://az792536.vo.msecnd.net/vms/release_notes_license_ter...
Does this kind of stuff work in Wine for you? I generally need to use a VM, because if it needs to talk to another device drivers are involved.
Running in a VM requires an additional Windows license. I'm not even sure if you're allowed to use an OEM license for a VM, or if you need proper retail or even one of those "VDA licenses". It's precisely this kind of stuff why I still use Wine.
Of I understand correctly, and I might not, you either need an Enterprise license or a VDA subscription and you need the user PC that will access the VM to also have its own desktop (pro or enterprise) license if you aren't using a VDA subscription x (that it, it is a license precondition for the VM license that the PC has its own license in addition to any licenses for VMs.) Windows desktop VM licensing seems to be oriented around corporate VDI setups, not desktop-on-desktop local VM use.
It's very valuable to me for this use case, and AFAIK, there is no viable alternative on Linux (other than cracking the epub DRM, which I really don't want to do and risk giving publishers an argument against public libraries.)
https://community.teamviewer.com/t5/Community-Blog/The-Wait-...
Not really nowadays. The seamless mode tends to be broken so hard with Windows 10 guest in Virtualbox, and VMWare's seamless mode (Unity mode) on a Linux host is dropped a few years ago.
Most importantly, I don't want to run a full Windows VM in my low-powered laptop just to use KakaoTalk, the dominant messenger app in Korea.
Yesterday, I urgently needed to run a piece of software on one of my systems. I had two versions of that software on hand: One for linux and one for windows.
The linux version flat-out refused to run. In my desperation, I installed wine and (to my surprise and the surprise of my coworkers) the windows version ran flawlessly.
Granted, the specifics surrounding my situation was far from typical, but I wouldn't be surprised that the majority of wine usage is also atypical in one way or another. Measuring wine's relevance by your own (or my own) use cases will likely only lead to inaccurate conclusions.
I just don't buy/play games that don't have a Linux version, as a VM was historically (maybe still?) too much hassle in terms of getting GPU to work, etc.
WINE needs kernel and userland support for running 32-bit x86 code unless it adds an emulator, because WINE actually loads the Windows executable's binary code into the current process (I assume exec() is a good comparison?) together with OS shared libraries. Maybe relevant for understanding this: https://wiki.winehq.org/Wine_Developer%27s_Guide/Kernel_modu...
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'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.
That, and it's also almost impossible to run Windows 8 or 10 with a HDD drive, even for basic stuff like internet browsing, etc.
SSD is basically required now.
Sad, because Linux is still pretty fast with HDD for basic usage.
I like Windows but I don't like the way it's heading. A perpetual XP/7 would be great.
Why have windows apps accessing your 32 bit libraries in /usr (which only the Windows apps need at this point) and instead just a flatpak library of sandboxed 32 libraries?
My steam install is already flatpaked, I'd be much happier if the community just moved this way -
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.
Those news indeed are concerning, specially because a lot of "bureacracy" 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...)
They are both fairly similar internally. I have been a long term Debian user(decades), and I never feel out of place working with Ubuntu. That is not always the case when I'm working with Red Hat or Arch or some other distributions. Debian probably requires a bit more fiddling and a bit more general Linux and computing knowledge, but if you have been using Linux for a bit, I think you would be just fine.
Yes. Any volunteers? :)
* I know this isn’t a trivial “just” but it seems like a plausibly achievable approach to me
A Rosetta-like approach won't work on Ubuntu 19.10 as there will be no 32-bit packages, hence no libraries/frameworks in the appropriate architecture for the Rosetta-like layer to call into.
By comparison there's DosEMU, DosBox and others for DOS, but Windows/Wine is a much larger surface. I can only hope there's enough community to create effectively a "virtual distro base" that's 32-bit so that said apps can continue to run.
Should be fairly similar to the effort on windows for WSL2 ... Would be interesting to see MS take a similar approach for DOS/Win32 support. Given the changes in MS, would actually be VERY 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.
Either that or someone's going to have to rebuild WOW64 on top of wine? I guess that could happen.
I really don't want to lose that!
Regardless, I can think of a couple ways around this:
- 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)
- Ship Wine in a snap or AppImage or flatpak or what have you with the relevant 32-bit (and 64-bit) libraries
[1]: https://doc.opensuse.org/documentation/leap/reference/html/b...
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 '80s at ISC. We were doing the 386 port of System V Release 3 under contract from AT&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].
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.
386 Unix was using a simple paging memory model. The 386 still used the selector/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 "small model" (one code segment, one data/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/offset system.
We had to add a system call (or maybe it was a new command added to an existing ioctl...I don'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's data and stack.
That let i286emul load a 16-bit program into i286emul's address space, get the selectors set up, and then it could load the selectors and jump into the 16-bit program.
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'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).
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't remember if that was as simple as installing a signal handler for the fault, or if we needed some kernel help.
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.
Later, when AT&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.
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:
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/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?
2. We greatly benefited on i286emul/x286emul by the very different memory models of the two systems. I'd expect 32-bit Windows and 64-bit Unix to have very similar models which could be a problem...but I'd expect 32-bit Windows and 32-bit Linux to be even closer, and Wine dealt with that, so I'm not sure 32-bit/64-bit would add much difficulty.
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.
[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&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&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.
[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.
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?
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't happen lately, can't tell if because I finally got my head around it of because they improved the tooling).
Still, in the end, we will all have a "cleaner" 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's high time we improve the current state of these tools.
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.
You can also try Bitwig, it has native Ubuntu support and most feature parity with Ableton.
I also tried Bitwig and it's great, but I use a Push I. That creates an issue (Bitwig support for Push fails in 2 major points: note repeat, and delete functionality... and they keep making changes without adding something as simple as that to the devices API).
I'm sure they consider crashes on Linux real bugs, so hopefully it's just a few more years of work to have a rock solid DAW on Linux. Super excited about the future of Bitwig.
It's the missing link, and I can't see them ignoring it given how their direction has changed over the last few years.
It makes sense for every business unit except Windows to make it easier to run their software on Linux/MacOS (for desktop software, more the latter, for server software, more the former.) A common shim that lets you so that with the same codebase rather than maintaining separate Linux and MacOS versions or porting the whole existsling software to a cross-platform base rather than a Windows base makes some sense.
Of course it doesn't make sense for the Windows unit to promote Linux, but Windows isn't all of Microsoft.
WSL v2 is an actual linux kernel. They're moving in the opposite direction.
Unless you mean building a 32bit emulation layer into Wine itself.
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.
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.
Second, while I definitely support the push to web technology, I'd still rather have something on Linux or Mac than nothing, and often times Wine is the only realistic way of doing that. I agree it's a little annoying when you buy a "Linux" app, and it's just a wine wrapper, but at the same time, at least it's officially supported and works. I didn't get upset with SEGA when I bought the Sega Genesis collection and it used emulation instead of native ports.