| <chapter id="introduction"> | |
| <title>Introduction</title> | |
| <sect1 id="overview"> | |
| <title>Overview / About</title> | |
| <sect2> | |
| <title>Purpose of this document and intended audience</title> | |
| <para> | |
| This document, called the Wine User Guide, is both an easy | |
| installation guide and an extensive reference guide. This guide | |
| is for both the new Wine user and the experienced Wine user, | |
| offering full step-by-step installation and configuration | |
| instructions, as well as featuring extensive reference material | |
| by documenting all configuration features and support areas. | |
| </para> | |
| </sect2> | |
| <sect2> | |
| <title>Further questions and comments</title> | |
| <para> | |
| If, after examining this guide, the FAQ, and other relevant | |
| documentation there is still something you cannot figure out, | |
| we would love to hear from you. The <ulink | |
| url="http://www.winehq.org/site/forums">mailing lists</ulink> | |
| section contains several mailing lists and an IRC channel, all | |
| of which are great places to seek help and offer suggestions. | |
| If you are particularly savvy, and believe that something can be | |
| explained better, you can file a <ulink | |
| url="http://bugs.winehq.org/">bug report</ulink> or <ulink | |
| url="http://www.winehq.org/site/sending_patches">post a | |
| patch</ulink> on Wine's documentation itself. | |
| </para> | |
| </sect2> | |
| <sect2> | |
| <title>Content overview / Steps to take</title> | |
| <para> | |
| In order to be able to use Wine, you must first have a working | |
| installation. This guide will help you to move your system | |
| from an empty, Wineless void to one boasting a fresh, up to | |
| date Wine install. The first step, <link | |
| linkend="getting-wine">Getting Wine</link>, illustrates the | |
| various methods of getting Wine's files onto your computer. | |
| The second step, <link linkend="config-wine-main">Configuring | |
| Wine</link>, shows how to customize a Wine installation depending | |
| on your individual needs. The final step, <link | |
| linkend="running">Running Wine</link>, covers the specific | |
| steps you can take to get a particular application to run | |
| better under Wine, and provides useful links in case you need | |
| further help. | |
| </para> | |
| </sect2> | |
| </sect1> | |
| <sect1 id="what-is-wine"> | |
| <title>What is Wine?</title> | |
| <sect2> | |
| <title>Windows and Linux</title> | |
| <para> | |
| Different software programs are designed for different | |
| operating systems, and most won't work on systems that they | |
| weren't designed for. Windows programs, for example, won't run | |
| in Linux because they contain instructions that the system can't | |
| understand until they're translated by the Windows environment. | |
| Linux programs, likewise, won't run under the Windows operating | |
| system because Windows is unable to interpret all of their | |
| instructions. | |
| </para> | |
| <para> | |
| This situation presents a fundamental problem for anyone who | |
| wants to run software for both Windows and Linux. A common | |
| solution to this problem is to install both operating systems on | |
| the same computer, known as "dual booting." When a Windows | |
| program is needed, the user boots the machine into Windows to | |
| run it; when a Linux program is then needed, the user then | |
| reboots the machine into Linux. This option presents great | |
| difficulty: not only must the user endure the frustration of | |
| frequent rebooting, but programs for both platforms can't be | |
| run simultaneously. Having Windows on a system also creates | |
| an added burden: the software is expensive, requires a separate | |
| disk partition, and is unable to read most filesystem formats, | |
| making the sharing of data between operating systems difficult. | |
| </para> | |
| </sect2> | |
| <sect2> | |
| <title>What is Wine, and how can it help me?</title> | |
| <para> | |
| Wine makes it possible to run Windows programs alongside any | |
| Unix-like operating system, particularly Linux. At its heart, | |
| Wine is an implementation of the Windows Application | |
| Programing Interface (API) library, acting as a bridge between | |
| the Windows program and Linux. Think of Wine as a compatibility | |
| layer, when a Windows program tries to perform a function that | |
| Linux doesn't normally understand, Wine will translate that | |
| program's instruction into one supported by the system. For | |
| example, if a program asks the system to create a Windows | |
| pushbutton or text-edit field, Wine will convert that | |
| instruction into its Linux equivalent in the form of a command | |
| to the window manager using the standard X11 protocol. | |
| </para> | |
| <para> | |
| If you have access to the Windows program's source code, Wine | |
| can also be used to recompile a program into a format that Linux | |
| can understand more easily. Wine is still needed to launch the | |
| program in its recompiled form, however there are many advantages | |
| to compiling a Windows program natively within Linux. For more | |
| information, see the Winelib User Guide. | |
| </para> | |
| </sect2> | |
| <sect2 id="wine-features"> | |
| <title>Wine features</title> | |
| <para> | |
| Throughout the course of its development, Wine has continually | |
| grown in the features it carries and the programs it can run. | |
| A partial list of these features follows: | |
| </para> | |
| <para> | |
| <itemizedlist> | |
| <listitem> | |
| <para> | |
| Support for running Win32 (Win 95/98, NT/2000/XP), Win16 | |
| (Win 3.1) and DOS programs | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Optional use of external vendor DLL files (such as those | |
| included with Windows) | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| X11-based graphics display, allowing remote display to any | |
| X terminal, as well as a text mode console | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Desktop-in-a-box or mixable windows | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| DirectX support for games | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Good support for various sound drivers including OSS and ALSA | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Support for alternative input devices | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Printing: PostScript interface driver (psdrv) to standard | |
| Unix PostScript print services | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Modem, serial device support | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Winsock TCP/IP networking support | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| ASPI interface (SCSI) support for scanners, CD writers, | |
| and other devices | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Advanced unicode and foreign language support | |
| </para> | |
| </listitem> | |
| <listitem> | |
| <para> | |
| Full-featured Wine debugger and configurable trace | |
| logging messages for easier troubleshooting | |
| </para> | |
| </listitem> | |
| </itemizedlist> | |
| </para> | |
| </sect2> | |
| </sect1> | |
| <sect1 id="wine-versions"> | |
| <title>Versions of Wine</title> | |
| <sect2> | |
| <title>Wine from Wine HQ</title> | |
| <para> | |
| Wine is an open source project, and there are accordingly | |
| many different versions of Wine for you to choose from. The | |
| standard version of Wine comes in intermittant releases | |
| (roughly once a month), and can be downloaded over the | |
| internet in both prepackaged binary form and ready to compile | |
| source code form. Alternatively, you can install a development | |
| version of Wine by using the latest available source code on | |
| the CVS server. See the next chapter, <link | |
| linkend="getting-wine">Getting Wine</link>, for further details. | |
| </para> | |
| </sect2> | |
| <sect2> | |
| <title>Other Versions of Wine</title> | |
| <para> | |
| There are a number of programs that are derived from the | |
| standard Wine codebase in some way or another. Some of these | |
| are commercial products from companies that actively contribute | |
| to the Wine project. | |
| </para> | |
| <para> | |
| These products try to stand out or distinguish themselves | |
| from the standard version of Wine by offering greater | |
| compatibility, easier configuration, and commercial support. | |
| If you require such things, it is a good idea to consider | |
| purchasing these products. | |
| </para> | |
| <table><title>Various Wine offerings</title> | |
| <tgroup cols=3 align="left"> | |
| <thead> | |
| <row> | |
| <entry>Product</entry> | |
| <entry>Description</entry> | |
| <entry>Distribution Form</entry> | |
| </row> | |
| </thead> | |
| <tbody> | |
| <row> | |
| <entry> | |
| <ulink | |
| url="http://www.codeweavers.com/products/office">CodeWeavers CrossOver Office</ulink> | |
| </entry> | |
| <entry> | |
| CrossOver Office allows you to install your favorite | |
| Windows productivity applications in Linux, without | |
| needing a Microsoft Operating System license. CrossOver | |
| includes an easy to use, single click interface, which | |
| makes installing a Windows application simple and fast. | |
| </entry> | |
| <entry> | |
| Commercial; 30-day fully-functional demo available. | |
| </entry> | |
| </row> | |
| <row> | |
| <entry> | |
| <ulink | |
| url="http://www.codeweavers.com/products/cxofficeserver">CodeWeavers CrossOver Office Server Edition</ulink> | |
| </entry> | |
| <entry> | |
| CrossOver Office Server Edition allows you to run your | |
| favorite Windows productivity applications in a | |
| distributed thin-client environment under Linux, without | |
| needing Microsoft Operating System licenses for each | |
| client machine. CrossOver Office Server Edition allows you | |
| to satisfy the needs of literally hundreds of concurrent | |
| users, all from a single server. | |
| </entry> | |
| </row> | |
| </tbody> | |
| </tgroup> | |
| </table> | |
| </sect2> | |
| </sect1> | |
| <sect1 id="alternatives"> | |
| <title>Alternatives to Wine you might want to consider</title> | |
| <para> | |
| There are many ways to run software other than through Wine. If | |
| you are considering using Wine to run an application you might | |
| want to think about the viability of these approaches if you | |
| encounter difficulty. | |
| </para> | |
| <sect2> | |
| <title>Native Applications</title> | |
| <para> | |
| Instead of running a particular Windows application with Wine, | |
| one frequently viable alternative is to simply run a different | |
| application. Many Windows applications, particularly more | |
| commonly used ones such as media players, instant messengers, | |
| and filesharing programs have very good open source equivalents. | |
| Furthermore, a sizable number of Windows programs have been | |
| ported to Linux directly, eliminating the need for Wine (or | |
| Windows) entirely. | |
| </para> | |
| </sect2> | |
| <sect2> | |
| <title>Another Operating System</title> | |
| <para> | |
| Probably the most obvious method of getting a Windows | |
| application to run is to simply run it on Windows. However, | |
| security, license cost, backward-compatibility, and machine | |
| efficiency issues can make this a difficult proposition, which | |
| is why Wine is so useful in the first place. | |
| </para> | |
| <para> | |
| Another alternative is to use <ulink | |
| url="http://www.reactos.com">ReactOS</ulink>, which is a fully | |
| open source alternative to Windows. ReactOS shares code | |
| heavily with the Wine project, but rather than running Windows | |
| applications on top of Linux they are instead run on top of the | |
| ReactOS kernel. ReactOS also offers compatibility with Windows | |
| driver files, allowing the use of hardware without functional | |
| Linux drivers. | |
| </para> | |
| </sect2> | |
| <sect2> | |
| <title>Virtual Machines</title> | |
| <para> | |
| Rather than installing an entirely new operating system on your | |
| machine, you can instead run a virtual machine at the software | |
| level and install a different operating system on it. Thus, you | |
| could run a Linux system and at the same time run Windows along | |
| with your application in a virtual machine simultaneously on the | |
| same hardware. Virtual machines allow you to install and run | |
| not only different versions of Windows on the same hardware, but | |
| also other operating systems, including ReactOS. | |
| </para> | |
| <para> | |
| There are several different virtual machine offerings out there, | |
| and some are also able to emulate x86 hardware on different | |
| platforms. The open source <ulink | |
| url="http://bochs.sourceforge.net/">Bochs</ulink> and <ulink | |
| url="http://fabrice.bellard.free.fr/qemu/">QEMU</ulink> can run | |
| both Windows and ReactOS virtually. Other, commercial virtual | |
| machine offerings include <ulink | |
| url="http://www.vmware.com/">VMware</ulink> and Microsoft's | |
| <ulink url="http://www.microsoft.com/windowsxp/virtualpc/">VirtualPC</ulink>. | |
| </para> | |
| <para> | |
| There are significant drawbacks to using virtual machines, | |
| however. Unlike Wine, such programs <emphasis>are</emphasis> | |
| emulators, so there is an inevitable speed decrease which can | |
| be quite substantial. Furthermore, running an application | |
| inside a virtual machine prevents fully integrating the | |
| application within the current environment. You won't, for | |
| example, be able to have windows system tray icons or program | |
| shortcuts sitting alongside your desktop Linux ones, since | |
| instead the Windows applications must reside completely within | |
| the virtual machine. | |
| </para> | |
| </sect2> | |
| </sect1> | |
| </chapter> | |
| <!-- Keep this comment at the end of the file | |
| Local variables: | |
| mode: sgml | |
| sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "") | |
| End: | |
| --> |