Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix. It
consists of a program loader which loads and executes a Microsoft
-Windows binary, and a library that implements Windows API calls using
-their Unix or X11 equivalents. The library may also be used for
-porting Win32 code into native Unix executables.
+Windows binary, and a library (called Winelib) that implements Windows
+API calls using their Unix or X11 equivalents. The library may also
+be used for porting Win32 code into native Unix executables.
-Wine is free software, and its license (contained in the file LICENSE)
-is BSD style. Basically, you can do anything with it except claim
-that you wrote it.
+Wine is free software, released under the GNU LGPL; see the file
+LICENSE for the details.
+2. QUICK START
-2. REQUIREMENTS
+Whenever you compile from source, it is recommended to use the Wine
+Installer to build and install Wine. From the top-level directory
+of the Wine source (which contains this file), run:
+
+./tools/wineinstall
+
+Run programs as "wine [options] program". For more information and
+problem resolution, read the rest of this file, the Wine man page,
+the files in the documentation directory of the Wine source
+(see "DOCUMENTATION"), and especially the wealth of information
+found at http://www.winehq.org.
+
+3. REQUIREMENTS
To compile and run Wine, you must have one of the following:
- Linux version 2.0.36 or above
- FreeBSD-current or FreeBSD 3.0 or later
- Solaris x86 2.5 or later
+ Linux version 2.0.36 or above
+ FreeBSD 5.3 or later
+ Solaris x86 2.5 or later
+ NetBSD-current
+
+As Wine requires kernel-level thread support to run, only the operating
+systems mentioned above are supported.
+Other operating systems which support kernel threads may be supported
+in the future.
+
+Linux info:
+ While Linux 2.2.x should still work and Linux 2.0.x may still work
+ (older 2.0.x versions had thread-related crashes),
+ it's best to have a current kernel such as 2.4.x.
+
+FreeBSD info:
+ Wine should build on FreeBSD 4.x and FreeBSD 5.x, but versions before
+ FreeBSD 5.3 will generally not work properly.
+
+ More information can be found in the FreeBSD ports tree at
+ <ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/emulators/wine/>.
+
+Solaris info:
+ You will most likely need to build Wine with the GNU toolchain
+ (gcc, gas, etc.). Warning : installing gas does *not* ensure that it
+ will be used by gcc. Recompiling gcc after installing gas or
+ symlinking cc, as and ld to the gnu tools is said to be necessary.
+
+NetBSD info:
+ Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
+ turned on in your kernel.
+
+
+
+Supported file systems:
+ Wine should run on most file systems. However, Wine will fail to start
+ if umsdos is used for the /tmp directory. A few compatibility problems have
+ also been reported using files accessed through Samba. Also, as NTFS
+ can only be used safely with readonly access for now, we recommend against
+ using NTFS, as Windows programs need write access almost everywhere.
+ In case of NTFS files, copy over to a writable location.
+
+Basic requirements:
+ You need to have the X11 development include files installed
+ (called xlib6g-dev in Debian and XFree86-devel in RedHat).
-Although Linux version 2.0.x will mostly work, certain features
-(specifically LDT sharing) required for properly supporting Win32
-threads were not implemented until kernel version 2.2. If you get
-consistent thread-related crashes, you may want to upgrade to 2.2.
+Build tool requirements:
+ On x86 Systems gcc >= 2.7.2 is required.
+ Versions earlier than 2.7.2.3 may have problems when certain files
+ are compiled with optimization, often due to problems with header file
+ management. pgcc currently doesn't work with Wine. The cause of this problem
+ is unknown.
-You also need to have libXpm installed on your system. The sources for
-it are probably available on the FTP site where you got Wine. They can
-also be found on ftp.x.org and all its mirror sites. If you are using
-RedHat, install the xpm and xpm-devel packages. Debian users need
-xpm4.7, xpm4g, and xpm4g-dev 3.4j.
+ Of course you also need "make" (most likely GNU make).
-On x86 Systems gcc >= 2.7.2 is required. You also need flex version 2.5
-or later and yacc. Bison will work as a replacement for yacc. If you are
-using RedHat, install the flex and bison packages.
+ You also need flex version 2.5 or later and bison. If you are
+ using RedHat or Debian, install the flex and bison packages.
-3. COMPILATION
+Optional support libraries:
+ If you want CUPS printing support, please install both cups and cups-devel
+ packages.
-To build Wine, first run "./configure" and then run "make depend; make".
-This will build the library "libwine.a" and the program "wine".
+For requirements in case you intend to build the documentation yourself,
+see "DOCUMENTATION" section.
+4. COMPILATION
+
+In case you chose to not use wineinstall, run the following commands
+to build Wine:
+
+./configure
+make depend
+make
+
+This will build the program "wine" and numerous support libraries/binaries.
The program "wine" will load and run Windows executables.
-The library "libwine.a" can be used to compile and link Windows source
-code under Unix. If you have an ELF compiler, you can use
-"./configure --enable-dll" to build a shared library instead. To see
-other configuration options, do ./configure --help.
+The library "libwine" ("Winelib") can be used to compile and link
+Windows source code under Unix.
+
+To see compile configuration options, do ./configure --help.
To upgrade to a new release by using a patch file, first cd to the
top-level directory of the release (the one containing this README
where "patch-file" is the name of the patch file (something like
Wine-yymmdd.diff.gz). You can then re-run "./configure", and then
-run "make depend; make".
-
+run "make depend && make".
-4. SETUP
+5. SETUP
Once Wine has been built correctly, you can do "make install"; this
will install the wine executable, the Wine man page, and a few other
needed files.
-Wine requires you to have a file /usr/local/etc/wine.conf (you can
-supply a different name when configuring wine) or a file called .winerc
-in your home directory.
+Don't forget to uninstall any conflicting previous Wine installation
+first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
+before installing.
+
+If you want to read the documentation supplied with the Wine source,
+see the "DOCUMENTATION" section.
-The format of this file is explained in the man page. The file
-wine.ini contains a config file example which has to be adapted
-and copied to one of the two locations mentioned above.
+Wine requires a configuration file named named "config" in your
+~/.wine directory. The format of this file is explained in the config file
+man page (documentation/wine.conf.man).
+The file documentation/samples/config contains an example configuration file
+which has to be adapted and copied to the location mentioned above.
-See www.winehq.com/config.html for further configuration hints.
+See the Support area at http://www.winehq.org/ for further
+configuration hints.
+In case of library loading errors
+(e.g. "Error while loading shared libraries: libntdll.so"), make sure
+to add the library path to /etc/ld.so.conf and run ldconfig as root.
-5. RUNNING PROGRAMS
+6. RUNNING PROGRAMS
When invoking Wine, you may specify the entire path to the executable,
or a filename only.
For example: to run Solitaire:
- wine sol (using the searchpath to locate the file)
- wine sol.exe
+ wine sol (using the search Path as specified in
+ wine sol.exe the config file to locate the file)
- wine c:\\windows\\sol.exe (using a DOS filename)
+ wine c:\\windows\\sol.exe (using DOS filename syntax)
- wine /usr/windows/sol.exe (using a Unix filename)
+ wine /usr/windows/sol.exe (using Unix filename syntax)
+
+ wine sol.exe /parameter1 -parameter2 parameter3
+ (calling program with parameters)
Note: the path of the file will also be added to the path when
a full name is supplied on the commandline.
-Wine is not yet complete, so some programs may crash. You will be dropped
-into a debugger so that you can investigate and fix the problem. For more
-information on how to do this, please read the file documentation/debugging.
-If you post a bug report, please read the file documentation/bugreports to
-see what information is required.
+Wine is not yet complete, so several programs may crash. Provided you set up
+winedbg correctly according to documentation/debugger.sgml, you will be dropped
+into a debugger so that you can investigate and fix the problem.
+For more information on how to do this, please read the file
+documentation/debugging.sgml.
+
+You should backup all your important files that you give Wine access
+to, or use a special Wine copy of them, as there have been some cases
+of users reporting file corruption. Do NOT run Explorer, for instance,
+if you don't have a proper backup, as it renames/cripples several
+directories sometimes. Not even other MS apps such as e.g. Messenger are safe,
+as they launch Explorer somehow. This particular corruption (!$!$!$!$.pfr)
+can at least partially be fixed by using
+http://home.nexgo.de/andi.mohr/download/decorrupt_explorer
+
+7. DOCUMENTATION
+Some documentation (various Wine Guides etc.) can be found in the
+documentation/ directory (apart from also being available on WineHQ).
-6. GETTING MORE INFORMATION
+If you want to process the SGML files in there, then you can run "make doc"
+in the documentation/ directory.
+Doing so requires the sgml tools package (for db2html, db2ps, db2pdf) named:
+Debian: docbook-utils
+Mandrake: sgml-tools-A.B.C-DDmdk
+SuSE: docbktls-A.BB.C-DD
-FAQ: The Wine FAQ is located at http://www.winehq.com/faq.html.
+8. GETTING MORE INFORMATION
WWW: A great deal of information about Wine is available from WineHQ at
- http://www.winehq.com/. Untested patches against the current release
- are available on the wine-patches mailing list; see
- http://www.winehq.com/dev.html#ml for more information.
+ http://www.winehq.org/ : various Wine Guides, application database,
+ bug tracking. This is probably the best starting point.
-HOWTO: A pre-release version of the Wine HOWTO is available at
- http://www.westfalen.de/witch/wine-HOWTO.txt .
+FAQ: The Wine FAQ is located at http://www.winehq.org/FAQ
-Usenet: Please browse old messages on http://www.dejanews.com/ to check whether
- your problem is already fixed before posting a bug report to the
- newsgroup.
+Usenet: You can discuss Wine-related issues and get help
+ on comp.emulators.ms-windows.wine.
- The best place to get help or to report bugs is the Usenet newsgroup
- comp.emulators.ms-windows.wine. Please read the file
- documentation/bugreports to see what information should be included
- in a bug report.
+Bugs: Report bugs to Wine Bugzilla at http://bugs.winehq.org
+ Please search the bugzilla database to check whether your
+ problem is already found before posting a bug report. You can
+ also post bug reports to comp.emulators.ms-windows.wine.
+ Please read the file documentation/bugs.sgml to see what
+ information is required.
+
+IRC: Online help is available at channel #WineHQ on irc.freenode.net.
CVS: The current Wine development tree is available through CVS.
- Go to http://www.winehq.com/dev.html for more information.
+ Go to http://www.winehq.org/cvs for more information.
+
+Mailing lists:
+ There are several mailing lists for Wine developers; see
+ http://www.winehq.org/forums for more information.
-If you add something, or fix a bug, please send a patch ('diff -u'
-format preferred) to julliard@lrc.epfl.ch for inclusion in the next
+If you add something, or fix a bug, please send a patch (in 'diff -u'
+format) to wine-patches@winehq.org list for inclusion in the next
release.
--
Alexandre Julliard
-julliard@lrc.epfl.ch
+julliard@winehq.org