John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 1 | <chapter id="introduction"> |
| 2 | <title>Introduction</title> |
| 3 | |
| 4 | <sect1 id="what-is-wine"> |
| 5 | <title>What is Wine?</title> |
| 6 | |
| 7 | <para> |
| 8 | Written by &name-john-sheets; <email>&email-john-sheets;</email> |
| 9 | </para> |
| 10 | |
| 11 | <sect2> |
| 12 | <title>Windows and Linux</title> |
| 13 | <!-- general description of wine, what does it do? --> |
| 14 | <para> |
| 15 | Many people have faced the frustration of owning software that |
| 16 | won't run on their computer. With the recent popularity of |
| 17 | Linux, this is happening more and more often because of |
| 18 | differing operating systems. Your Windows software won't run |
| 19 | on Linux, and your Linux software won't run in Windows. |
| 20 | </para> |
| 21 | <para> |
| 22 | A common solution to this problem is to install both operating |
| 23 | systems on the same computer, as a <quote>dual boot</quote> |
| 24 | system. If you want to write a document in MS Word, you can |
| 25 | boot up in Windows; if you want to run the GnuCash, the GNOME |
| 26 | financial application, you can shut down your Windows session |
| 27 | and reboot into Linux. The problem with this is that you |
| 28 | can't do both at the same time. Each time you switch back and |
| 29 | forth between MS Word and GnuCash, you have to reboot again. |
| 30 | This can get tiresome quickly. |
| 31 | </para> |
| 32 | <para> |
| 33 | Life would be so much easier if you could run all your |
| 34 | applications on the same system, regardless of whether they |
| 35 | are written for Windows or for Linux. On Windows, this isn't |
| 36 | really possible. |
| 37 | <footnote> |
| 38 | <para> |
| 39 | Technically, if you have two networked computers, one |
| 40 | running Windows and the other running Linux, and if you |
| 41 | have some sort of X server software running on the Windows |
| 42 | system, you can export Linux applications onto the Windows |
| 43 | system. Unfortunately, most decent win32 X servers are |
| 44 | commercial products, many of which cost quite a lot. |
| 45 | However, this doesn't solve the problem if you only own |
| 46 | one computer system. |
| 47 | </para> |
| 48 | </footnote> |
| 49 | However, Wine makes it possible to run native Windows |
| 50 | applications alongside native Linux applications on a Linux |
| 51 | (or Solaris) system. You can share desktop space between MS |
| 52 | Word and GnuCash, overlapping their windows, iconizing them, |
| 53 | and even running them from the same launcher. |
| 54 | </para> |
| 55 | </sect2> |
| 56 | |
| 57 | <sect2> |
| 58 | <title>Emulation versus Native Linking</title> |
| 59 | <!-- emulator vs. Winelib --> |
| 60 | <para> |
| 61 | Wine is a UNIX implementation of the win32 libraries, |
| 62 | written from scratch by hundreds of volunteer developers and |
| 63 | released under an open source license. Anyone can download |
| 64 | and read through the source code, and fix bugs that arise. |
| 65 | The Wine community is full of richly talented programmers |
| 66 | who have spent thousands of hours of personal time on |
| 67 | improving Wine so that it works well with the win32 |
| 68 | <firstterm>Applications Programming Interface</firstterm> |
| 69 | (API), and keeps pace with new developments from Microsoft. |
| 70 | </para> |
| 71 | <para> |
| 72 | Wine can run applications in two discrete ways: as |
| 73 | pre-compiled Windows binaries, or as natively compiled X11 |
| 74 | (X Window System) applications. The former method uses |
| 75 | emulation to connect a Windows application to the Wine |
| 76 | libraries. You can run your Windows application directly |
| 77 | with the emulator, by installing through Wine or by simply |
| 78 | copying the Windows executables onto your Linux system. |
| 79 | </para> |
| 80 | <para> |
| 81 | The other way to run Windows applications with Wine requires |
| 82 | that you have the source code for the application. Instead |
| 83 | of compiling it with native Windows compilers, you can |
| 84 | compile it with a native Linux compiler -- |
| 85 | <command>gcc</command> for example -- and link in the Wine |
| 86 | Libraries as you would with any other native UNIX |
| 87 | application. These natively linked applications are |
| 88 | referred to as Winelib applications. |
| 89 | </para> |
| 90 | <para> |
| 91 | The Wine Users Guide will focus on running precompiled |
| 92 | Windows applications using the Wine emulator. |
| 93 | <ulink url="http://wine.codeweavers.com/docs/winelib-user/"> |
| 94 | The Winelib Users Guide</ulink> will cover Winelib |
| 95 | applications. |
| 96 | </para> |
| 97 | |
| 98 | <!-- the development model --> |
| 99 | <para> |
| 100 | </para> |
| 101 | </sect2> |
| 102 | </sect1> |
| 103 | |
| 104 | <!-- *** Not really useful as is, but may be able to recycle this elsewhere... |
| 105 | <sect1 id="getting-started"> |
| 106 | <title>Getting started</title> |
| 107 | |
| 108 | <para> |
| 109 | Written by &name-john-sheets; <email>&email-john-sheets;</email> |
| 110 | </para> |
| 111 | |
| 112 | <para> |
| 113 | Wine can be pretty intimidating at first. The Wine |
| 114 | distribution consists of over two thousand files and half a |
| 115 | million lines of source code |
| 116 | <footnote> |
| 117 | <para>Crudely calculated from running <command>find . | wc |
| 118 | -l</command> and <command>cat `find . -name "*.c"` | wc |
| 119 | -l</command>, respectively, from a fresh CVS checkout.</para> |
| 120 | </footnote>, |
| 121 | and is probably one of the steepest learning curves in the |
| 122 | open source world. This chapter will give you a crash course |
| 123 | in the important topics you need to know to get started with |
| 124 | running Wine applications. |
| 125 | </para> |
| 126 | </sect1> |
| 127 | --> |
| 128 | |
| 129 | <sect1 id="wine-stats"> |
| 130 | <title>Wine Requirements and Features</title> |
| 131 | |
| 132 | <para> |
| 133 | Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email> |
| 134 | </para> |
| 135 | |
| 136 | <sect2 id="system-requirements"> |
| 137 | <title>System requirements</title> |
| 138 | <para> |
| 139 | In order to run Wine, you need the following: |
| 140 | </para> |
| 141 | <para> |
| 142 | <itemizedlist> |
| 143 | <listitem> |
| 144 | <para> |
| 145 | a computer ;-) Wine: only PCs >= i386 are supported at |
| 146 | the moment. Winelib: other platforms might be |
| 147 | supported, but can be tricky. |
| 148 | </para> |
| 149 | </listitem> |
| 150 | <listitem> |
| 151 | <para> |
| 152 | a UNIX-like operating system such as Linux, *BSD, |
| 153 | Solaris x86 |
| 154 | </para> |
| 155 | </listitem> |
| 156 | <listitem> |
| 157 | <para> |
| 158 | >= 16MB of RAM. Everything below is pretty much |
| 159 | unusable. >= 64 MB is needed for a "good" execution. |
| 160 | </para> |
| 161 | </listitem> |
| 162 | <listitem> |
| 163 | <para> |
| 164 | an X11 window system (XFree86 etc.). Wine is prepared |
| 165 | for other graphics display drivers, but writing |
| 166 | support is not too easy. The text console display |
| 167 | driver is nearly usable. |
| 168 | </para> |
| 169 | </listitem> |
| 170 | </itemizedlist> |
| 171 | </para> |
| 172 | </sect2> |
| 173 | |
| 174 | <sect2 id="wine-capabilities"> |
| 175 | <title>Wine capabilities</title> |
| 176 | |
| 177 | <para> |
| 178 | Now that you hopefully managed to fulfill the requirements |
| 179 | mentioned above, we tell you what Wine is able to do/support: |
| 180 | </para> |
| 181 | <para> |
| 182 | <itemizedlist> |
| 183 | <listitem> |
| 184 | <para> |
| 185 | Support for executing DOS, Win 3.x and Win9x/NT/Win2000 |
| 186 | programs (most of Win32's controls are supported) |
| 187 | </para> |
| 188 | </listitem> |
| 189 | <listitem> |
| 190 | <para> |
| 191 | Optional use of external vendor DLLs (e.g. original |
| 192 | Windows DLLs) |
| 193 | </para> |
| 194 | </listitem> |
| 195 | <listitem> |
| 196 | <para> |
| 197 | X11-based graphics display (remote display to any X |
| 198 | terminal possible), text mode console |
| 199 | </para> |
| 200 | </listitem> |
| 201 | <listitem> |
| 202 | <para> |
| 203 | Desktop-in-a-box or mixable windows |
| 204 | </para> |
| 205 | </listitem> |
| 206 | <listitem> |
| 207 | <para> |
| 208 | Pretty advanced DirectX support for games |
| 209 | </para> |
| 210 | </listitem> |
| 211 | <listitem> |
| 212 | <para> |
| 213 | Good support for sound, alternative input devices |
| 214 | </para> |
| 215 | </listitem> |
| 216 | <listitem> |
| 217 | <para> |
| 218 | Printing: supports native Win16 printer drivers, |
| 219 | Internal PostScript driver |
| 220 | </para> |
| 221 | </listitem> |
| 222 | <listitem> |
| 223 | <para> |
| 224 | Modems, serial devices are supported |
| 225 | </para> |
| 226 | </listitem> |
| 227 | <listitem> |
| 228 | <para> |
| 229 | Winsock TCP/IP networking |
| 230 | </para> |
| 231 | </listitem> |
| 232 | <listitem> |
| 233 | <para> |
| 234 | ASPI interface (SCSI) support for scanners, CD writers, |
| 235 | ... |
| 236 | </para> |
| 237 | </listitem> |
| 238 | <listitem> |
| 239 | <para> |
| 240 | Unicode support, relatively advanced language support |
| 241 | </para> |
| 242 | </listitem> |
| 243 | <listitem> |
| 244 | <para> |
| 245 | Wine debugger and configurable trace logging messages |
| 246 | </para> |
| 247 | </listitem> |
| 248 | </itemizedlist> |
| 249 | </para> |
| 250 | </sect2> |
| 251 | </sect1> |
| 252 | </chapter> |
| 253 | |
| 254 | <!-- Keep this comment at the end of the file |
| 255 | Local variables: |
| 256 | mode: sgml |
| 257 | sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "") |
| 258 | End: |
| 259 | --> |