                              Wine Documentation                               
Prev                                                                       Next
-------------------------------------------------------------------------------

Chapter 1. Introduction

1.1. What is Wine?

Written by John R. Sheets <jsheets@codeweavers.com>

1.1.1. Windows and Linux

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 the 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. [1] However, Wine makes it possible to run
native Windows applications alongside native Linux applications on a Linux (or
Solaris) system. You can share desktop space between MS Word and GnuCash,
overlapping their windows, iconizing them, and even running them from the same
launcher.

1.1.2. Emulation versus Native Linking

Wine is a UNIX implementation of the win32 libraries, written from scratch by
hundreds of volunteer developers and released under an open source license.
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 Applications Programming Interface (API), and keeps pace with
new developments from Microsoft.

Wine can run applications in two discrete ways: as pre-compiled Windows
binaries, or as natively compiled X11 (X Window System) applications. The
former method uses emulation to connect a Windows application to the Wine
libraries. You can run your Windows application directly with the emulator, by
installing through Wine or by simply copying the Windows executables onto your
Linux system.

The other way to run Windows applications with Wine requires that you have the
source code for the application. Instead of compiling it with native Windows
compilers, you can compile it with a native Linux compiler -- gcc for example
-- and link in the Wine Libraries as you would with any other native UNIX
application. These natively linked applications are referred to as Winelib
applications.

The Wine Users Guide will focus on running precompiled Windows applications
using the Wine emulator. The Winelib Users Guide will cover Winelib
applications.

Notes

[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.                                                                   

-------------------------------------------------------------------------------
Prev                                 Home                                  Next
Wine User Guide                       Up                  Wine Requirements and
                                                                       Features
