blob: fba6a1d0626d56d19fac3ea80aed1d1e0fb5ee26 [file] [log] [blame]
Alexandre Julliard3a5816f1994-12-27 14:11:53 +000011. INTRODUCTION
Alexandre Julliard2c25c3e1993-06-29 16:33:12 +00002
Douglas Ridgway692389d1998-11-22 16:56:44 +00003Wine is a program which allows running Microsoft Windows programs
4(including DOS, Windows 3.x and Win32 executables) on Unix. It
James Juran0ff60a01999-04-26 14:57:06 +00005consists of a program loader which loads and executes a Microsoft
Andreas Mohr3d2a38c2001-06-29 01:41:03 +00006Windows binary, and a library (called Winelib) that implements Windows
7API calls using their Unix or X11 equivalents. The library may also
8be used for porting Win32 code into native Unix executables.
Alexandre Julliard8d24ae61994-04-05 21:42:43 +00009
Douglas Ridgway692389d1998-11-22 16:56:44 +000010Wine is free software, and its license (contained in the file LICENSE)
11is BSD style. Basically, you can do anything with it except claim
12that you wrote it.
Alexandre Julliard1f579291994-05-25 16:25:21 +000013
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000142. QUICK START
Alexandre Julliard3a5816f1994-12-27 14:11:53 +000015
Andreas Mohr581fc922000-09-18 01:40:32 +000016Whenever you compile from source, it is recommended to use the Wine
Gerald Pfeiferd2b22892001-07-20 17:56:59 +000017Installer to build and install Wine. From the top-level Wine
Andreas Mohr581fc922000-09-18 01:40:32 +000018directory (which contains this file), run:
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +000019
20./tools/wineinstall
21
22Run programs as "wine [options] program". For more information and
Andreas Mohr3d2a38c2001-06-29 01:41:03 +000023problem resolution, read the rest of this file, the Wine man page,
24the files in the documentation directory in the Wine source, and
25especially the wealth of information found at http://www.winehq.com.
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +000026
273. REQUIREMENTS
Alexandre Julliard401710d1993-09-04 10:09:32 +000028
James Juran0ff60a01999-04-26 14:57:06 +000029To compile and run Wine, you must have one of the following:
Alexandre Julliardf41aeca1993-09-14 16:47:10 +000030
Marcus Meissner9e153181999-04-19 16:19:25 +000031 Linux version 2.0.36 or above
Gerald Pfeiferd2b22892001-07-20 17:56:59 +000032 FreeBSD 4.x or FreeBSD 5-CURRENT
Alexandre Julliarda69b88b1998-03-15 20:29:56 +000033 Solaris x86 2.5 or later
Bang Jun-Young9048c492001-12-19 18:48:45 +000034 NetBSD-current
Alexandre Julliardf41aeca1993-09-14 16:47:10 +000035
Andreas Mohrc9ec8842001-01-24 19:37:13 +000036Linux info:
37 Although Linux version 2.0.x will mostly work, certain features
38 (specifically LDT sharing) required for properly supporting Win32
39 threads were not implemented until kernel version 2.2. If you get
40 consistent thread-related crashes, you may want to upgrade to 2.2.
41 Also, some bugs were fixed and additional features were added
42 late in the Linux 2.0.x series, so if you have a very old Linux kernel,
43 you may want to upgrade to at least the latest 2.0.x release.
Alexandre Julliard6abb89c1995-03-02 17:33:47 +000044
Andreas Mohrc9ec8842001-01-24 19:37:13 +000045FreeBSD info:
Andreas Mohrc9ec8842001-01-24 19:37:13 +000046 Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
47 turned on in your kernel.
Gerald Pfeiferd2b22892001-07-20 17:56:59 +000048 More information including patches for the 4-STABLE branch is in the
49 ports tree:
Andreas Mohrc9ec8842001-01-24 19:37:13 +000050 ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/emulators/wine/files/
51
52Solaris info:
Gerald Pfeiferd2b22892001-07-20 17:56:59 +000053 You will most likely need to build Wine with the GNU toolchain
Gerard Patel2895e7f2001-10-16 21:47:51 +000054 (gcc, gas, etc.). Warning : installing gas does *not* ensure that it
55 will be used by gcc. Recompiling gcc after installing gas or
56 symlinking cc, as and ld to the gnu tools is said to be necessary.
57
Bang Jun-Young9048c492001-12-19 18:48:45 +000058NetBSD info:
59 Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
60 turned on in your kernel.
61
Gerard Patel2895e7f2001-10-16 21:47:51 +000062File systems info :
63 Wine should run on most file systems. However, Wine will fail to start
64 if umsdos is used for the /tmp directory. A few compatibility problems have
65 also been reported using files accessed through Samba.
Andreas Mohrc9ec8842001-01-24 19:37:13 +000066
67Wine requires kernel-level threads to run. Currently, only Linux
68version 2.0 or later, FreeBSD-current or FreeBSD 3.0 or later,
Bang Jun-Young9048c492001-12-19 18:48:45 +000069Solaris x86 version 2.5 or later, and NetBSD-current are supported.
Andreas Mohrc9ec8842001-01-24 19:37:13 +000070Other operating systems which support kernel threads may be supported
71in the future.
Juergen Lockca851391999-11-28 19:48:24 +000072
Andreas Mohrc165bca2000-10-22 23:47:27 +000073You need to have the X11 development include files installed
Andreas Mohrc9ec8842001-01-24 19:37:13 +000074(called xlib6g-dev in Debian and XFree86-devel in RedHat).
Gerald Pfeiferd2b22892001-07-20 17:56:59 +000075To use Wine's support for multi-threaded applications, your X libraries
Andreas Mohrc9ec8842001-01-24 19:37:13 +000076must be reentrant, which is probably the default by now.
77If you have libc6 (glibc2), or you compiled the X libraries yourself,
78they were probably compiled with the reentrant option enabled.
Andreas Mohrc165bca2000-10-22 23:47:27 +000079
James Juran0ff60a01999-04-26 14:57:06 +000080You also need to have libXpm installed on your system. The sources for
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +000081it are available at ftp.x.org and all its mirror sites in the directory
82/contrib/libraries. If you are using RedHat, libXpm is distributed as the
83xpm and xpm-devel packages. Debian distributes libXpm as xpm4.7, xpm4g,
Andreas Mohrc9ec8842001-01-24 19:37:13 +000084and xpm4g-dev. SuSE calls these packages xpm and xpm-devel.
James Juran0ff60a01999-04-26 14:57:06 +000085
Andreas Mohrc9ec8842001-01-24 19:37:13 +000086On x86 Systems gcc >= 2.7.2 is required.
87Versions earlier than 2.7.2.3 may have problems when certain files
88are compiled with optimization, often due to problems with header file
Gerald Pfeiferd2b22892001-07-20 17:56:59 +000089management. pgcc currently doesn't work with Wine. The cause of this problem
Andreas Mohrc9ec8842001-01-24 19:37:13 +000090is unknown.
91
92You also need flex version 2.5 or later and yacc.
93Bison will work as a replacement for yacc. If you are
94using RedHat or Debian, install the flex and bison packages.
James Juran0ff60a01999-04-26 14:57:06 +000095
Joerg Mayer0ee5f8c2001-02-20 01:54:50 +000096In case you want to build the documentation yourself, you'll also
97need the DocBook tools (db2html, db2ps, db2pdf).
98
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000994. COMPILATION
Alexandre Julliarda69b88b1998-03-15 20:29:56 +0000100
Andreas Mohrc9ec8842001-01-24 19:37:13 +0000101In case you chose to not use wineinstall, run the following commands
102to build Wine:
Alexandre Julliard401710d1993-09-04 10:09:32 +0000103
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000104./configure
105make depend
106make
107
Andreas Mohr1af53cb2000-12-09 03:15:32 +0000108This will build the program "wine" and numerous support libraries/binaries.
Alexandre Julliarda0b2b1d1997-11-16 17:38:29 +0000109The program "wine" will load and run Windows executables.
Andreas Mohr1af53cb2000-12-09 03:15:32 +0000110The library "libwine" ("Winelib") can be used to compile and link
111Windows source code under Unix.
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000112
Andreas Mohr1af53cb2000-12-09 03:15:32 +0000113To see compile configuration options, do ./configure --help.
Alexandre Julliarde2bfa4c1996-05-16 18:21:06 +0000114
Alexandre Julliard3a5816f1994-12-27 14:11:53 +0000115To upgrade to a new release by using a patch file, first cd to the
116top-level directory of the release (the one containing this README
117file). Then do a "make clean", and patch the release with:
118
119 gunzip -c patch-file | patch -p1
120
121where "patch-file" is the name of the patch file (something like
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000122Wine-yymmdd.diff.gz). You can then re-run "./configure", and then
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000123run "make depend && make".
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000124
125
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +00001265. SETUP
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000127
Alexandre Julliard7e56f681996-01-31 19:02:28 +0000128Once Wine has been built correctly, you can do "make install"; this
James Juran38a3d261999-01-01 18:45:52 +0000129will install the wine executable, the Wine man page, and a few other
130needed files.
Alexandre Julliard7e56f681996-01-31 19:02:28 +0000131
Andreas Mohrde53c482001-04-09 18:32:16 +0000132Don't forget to uninstall any conflicting previous Wine installation
133first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
134before installing.
135
Joerg Mayer0ee5f8c2001-02-20 01:54:50 +0000136If you want to build the documentation, you can run "make" in the
137documentation directory.
138
Andreas Mohr3d2a38c2001-06-29 01:41:03 +0000139Wine requires a configuration file named named "config" in your
Andreas Mohr7bed6962001-09-19 22:34:38 +0000140~/.wine directory. The format of this file is explained in the config file
141man page (documentation/wine.conf.man).
142The file documentation/samples/config contains an example configuration file
143which has to be adapted and copied to the location mentioned above.
Andreas Mohr8a829911999-01-30 13:40:05 +0000144
Andreas Mohr3d2a38c2001-06-29 01:41:03 +0000145See http://www.winehq.com/support.shtml for further configuration hints.
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000146
Andreas Mohr51421502001-03-08 01:14:13 +0000147In order to verify the correctness of the environment you need for
148Wine to run successfully, run "./tools/winecheck | less". You'll get
149a percentage score indicating "Wine configuration correctness".
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000150
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +00001516. RUNNING PROGRAMS
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000152
James Juran38a3d261999-01-01 18:45:52 +0000153When invoking Wine, you may specify the entire path to the executable,
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000154or a filename only.
Alexandre Julliardf41aeca1993-09-14 16:47:10 +0000155
Douglas Ridgway692389d1998-11-22 16:56:44 +0000156For example: to run Solitaire:
Alexandre Julliard5f721f81994-01-04 20:14:34 +0000157
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000158 wine sol (using the searchpath to locate the file)
159 wine sol.exe
Alexandre Julliard5f721f81994-01-04 20:14:34 +0000160
Douglas Ridgway692389d1998-11-22 16:56:44 +0000161 wine c:\\windows\\sol.exe (using a DOS filename)
Alexandre Julliard5f721f81994-01-04 20:14:34 +0000162
Douglas Ridgway692389d1998-11-22 16:56:44 +0000163 wine /usr/windows/sol.exe (using a Unix filename)
Alexandre Julliardf41aeca1993-09-14 16:47:10 +0000164
Alexandre Julliard3a5816f1994-12-27 14:11:53 +0000165Note: the path of the file will also be added to the path when
Alexandre Julliard58199531994-04-21 01:20:00 +0000166 a full name is supplied on the commandline.
167
Andreas Mohr581fc922000-09-18 01:40:32 +0000168Wine is not yet complete, so some programs may crash. Provided you set up
169winedbg correctly according to documentation/debugger.sgml, you will be dropped
James Juran38a3d261999-01-01 18:45:52 +0000170into a debugger so that you can investigate and fix the problem. For more
171information on how to do this, please read the file documentation/debugging.
172If you post a bug report, please read the file documentation/bugreports to
173see what information is required.
174
Andreas Mohra6d83eb2000-12-27 04:02:46 +0000175You should backup all your important files that you give Wine access
176to, or use a special Wine copy of them, as there have been some cases
177of users reporting file corruption. Do NOT run Explorer, for instance,
178if you don't have a proper backup, as it renames/cripples several
Andreas Mohr7bed6962001-09-19 22:34:38 +0000179directories sometimes. Not even other MS apps such as e.g. Messenger are safe,
180as they launch Explorer somehow. This particular corruption (!$!$!$!$.pfr)
181can be fixed with http://home.nexgo.de/andi.mohr/download/decorrupt_explorer
Andreas Mohra6d83eb2000-12-27 04:02:46 +0000182
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000183
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +00001847. GETTING MORE INFORMATION
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000185
Andreas Mohr3d2a38c2001-06-29 01:41:03 +0000186WWW: A great deal of information about Wine is available from WineHQ at
187 http://www.winehq.com/ : various user guides, application database,
188 bug tracking. This is probably the best starting point.
Andreas Mohr8cd93512000-01-29 21:12:58 +0000189
Andreas Mohrc9ec8842001-01-24 19:37:13 +0000190FAQ: The Wine FAQ is located at http://www.winehq.com/FAQ
Alexandre Julliard46ea8b31998-05-03 19:01:20 +0000191
Andreas Mohr8cd93512000-01-29 21:12:58 +0000192HOWTO: The Wine HOWTO is available at
James Juran0ff60a01999-04-26 14:57:06 +0000193 http://www.westfalen.de/witch/wine-HOWTO.txt .
194
Andreas Mohr3d2a38c2001-06-29 01:41:03 +0000195Usenet: The best place to get help or to report bugs is the Usenet newsgroup
James Juran38a3d261999-01-01 18:45:52 +0000196 comp.emulators.ms-windows.wine. Please read the file
197 documentation/bugreports to see what information should be included
198 in a bug report.
199
Andreas Mohr3d2a38c2001-06-29 01:41:03 +0000200 Please browse old messages on http://groups.google.com/ to check
201 whether your problem is already fixed before posting a bug report
202 to the newsgroup.
203
204IRC: Online help is available at channel #WineHQ on irc.openprojects.net.
Andreas Mohr8cd93512000-01-29 21:12:58 +0000205
Alexandre Julliard9d7fbc41998-10-18 16:32:47 +0000206CVS: The current Wine development tree is available through CVS.
Andreas Mohr1af53cb2000-12-09 03:15:32 +0000207 Go to http://www.winehq.com/dev.shtml for more information.
Alexandre Julliard46ea8b31998-05-03 19:01:20 +0000208
Andreas Mohr3d2a38c2001-06-29 01:41:03 +0000209Mailing lists:
210 There are several mailing lists for Wine developers; see
211 http://www.winehq.com/dev.shtml#ml for more information.
212
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000213If you add something, or fix a bug, please send a patch ('diff -u'
Joerg Mayer0ee5f8c2001-02-20 01:54:50 +0000214format preferred) to julliard@winehq.com or to the
215wine-patches@winehq.com mailing list for inclusion in the next
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000216release.
Alexandre Julliard8d24ae61994-04-05 21:42:43 +0000217
Alexandre Julliard3a5816f1994-12-27 14:11:53 +0000218--
219Alexandre Julliard
Alexandre Julliarda46f5ad2000-07-16 21:09:03 +0000220julliard@winehq.com