Alexandre Julliard | 3a5816f | 1994-12-27 14:11:53 +0000 | [diff] [blame] | 1 | 1. INTRODUCTION |
Alexandre Julliard | 2c25c3e | 1993-06-29 16:33:12 +0000 | [diff] [blame] | 2 | |
Douglas Ridgway | 692389d | 1998-11-22 16:56:44 +0000 | [diff] [blame] | 3 | Wine is a program which allows running Microsoft Windows programs |
| 4 | (including DOS, Windows 3.x and Win32 executables) on Unix. It |
James Juran | 0ff60a0 | 1999-04-26 14:57:06 +0000 | [diff] [blame] | 5 | consists of a program loader which loads and executes a Microsoft |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 6 | Windows binary, and a library (called Winelib) that implements Windows |
| 7 | API calls using their Unix or X11 equivalents. The library may also |
| 8 | be used for porting Win32 code into native Unix executables. |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 9 | |
Douglas Ridgway | 692389d | 1998-11-22 16:56:44 +0000 | [diff] [blame] | 10 | Wine is free software, and its license (contained in the file LICENSE) |
| 11 | is BSD style. Basically, you can do anything with it except claim |
| 12 | that you wrote it. |
Alexandre Julliard | 1f57929 | 1994-05-25 16:25:21 +0000 | [diff] [blame] | 13 | |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 14 | 2. QUICK START |
Alexandre Julliard | 3a5816f | 1994-12-27 14:11:53 +0000 | [diff] [blame] | 15 | |
Andreas Mohr | 581fc92 | 2000-09-18 01:40:32 +0000 | [diff] [blame] | 16 | Whenever you compile from source, it is recommended to use the Wine |
Gerald Pfeifer | d2b2289 | 2001-07-20 17:56:59 +0000 | [diff] [blame] | 17 | Installer to build and install Wine. From the top-level Wine |
Andreas Mohr | 581fc92 | 2000-09-18 01:40:32 +0000 | [diff] [blame] | 18 | directory (which contains this file), run: |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 19 | |
| 20 | ./tools/wineinstall |
| 21 | |
| 22 | Run programs as "wine [options] program". For more information and |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 23 | problem resolution, read the rest of this file, the Wine man page, |
| 24 | the files in the documentation directory in the Wine source, and |
| 25 | especially the wealth of information found at http://www.winehq.com. |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 26 | |
| 27 | 3. REQUIREMENTS |
Alexandre Julliard | 401710d | 1993-09-04 10:09:32 +0000 | [diff] [blame] | 28 | |
James Juran | 0ff60a0 | 1999-04-26 14:57:06 +0000 | [diff] [blame] | 29 | To compile and run Wine, you must have one of the following: |
Alexandre Julliard | f41aeca | 1993-09-14 16:47:10 +0000 | [diff] [blame] | 30 | |
Marcus Meissner | 9e15318 | 1999-04-19 16:19:25 +0000 | [diff] [blame] | 31 | Linux version 2.0.36 or above |
Gerald Pfeifer | d2b2289 | 2001-07-20 17:56:59 +0000 | [diff] [blame] | 32 | FreeBSD 4.x or FreeBSD 5-CURRENT |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 33 | Solaris x86 2.5 or later |
Bang Jun-Young | 9048c49 | 2001-12-19 18:48:45 +0000 | [diff] [blame^] | 34 | NetBSD-current |
Alexandre Julliard | f41aeca | 1993-09-14 16:47:10 +0000 | [diff] [blame] | 35 | |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 36 | Linux 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 Julliard | 6abb89c | 1995-03-02 17:33:47 +0000 | [diff] [blame] | 44 | |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 45 | FreeBSD info: |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 46 | Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options |
| 47 | turned on in your kernel. |
Gerald Pfeifer | d2b2289 | 2001-07-20 17:56:59 +0000 | [diff] [blame] | 48 | More information including patches for the 4-STABLE branch is in the |
| 49 | ports tree: |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 50 | ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/emulators/wine/files/ |
| 51 | |
| 52 | Solaris info: |
Gerald Pfeifer | d2b2289 | 2001-07-20 17:56:59 +0000 | [diff] [blame] | 53 | You will most likely need to build Wine with the GNU toolchain |
Gerard Patel | 2895e7f | 2001-10-16 21:47:51 +0000 | [diff] [blame] | 54 | (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-Young | 9048c49 | 2001-12-19 18:48:45 +0000 | [diff] [blame^] | 58 | NetBSD info: |
| 59 | Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options |
| 60 | turned on in your kernel. |
| 61 | |
Gerard Patel | 2895e7f | 2001-10-16 21:47:51 +0000 | [diff] [blame] | 62 | File 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 Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 66 | |
| 67 | Wine requires kernel-level threads to run. Currently, only Linux |
| 68 | version 2.0 or later, FreeBSD-current or FreeBSD 3.0 or later, |
Bang Jun-Young | 9048c49 | 2001-12-19 18:48:45 +0000 | [diff] [blame^] | 69 | Solaris x86 version 2.5 or later, and NetBSD-current are supported. |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 70 | Other operating systems which support kernel threads may be supported |
| 71 | in the future. |
Juergen Lock | ca85139 | 1999-11-28 19:48:24 +0000 | [diff] [blame] | 72 | |
Andreas Mohr | c165bca | 2000-10-22 23:47:27 +0000 | [diff] [blame] | 73 | You need to have the X11 development include files installed |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 74 | (called xlib6g-dev in Debian and XFree86-devel in RedHat). |
Gerald Pfeifer | d2b2289 | 2001-07-20 17:56:59 +0000 | [diff] [blame] | 75 | To use Wine's support for multi-threaded applications, your X libraries |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 76 | must be reentrant, which is probably the default by now. |
| 77 | If you have libc6 (glibc2), or you compiled the X libraries yourself, |
| 78 | they were probably compiled with the reentrant option enabled. |
Andreas Mohr | c165bca | 2000-10-22 23:47:27 +0000 | [diff] [blame] | 79 | |
James Juran | 0ff60a0 | 1999-04-26 14:57:06 +0000 | [diff] [blame] | 80 | You also need to have libXpm installed on your system. The sources for |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 81 | it 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 |
| 83 | xpm and xpm-devel packages. Debian distributes libXpm as xpm4.7, xpm4g, |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 84 | and xpm4g-dev. SuSE calls these packages xpm and xpm-devel. |
James Juran | 0ff60a0 | 1999-04-26 14:57:06 +0000 | [diff] [blame] | 85 | |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 86 | On x86 Systems gcc >= 2.7.2 is required. |
| 87 | Versions earlier than 2.7.2.3 may have problems when certain files |
| 88 | are compiled with optimization, often due to problems with header file |
Gerald Pfeifer | d2b2289 | 2001-07-20 17:56:59 +0000 | [diff] [blame] | 89 | management. pgcc currently doesn't work with Wine. The cause of this problem |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 90 | is unknown. |
| 91 | |
| 92 | You also need flex version 2.5 or later and yacc. |
| 93 | Bison will work as a replacement for yacc. If you are |
| 94 | using RedHat or Debian, install the flex and bison packages. |
James Juran | 0ff60a0 | 1999-04-26 14:57:06 +0000 | [diff] [blame] | 95 | |
Joerg Mayer | 0ee5f8c | 2001-02-20 01:54:50 +0000 | [diff] [blame] | 96 | In case you want to build the documentation yourself, you'll also |
| 97 | need the DocBook tools (db2html, db2ps, db2pdf). |
| 98 | |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 99 | 4. COMPILATION |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 100 | |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 101 | In case you chose to not use wineinstall, run the following commands |
| 102 | to build Wine: |
Alexandre Julliard | 401710d | 1993-09-04 10:09:32 +0000 | [diff] [blame] | 103 | |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 104 | ./configure |
| 105 | make depend |
| 106 | make |
| 107 | |
Andreas Mohr | 1af53cb | 2000-12-09 03:15:32 +0000 | [diff] [blame] | 108 | This will build the program "wine" and numerous support libraries/binaries. |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 109 | The program "wine" will load and run Windows executables. |
Andreas Mohr | 1af53cb | 2000-12-09 03:15:32 +0000 | [diff] [blame] | 110 | The library "libwine" ("Winelib") can be used to compile and link |
| 111 | Windows source code under Unix. |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 112 | |
Andreas Mohr | 1af53cb | 2000-12-09 03:15:32 +0000 | [diff] [blame] | 113 | To see compile configuration options, do ./configure --help. |
Alexandre Julliard | e2bfa4c | 1996-05-16 18:21:06 +0000 | [diff] [blame] | 114 | |
Alexandre Julliard | 3a5816f | 1994-12-27 14:11:53 +0000 | [diff] [blame] | 115 | To upgrade to a new release by using a patch file, first cd to the |
| 116 | top-level directory of the release (the one containing this README |
| 117 | file). Then do a "make clean", and patch the release with: |
| 118 | |
| 119 | gunzip -c patch-file | patch -p1 |
| 120 | |
| 121 | where "patch-file" is the name of the patch file (something like |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 122 | Wine-yymmdd.diff.gz). You can then re-run "./configure", and then |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 123 | run "make depend && make". |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 124 | |
| 125 | |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 126 | 5. SETUP |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 127 | |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 128 | Once Wine has been built correctly, you can do "make install"; this |
James Juran | 38a3d26 | 1999-01-01 18:45:52 +0000 | [diff] [blame] | 129 | will install the wine executable, the Wine man page, and a few other |
| 130 | needed files. |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 131 | |
Andreas Mohr | de53c48 | 2001-04-09 18:32:16 +0000 | [diff] [blame] | 132 | Don't forget to uninstall any conflicting previous Wine installation |
| 133 | first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall" |
| 134 | before installing. |
| 135 | |
Joerg Mayer | 0ee5f8c | 2001-02-20 01:54:50 +0000 | [diff] [blame] | 136 | If you want to build the documentation, you can run "make" in the |
| 137 | documentation directory. |
| 138 | |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 139 | Wine requires a configuration file named named "config" in your |
Andreas Mohr | 7bed696 | 2001-09-19 22:34:38 +0000 | [diff] [blame] | 140 | ~/.wine directory. The format of this file is explained in the config file |
| 141 | man page (documentation/wine.conf.man). |
| 142 | The file documentation/samples/config contains an example configuration file |
| 143 | which has to be adapted and copied to the location mentioned above. |
Andreas Mohr | 8a82991 | 1999-01-30 13:40:05 +0000 | [diff] [blame] | 144 | |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 145 | See http://www.winehq.com/support.shtml for further configuration hints. |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 146 | |
Andreas Mohr | 5142150 | 2001-03-08 01:14:13 +0000 | [diff] [blame] | 147 | In order to verify the correctness of the environment you need for |
| 148 | Wine to run successfully, run "./tools/winecheck | less". You'll get |
| 149 | a percentage score indicating "Wine configuration correctness". |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 150 | |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 151 | 6. RUNNING PROGRAMS |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 152 | |
James Juran | 38a3d26 | 1999-01-01 18:45:52 +0000 | [diff] [blame] | 153 | When invoking Wine, you may specify the entire path to the executable, |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 154 | or a filename only. |
Alexandre Julliard | f41aeca | 1993-09-14 16:47:10 +0000 | [diff] [blame] | 155 | |
Douglas Ridgway | 692389d | 1998-11-22 16:56:44 +0000 | [diff] [blame] | 156 | For example: to run Solitaire: |
Alexandre Julliard | 5f721f8 | 1994-01-04 20:14:34 +0000 | [diff] [blame] | 157 | |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 158 | wine sol (using the searchpath to locate the file) |
| 159 | wine sol.exe |
Alexandre Julliard | 5f721f8 | 1994-01-04 20:14:34 +0000 | [diff] [blame] | 160 | |
Douglas Ridgway | 692389d | 1998-11-22 16:56:44 +0000 | [diff] [blame] | 161 | wine c:\\windows\\sol.exe (using a DOS filename) |
Alexandre Julliard | 5f721f8 | 1994-01-04 20:14:34 +0000 | [diff] [blame] | 162 | |
Douglas Ridgway | 692389d | 1998-11-22 16:56:44 +0000 | [diff] [blame] | 163 | wine /usr/windows/sol.exe (using a Unix filename) |
Alexandre Julliard | f41aeca | 1993-09-14 16:47:10 +0000 | [diff] [blame] | 164 | |
Alexandre Julliard | 3a5816f | 1994-12-27 14:11:53 +0000 | [diff] [blame] | 165 | Note: the path of the file will also be added to the path when |
Alexandre Julliard | 5819953 | 1994-04-21 01:20:00 +0000 | [diff] [blame] | 166 | a full name is supplied on the commandline. |
| 167 | |
Andreas Mohr | 581fc92 | 2000-09-18 01:40:32 +0000 | [diff] [blame] | 168 | Wine is not yet complete, so some programs may crash. Provided you set up |
| 169 | winedbg correctly according to documentation/debugger.sgml, you will be dropped |
James Juran | 38a3d26 | 1999-01-01 18:45:52 +0000 | [diff] [blame] | 170 | into a debugger so that you can investigate and fix the problem. For more |
| 171 | information on how to do this, please read the file documentation/debugging. |
| 172 | If you post a bug report, please read the file documentation/bugreports to |
| 173 | see what information is required. |
| 174 | |
Andreas Mohr | a6d83eb | 2000-12-27 04:02:46 +0000 | [diff] [blame] | 175 | You should backup all your important files that you give Wine access |
| 176 | to, or use a special Wine copy of them, as there have been some cases |
| 177 | of users reporting file corruption. Do NOT run Explorer, for instance, |
| 178 | if you don't have a proper backup, as it renames/cripples several |
Andreas Mohr | 7bed696 | 2001-09-19 22:34:38 +0000 | [diff] [blame] | 179 | directories sometimes. Not even other MS apps such as e.g. Messenger are safe, |
| 180 | as they launch Explorer somehow. This particular corruption (!$!$!$!$.pfr) |
| 181 | can be fixed with http://home.nexgo.de/andi.mohr/download/decorrupt_explorer |
Andreas Mohr | a6d83eb | 2000-12-27 04:02:46 +0000 | [diff] [blame] | 182 | |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 183 | |
Alexandre Julliard | d6baf1b | 1999-07-18 15:47:22 +0000 | [diff] [blame] | 184 | 7. GETTING MORE INFORMATION |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 185 | |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 186 | WWW: 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 Mohr | 8cd9351 | 2000-01-29 21:12:58 +0000 | [diff] [blame] | 189 | |
Andreas Mohr | c9ec884 | 2001-01-24 19:37:13 +0000 | [diff] [blame] | 190 | FAQ: The Wine FAQ is located at http://www.winehq.com/FAQ |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 191 | |
Andreas Mohr | 8cd9351 | 2000-01-29 21:12:58 +0000 | [diff] [blame] | 192 | HOWTO: The Wine HOWTO is available at |
James Juran | 0ff60a0 | 1999-04-26 14:57:06 +0000 | [diff] [blame] | 193 | http://www.westfalen.de/witch/wine-HOWTO.txt . |
| 194 | |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 195 | Usenet: The best place to get help or to report bugs is the Usenet newsgroup |
James Juran | 38a3d26 | 1999-01-01 18:45:52 +0000 | [diff] [blame] | 196 | 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 Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 200 | 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 | |
| 204 | IRC: Online help is available at channel #WineHQ on irc.openprojects.net. |
Andreas Mohr | 8cd9351 | 2000-01-29 21:12:58 +0000 | [diff] [blame] | 205 | |
Alexandre Julliard | 9d7fbc4 | 1998-10-18 16:32:47 +0000 | [diff] [blame] | 206 | CVS: The current Wine development tree is available through CVS. |
Andreas Mohr | 1af53cb | 2000-12-09 03:15:32 +0000 | [diff] [blame] | 207 | Go to http://www.winehq.com/dev.shtml for more information. |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 208 | |
Andreas Mohr | 3d2a38c | 2001-06-29 01:41:03 +0000 | [diff] [blame] | 209 | Mailing lists: |
| 210 | There are several mailing lists for Wine developers; see |
| 211 | http://www.winehq.com/dev.shtml#ml for more information. |
| 212 | |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 213 | If you add something, or fix a bug, please send a patch ('diff -u' |
Joerg Mayer | 0ee5f8c | 2001-02-20 01:54:50 +0000 | [diff] [blame] | 214 | format preferred) to julliard@winehq.com or to the |
| 215 | wine-patches@winehq.com mailing list for inclusion in the next |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 216 | release. |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 217 | |
Alexandre Julliard | 3a5816f | 1994-12-27 14:11:53 +0000 | [diff] [blame] | 218 | -- |
| 219 | Alexandre Julliard |
Alexandre Julliard | a46f5ad | 2000-07-16 21:09:03 +0000 | [diff] [blame] | 220 | julliard@winehq.com |