Written by John R. Sheets <jsheets@codeweavers.com>
Modified by Dustin Navea <Speeddymon@sbcglobal.net>
Many people have faced the frustration of owning software that won't run on their computer. With the recent popularity of Linux, this is happening more and more often because of differing operating systems. Your Windows software won't run on Linux, and your Linux software won't run in Windows.
A common solution to this problem is to install both operating systems on the same computer, as a "dual boot" system. If you want to write a document in MS Word, you can boot up in Windows; if you want to run GnuCash, the GNOME financial application, you can shut down your Windows session and reboot into Linux. The problem with this is that you can't do both at the same time. Each time you switch back and forth between MS Word and GnuCash, you have to reboot again. This can get tiresome quickly.
Life would be so much easier if you could run all your applications on the same system, regardless of whether they are written for Windows or for Linux. On Windows, this isn't really possible, yet. [1] However, Wine makes it possible to run native Windows applications alongside native Linux applications on any Unix-like system. You can share desktop space between MS Word and GnuCash, overlapping their windows, iconizing them, and even running them from the same launcher.
Wine is a UNIX implementation of the win32 Windows libraries, written from scratch by hundreds of volunteer developers and released under an Open Source license (think of it as a Windows compatibility layer for Linux and other similar operating systems). Anyone can download and read through the source code, and fix bugs that arise. The Wine community is full of richly talented programmers who have spent thousands of hours of personal time on improving Wine so that it works well with the win32 Application Programming Interface (API), and keeps pace with new developments from Microsoft.
Wine can run Windows applications in two discrete ways: as pre-compiled Windows binaries (your average off-the-shelf program package e.g. available on CD), or as natively compiled X11 (X-Window System) applications (via the part of Wine that's called Winelib). If you're interested in compiling the source code of a Windows program you wrote, then please refer to the Winelib User's Guide instead, which explains this particular topic. This Wine Users Guide however will focus on running standard Windows applications using Wine.
Now that we're done with the boring introductory babble, let us tell you what Wine is able to do/support:
Support for running Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) and DOS programs
Optional use of external vendor DLLs (e.g. original Windows DLLs)
X11-based graphics display (remote display to any X terminal possible), text mode console
Desktop-in-a-box or mixable windows
Pretty advanced DirectX support for games
Good support for sound, alternative input devices
Printing: PostScript interface driver (psdrv) to standard Unix PostScript print services
Modems, serial devices are supported
Winsock TCP/IP networking
ASPI interface (SCSI) support for scanners, CD writers, ...
Unicode support, relatively advanced language support
Wine debugger and configurable trace logging messages
[1] | Technically, if you have two networked computers, one running Windows and the other running Linux, and if you have some sort of X server software running on the Windows system, you can export Linux applications onto the Windows system. A free X server is available at http://xfree86.cygwin.com/. However, this doesn't solve the problem if you only own one computer system. |