Fixed compile if we do not have the xf86vidmode extension.
[wine] / README
CommitLineData
3a5816f8
AJ
11. INTRODUCTION
2
692389d0
DR
3Wine is a program which allows running Microsoft Windows programs
4(including DOS, Windows 3.x and Win32 executables) on Unix. It
0ff60a08 5consists of a program loader which loads and executes a Microsoft
692389d0
DR
6Windows binary, and a library that implements Windows API calls using
7their Unix or X11 equivalents. The library may also be used for
8porting Win32 code into native Unix executables.
3a5816f8 9
692389d0
DR
10Wine 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.
3a5816f8 13
d6baf1bb 142. QUICK START
3a5816f8 15
581fc926
AM
16Whenever you compile from source, it is recommended to use the Wine
17Installer to build and install wine. From the top-level Wine
18directory (which contains this file), run:
d6baf1bb
AJ
19
20./tools/wineinstall
21
22Run programs as "wine [options] program". For more information and
23problem resolution, read the rest of this file, the Wine manpage,
24and the files in the documentation directory in the Wine source.
25
263. REQUIREMENTS
401710d7 27
0ff60a08 28To compile and run Wine, you must have one of the following:
f41aeca9 29
9e153184
MM
30 Linux version 2.0.36 or above
31 FreeBSD-current or FreeBSD 3.0 or later
a69b88b2 32 Solaris x86 2.5 or later
f41aeca9 33
c9ec8846
AM
34Linux info:
35 Although Linux version 2.0.x will mostly work, certain features
36 (specifically LDT sharing) required for properly supporting Win32
37 threads were not implemented until kernel version 2.2. If you get
38 consistent thread-related crashes, you may want to upgrade to 2.2.
39 Also, some bugs were fixed and additional features were added
40 late in the Linux 2.0.x series, so if you have a very old Linux kernel,
41 you may want to upgrade to at least the latest 2.0.x release.
42
43FreeBSD info:
44 On FreeBSD, you may want to apply an LDT sharing patch too
45 (unless you are tracking -current where it finally has
46 been committed just recently), and there also is a small sigtrap
47 fix thats needed for wine's debugger. (Actually now that its using
48 ptrace() by default it may no longer make a difference but it still
49 doesn't hurt...) And if you're running a system from the -stable
50 branch older than Nov 15 1999, like a 3.3-RELEASE, then you also
51 need to apply a signal handling change that was MFC'd at that date.
52 Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
53 turned on in your kernel.
54 More information including patches for the -stable branch is in
55 the ports tree:
56 ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/emulators/wine/files/
57
58Solaris info:
59 You will most likely need to build wine with the GNU toolchain
60 (gcc, gas, etc.)
61
62Wine requires kernel-level threads to run. Currently, only Linux
63version 2.0 or later, FreeBSD-current or FreeBSD 3.0 or later,
64and Solaris x86 version 2.5 or later are supported.
65Other operating systems which support kernel threads may be supported
66in the future.
ca851392 67
c165bca8 68You need to have the X11 development include files installed
c9ec8846
AM
69(called xlib6g-dev in Debian and XFree86-devel in RedHat).
70To use wine's support for multi-threaded applications, your X libraries
71must be reentrant, which is probably the default by now.
72If you have libc6 (glibc2), or you compiled the X libraries yourself,
73they were probably compiled with the reentrant option enabled.
c165bca8 74
6abb89c3 75You also need to have libXpm installed on your system. The sources for
d6baf1bb
AJ
76it are available at ftp.x.org and all its mirror sites in the directory
77/contrib/libraries. If you are using RedHat, libXpm is distributed as the
78xpm and xpm-devel packages. Debian distributes libXpm as xpm4.7, xpm4g,
c9ec8846 79and xpm4g-dev. SuSE calls these packages xpm and xpm-devel.
0ff60a08 80
c9ec8846
AM
81On x86 Systems gcc >= 2.7.2 is required.
82Versions earlier than 2.7.2.3 may have problems when certain files
83are compiled with optimization, often due to problems with header file
84management. pgcc currently doesn't work with wine. The cause of this problem
85is unknown.
86
87You also need flex version 2.5 or later and yacc.
88Bison will work as a replacement for yacc. If you are
89using RedHat or Debian, install the flex and bison packages.
6abb89c3 90
0ee5f8c6
JM
91In case you want to build the documentation yourself, you'll also
92need the DocBook tools (db2html, db2ps, db2pdf).
93
d6baf1bb 944. COMPILATION
a69b88b2 95
c9ec8846
AM
96In case you chose to not use wineinstall, run the following commands
97to build Wine:
401710d7 98
d6baf1bb
AJ
99./configure
100make depend
101make
102
1af53cbb 103This will build the program "wine" and numerous support libraries/binaries.
a0b2b1d0 104The program "wine" will load and run Windows executables.
1af53cbb
AM
105The library "libwine" ("Winelib") can be used to compile and link
106Windows source code under Unix.
d6baf1bb 107
1af53cbb 108To see compile configuration options, do ./configure --help.
e2bfa4c7 109
3a5816f8
AJ
110To upgrade to a new release by using a patch file, first cd to the
111top-level directory of the release (the one containing this README
112file). Then do a "make clean", and patch the release with:
113
114 gunzip -c patch-file | patch -p1
f41aeca9 115
3a5816f8 116where "patch-file" is the name of the patch file (something like
ff8331ea 117Wine-yymmdd.diff.gz). You can then re-run "./configure", and then
d6baf1bb 118run "make depend && make".
5f721f81 119
3a5816f8 120
d6baf1bb 1215. SETUP
8d24ae6d 122
7e56f684 123Once Wine has been built correctly, you can do "make install"; this
38a3d264
JJ
124will install the wine executable, the Wine man page, and a few other
125needed files.
7e56f684 126
de53c487
AM
127Don't forget to uninstall any conflicting previous Wine installation
128first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
129before installing.
130
0ee5f8c6
JM
131If you want to build the documentation, you can run "make" in the
132documentation directory.
133
73be8d1c
AJ
134Wine requires a configuration file named wine.conf. Its default
135location is /usr/local/etc, but you can supply a different name when
136configuring wine by using the --prefix or --sysconfdir options to
137./configure. You can also override the global configuration file with
138a file named "config" in your ~/.wine directory.
8d24ae6d 139
7e56f684 140The format of this file is explained in the man page. The file
73be8d1c
AJ
141documentation/samples/config contains an example configuration file
142which has to be adapted and copied to one of the two locations
143mentioned above.
8a82991a 144
d6baf1bb 145See http://www.winehq.com/config.html for further configuration hints.
8d24ae6d 146
5142150f
AM
147In 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".
8d24ae6d 150
d6baf1bb 1516. RUNNING PROGRAMS
8d24ae6d 152
38a3d264 153When invoking Wine, you may specify the entire path to the executable,
8d24ae6d
AJ
154or a filename only.
155
692389d0 156For example: to run Solitaire:
8d24ae6d
AJ
157
158 wine sol (using the searchpath to locate the file)
159 wine sol.exe
5f721f81 160
692389d0 161 wine c:\\windows\\sol.exe (using a DOS filename)
5f721f81 162
692389d0 163 wine /usr/windows/sol.exe (using a Unix filename)
f41aeca9 164
3a5816f8 165Note: the path of the file will also be added to the path when
5819953c
AJ
166 a full name is supplied on the commandline.
167
581fc926
AM
168Wine is not yet complete, so some programs may crash. Provided you set up
169winedbg correctly according to documentation/debugger.sgml, you will be dropped
38a3d264
JJ
170into 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.
8d24ae6d 174
a6d83eba
AM
175You 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
179directories sometimes.
180
8d24ae6d 181
d6baf1bb 1827. GETTING MORE INFORMATION
46ea8b3f 183
8cd93514
AM
184DOCU: grep -i "SearchString" `find documentation/`|more
185
c9ec8846 186FAQ: The Wine FAQ is located at http://www.winehq.com/FAQ
46ea8b3f 187
38a3d264 188WWW: A great deal of information about Wine is available from WineHQ at
c9ec8846
AM
189 http://www.winehq.com/, especially various user guides.
190 Untested patches against the current release
692389d0 191 are available on the wine-patches mailing list; see
1af53cbb 192 http://www.winehq.com/dev.shtml#ml for more information.
46ea8b3f 193
8cd93514 194HOWTO: The Wine HOWTO is available at
0ff60a08
JJ
195 http://www.westfalen.de/witch/wine-HOWTO.txt .
196
38a3d264
JJ
197Usenet: Please browse old messages on http://www.dejanews.com/ to check whether
198 your problem is already fixed before posting a bug report to the
199 newsgroup.
46ea8b3f 200
38a3d264
JJ
201 The best place to get help or to report bugs is the Usenet newsgroup
202 comp.emulators.ms-windows.wine. Please read the file
203 documentation/bugreports to see what information should be included
204 in a bug report.
46ea8b3f 205
8cd93514
AM
206IRC: Online help is available at channel #WineHQ on IRCnet.
207
38a3d264 208CVS: The current Wine development tree is available through CVS.
1af53cbb 209 Go to http://www.winehq.com/dev.shtml for more information.
8d24ae6d 210
ff8331ea 211If you add something, or fix a bug, please send a patch ('diff -u'
0ee5f8c6
JM
212format preferred) to julliard@winehq.com or to the
213wine-patches@winehq.com mailing list for inclusion in the next
ff8331ea 214release.
8d24ae6d 215
3a5816f8
AJ
216--
217Alexandre Julliard
a46f5ad0 218julliard@winehq.com