Fun With Wine
taviso writes "Ever wondered what would happen if you could compile and run cygwin under wine ? What about compiling wine under cygwin ? well these guys have, and are planning to nest the two environments as many times as possible to see if wine can take the strain, and not without good reason: 'Having such virtualization environments run within each other is an important milestone in the lives of these projects, it is a remarkable technical feat that requires a great deal of maturity'. "
What's this, cygwine?
So I can nest to infinite levels cygwin and the free version of Wine, giving me access to the Linux commands I already have in Linux, only now I have them available to me n+1 times at progressively "deeper" levels. I can dig arbitrarily deep in nested environments and run 'ls'. Huzzah!
But I still cannot run MS Office or Internet Explorer or most games in Wine. D'oh!
STOP . AMERICA . NOW
Imagine parents checking the browser history and discovering their 14-years-old read a page called "Fun With Wine".
Wine has come light-years since I first used it, years and years ago... yet every time I try to use it to run some arbitrary WinThing, inevitably I can't figure out how to make it work, or I try feeding it every DLL/etc. it needs, and then it segfaults. Or just doesn't work.
I read these stories of people doing absolutely astonishing things using WINE, but what the rest of us (who only have a need to touch WINE when there is something that they Must Have that isn't available for Linux-- in my case, it was the FightAIDS@Home distributed-computing client) really need is a good, central repository of "How to get Program X to work under WINE" mini-tutorials.
Anyone here work on WineHQ and can comment on this?
Honey, I shrunk the Cygwin
'Having such virtualization environments run within each other is an important milestone in the lives of these projects, it is a remarkable technical feat that requires a great deal of maturity'.
No, it's a party trick. Milestones include running actual applications that matter and getting large numnbers of users to use the emulators as a bridge from one OS to anther.
FWIF, Since 1995-1996 or so I've had linux people telling me about how wine is close to obsoleting my windows systems. Hence, my skepticism. These emulators always seem to be amazing technical accomplishments, yes, but like Soviet televisions made of vaccuum tubes for sale at Best Buy, not ready for prime time by anybody but tinkerers. The problem is exacerbated by the fact that they are chasing a moving target..
Compile & run Cygwin under Wine in Linux
This provides an a good test case for Wine. It is tough, but we do have the Cygwin source code, and we have a good chance to understand why it does not work.
So they have a good chance of understanding why it doesn't work?
Forgive me if I don't find that *overly* impressive :-)
Microsoft can snap it any time. All they need to do, is to change thier APIs and making them incompatible.
Uhh... perhaps you've been living under a rock for the last two years? They did change all of their APIs to make WINE obsolete. Here are the new ones: http://www.microsoft.com/net/
Slashdot is jumping the shark. I'm just driving the boat.
these guys have some skills. I know it's probably just because I don't know how, but I can't even get X to work with cygwin, or anyting other than solitaire to work in wine.
This reminds me of the time when I sshed to one machine, then telneted back to the machine I was on, and kept on telneting and sshing to as many machines as I could to see what would happen. Th results weren't as exciting but it was still fun.
The GeekNights podcast is going strong. Listen!
To break Wine, they need to break backwards compatibility. Their existing MASSIVE market of users and companies that use old programs on new Windows will prevent them from ever doing this like you say.
"I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
Run VTI (A TI calculator emulator) under Wine. Then in VTI, run Tezxas (A ZX Spectrum emulator)
I have serious doubts about the future of wine. The wine project may have achieved many milestones, but Microsoft can snap it any time. All they need to do, is to change thier APIs and making them incompatible. And if it makes bussiness sense, believe me, they will.
They already have in a way. Wine is still working on the Win9x API, so software that needs the newer Win2k or XP interfaces won't run. This may not be a big deal yet, but MS already announced (sorry, I don't have the link handy) that Office 11 will *not* run on Win9x, it will be 2k or XP only.
Wine as a platform for running old apps will live on, but wine as a viable alternative to buying windows is stuffed, IMHO.
0 1 - just my two bits
from cygwin.com:
.dll.
Cygwin is a UNIX environment, developed by Red Hat, for Windows. It consists of two parts:
# A DLL (cygwin1.dll) which acts as a UNIX emulation layer providing substantial UNIX API functionality.
# A collection of tools, ported from UNIX, which provide UNIX/Linux look and feel.
Basically it lets you compile unix programs on windows and run them with the cygwin
Blessed are the pessimists, for they have made backups.
I had the same problem, sometime I would manage to get something running, mostly not.
Now the standard (unstable) debian install comes with winesetup, which sets up a nice working wine installation (works a bit better of you have windows installed)
Try to install winesetup (a contribution from codeweavers)...
So, is my attempt to use my /. journal as a weblog kinda the same thing? I wonder if someone could use the comment section in one of my entries as a mini-/. ? Then someone could use the comments to that for a weblog and...
I gotta stop now. My head hurts.
Jack William Bell
- -
Are you an SF Fan? Are you a Tru-Fan?
Windows -> VMWare -> Linux -> Wine -> Cygwin -> Wine.
And finally, a stable, enterprise-ready solution for running my Windows applications.
One future, two choices. Oppose them or let them destroy us.
Actually the WineHQ site is being redesigned at the moment (I'm not a major contributor but am on the lists).
The best tip for using wine is simply - buy it. WineHQ wine hasn't had much effort put into end user usability, it's much like the raw Linux kernel, it needs wrapping up with lots of utilities and quite a few "hack patches" for it to do everything the users demand. I have 2 installations of Wine on my machine, CrossOver and Wine CVS. Guess which works better.
Often, a few little things can make a program work better if it doesn't work properly with a standard CodeWeavers install. For instance: WinZip works fine until you open a zip with a message in it. Why? Because it's missing a RichEdit control (wine has no replacement for it yet). You could fiddle with config files and make it use a native riched40.dll, but an easier way is to google for it, find allerasoft.com and download it from there. Run the RichEdit update .exe in Wine, and now you have the control and WinZip works perfectly.
The Apps DB is the best place to look for tips like this, each app that is known about in the database has a score and a comments section for users to swap tips.
How about installing Linux on an XBox, running Bochs on it, installing Linux onto the Bochs machine, running Virtual PC under Wine, installing Windows 98 on Virtual PC, running WinUae on it, installing Linux onto the emulated Amiga, running Bochs on the emulated Amiga...
OR you could go out and have sex with a woman, one with breasts and everything.
>but when would something like this be necessary
>or applicable in the real world (ie >repetitively nesting cygwin and wine)?.
If you have to ask, you are missing the point.
This kind of virtualisation stress test is interesting, but largely academic. I'm still waiting for the day when it is less hassle to load the (very few) windows applications I need under wine than it is to reboot my workstation to deal with those tasks under windows. Screwing around with wine to get it to load even small windows applications is one of the most frustrating things I can think of in association with *nix systems. I hear good things about the transgaming stuff, but it obviously hasn't made it back into the main branch of the wine tree. The promise of wine has been hanging out there for a lot of years now; I'm just wondering if perhaps they're trying to build a glass house on quicksand.
...finally something (other than Doom 3) that gives us a use for the 3 GHz P4.
http://www.frankscorner.org/wine/ is an incredible resource. Check it for info on how to run all of those hard-to-make-work programs. He even shows how to get WineX working for free :-)
yes and no, wine provides low-level binary compatibility, not hardware emulation, so its only for OSes running on x86 chips.
winelib, however, is aiming for cross-platform compatability, so its possible you can compile windows software and link it with winelib for use on osx.
ex$$
I was interested in your FightAIDS@Home cause, and looked up their website, but was really turned off by this excerpt of their webpage:
What exactly is included in "commercial tasks." It seems to me that if I'm donating *my* spare computer cycles, and *my* electricity, you shouldn't take advantage of that by profiting from it. Oh well...
The first one is that Wine is hard to make work. Well, it's like Linux you know, if you go get a release from WineHQ it's like getting Debian or Gentoo, great for power users but it requires quite a lot of effort to make it work well. It's all there though, you can sit down and beat WineHQ releases into running Office or IE. It just takes effort and skill.
For the rest of us, companies like CodeWeavers are for Wine what RedHat is for Linux. They add bits, integrate it nicely, give you support. As a concrete example of what they add, they have a nice app (officesetup) which presents you with a list of apps that are installed a la "Add/Remove programs". If you use this program to install an app as opposed to running the setup.exe directly, icons will be added to your menus and desktop, and file associations will be automatically setup for you. Wine doesn't have this (yet).
Another thing is that WineHQ has no code for automatically performing a "reboot". Stuff like IE needs some actions to be performed when you reboot the machine (the RunOnce sections). WineHQ releases don't have any code for this, so you'd have to manually read the registry entries and files and do it yourself, hence the fact that most people fail.
WineHQ will get this code. One of the targets for Wine 1.0 is that it's easy to use. For now though, you need to buy CrossOver Office for the best overall Wine experience. It's unfortunate that you have to buy a separate product for games, but that's one of the perils of BSD licensing, it allows forks like that (fyi wine is now lgpl).
Another myth is that wine can never catch up with Microsoft. That actually isn't true, if anything we're moving as fast as, if not faster than Microsoft right now. There are a few large projects left and then Wine basically has a mostly complete implementation of the Windows APIs. Such projects include a richedit control (effectively a mini word processor), RPC (being worked on now), DirectX (an lgpl implementation, parts are available but d3d is only like 10% done), a WinHelp app and so on. After that, it's pure bugfixing all the way.
So what are Microsoft doing? Well they're working on .NET of course, the Windows APIs are horrible and .NET is a way of making them easier to use. But we have that covered as well with Mono, in fact for System.Windows.Forms Mono is using the Wine controls library. Mono is moving at an astonishing pace, it has lots of volunteers working on it. But it needs more developers as always (wine that is), and one problem is that getting Wine working well enough to hack on it is hard. Catch 22 in a way. Don't be put off though. Wine is cool, and remarkably advanced.
As Max Planck once said: basic research is when I don't know what I'm doing.
-- Waht? Tehr's a preveiw buottn?
But things like this typically follow a scale:
1) does it work period? (i.e. can cygwin run under wine - 1 nesting)
2) does it work in the small-number case (i.e. 2-5 nestings, or thereabout)
3) does it work in the extreme case? (i.e. 10^(2-5) nestings) - which means that most inefficiency bugs are flushed out and the design scales well
Just about every system can fit into one of these categories - but only the most robust fit into #3. Example: Linux threading. Right now it passes 1 (you can multithread), passes 2 (having a number of threads/process under ~100 doesn't really change performance), but fails 3 (the 2.5 kernel developers are working on that one right now - but ~10,000 kernel threads will bring the system to its knees).
A witty [sig] proves nothing. --Voltaire
I'm sorry if I am taken as trolling here, but the last part of your comment irritated me immeasurably. Yes, I believe that free beer things are good. Very good. Back when I used Windows, I pirated things that I was never going to use just to have them. I'll admit I was horrible. However, projects like WineX and Codeweaver need your support. Buy subscriptions and let these people know how much you appreciate their hard work. It's only going to go so far if you just take advantage of it without helping them fund some of the development.
The LINE Project also falls into this ubercool camp. (Is Sourceforge down? Here's the cached version). It allows you to run staticly (statically?) linked Linux applications under Windows/Cygwin - including advanced X11 applications. I've tried it and it actually works surprisingly well. The problem is that LINE emulator is not actively maintained any longer and it broke with the recent Cygwin DLL and/or the upgrade to the recent GCC 3.2.x compiler for Cygwin. When I get a chance I'm going to take a look at it to see if there's an easy fix. If anyone here has a clue as to what the problem might be, please reply to this post. thanks.
Ehm, Crossover developers actually support the license switch to LGPL.. it's Transgaming folks that have problems with it and encourage dual-licensing, because some of their changes involve propietary bits that cannot be revealed.
Nothing stopping anyone from putting a propietary pay-only interface on top of an LGPL product.
Michel
Fedora Project Contribut
If you read the fucking page, it says "Hit Enter when prompted for a password."
It's hard to be religious when certain people are never incinerated by bolts of lightning.
It used to be. When Wine began, it was basically a loader for the libraries that came with Windows to handle the Windows API calls. Now, Wine handles those Windows API calls itself so having a Windows partition around is not necessary.
That said, if you can't install a program under Wine does not mean that the program itself is incompatable with Wine. Having Windows around to install a program for Wine to use later can be useful.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
> And Mozilla isn't slow.
Mozilla isn't slow, but it has a higher memory footprint than some
other browsers (Opera, for example) and a higher _apparent_ memory
footprint than IE, from the user's perspective (because the parts
of IE that are loaded at bootup time won't be considered as parts
of IE by most users). This means that on systems with marginal
amounts of RAM, Mozilla is more likely to push you over the edge of
your memory into swap, which of course is _noticeably_ slower. This
is the phenomenon most often meant when people say Mozilla is slow.
In my case, I've got 512MB of RAM, and after the OS (Linux) and GUI
(XFree/Gnome) take their hits the five apps I use most (Emacs, Gnus,
Mozilla, Gimp, and gnome-terminal) are welcome to most of the rest.
Once a day or so when I fire up something else large (OpenOffice,
for example) too, I dip into swap space, but most of the time that's
not a problem. But I'm a power user, and I specifically maxed out
the RAM on my system so that I could have [counts] fourteen windows
open at once (at the moment, 3 Emacsen, the 4 basic Gimp windows
(no actual images just now), one Mozilla (9 tabs), and 6 instances
of gnome-terminal (in 4 different terminal classes) for various
things (one for a MySQL client, two looking at directories where
I'm doing two different projects, one tailing a log (related to one
of the projects), and two sshed into another system). That's not
normal user stuff; most people _don't_ go out and spend extra money
on extra RAM, because they _don't_ need to have 14 windows open at
once. So for them, if the computer is anything like as old as mine
(January 1998 originally, though I haven't had 512MB of RAM that
long), Mozilla is indeed going to be "slow".
This is however not a _performance_ issue (from the programmer's
standpoint), but a footprint issue, and it will be fading in
importance, as new computers are coming with more hefty amounts of
RAM these days. (128MB is _way_ more than Mozilla needs, and
that's the least a normal system comes with these days.) Yes,
apps will continue to grab more of that, but since most users
only really run one app at a time... so app developers don't
have to _stop_ the growth in the amount of RAM they use, as long
as the keep it substantially _slower_ than the growth in the amount
of RAM that new computers have. By Netscape 8 timeframe nobody's
going to _care_ that it uses 48MB of RAM or more. The people who
_do_ run multiple apps at once (such as myself) can pick up a
little extra RAM; it's cheap these days. By the time Netscape 9
comes out, it can probably get away with using 64MB or more, since
three-year-old off-the-shelf systems (being sold today) will have
128 to work with en total, and new systems will be selling with
more like 512 or more. (Of course that number is guesstimated.)
Code optimization from the compiler doesn't really matter; it's
keeping it from swapping that will save your day in terms of
apparent performance. The difference between well-optimized code
and poorly-optimized code, in terms of CPU time, is subliminal;
most people need benchmarks to even determine whether there _is_
a difference. But if you run out of physical RAM and start using
swap space, the user can measure the delay with something no more
precise than an analog watch.
Cut that out, or I will ship you to Norilsk in a box.