| 1. INTRODUCTION |
| |
| 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 (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, released under the GNU LGPL; see the file |
| LICENSE for the details. |
| |
| 2. QUICK START |
| |
| 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.com. |
| |
| 3. REQUIREMENTS |
| |
| To compile and run Wine, you must have one of the following: |
| |
| Linux version 2.0.36 or above |
| FreeBSD 4.x or FreeBSD 5-CURRENT |
| Solaris x86 2.5 or later |
| NetBSD-current |
| |
| Linux info: |
| 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 at least 2.2. |
| Also, some bugs were fixed and additional features were added |
| late in the Linux 2.0.x series, so if you have a very old Linux kernel, |
| you may want to upgrade to at least the latest 2.0.x release. |
| |
| FreeBSD info: |
| Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options |
| turned on in your kernel. |
| More information including patches for the 4-STABLE branch is in the |
| ports tree: |
| ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/emulators/wine/files/ |
| |
| 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. |
| |
| File systems info: |
| 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. |
| |
| Wine requires kernel-level threads to run. Currently, only Linux |
| version 2.0 or later, FreeBSD-current or FreeBSD 3.0 or later, |
| Solaris x86 version 2.5 or later, and NetBSD-current are supported. |
| Other operating systems which support kernel threads may be supported |
| in the future. |
| |
| You need to have the X11 development include files installed |
| (called xlib6g-dev in Debian and XFree86-devel in RedHat). |
| To use Wine's support for multi-threaded applications, your X libraries |
| must be reentrant, which is probably the default by now. |
| If you have libc6 (glibc2), or you compiled the X libraries yourself, |
| they were probably compiled with the reentrant option enabled. |
| |
| 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 flex version 2.5 or later and yacc. |
| Bison will work as a replacement for yacc. If you are |
| using RedHat or Debian, install the flex and bison packages. |
| |
| 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" ("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 |
| file). Then do a "make clean", and patch the release with: |
| |
| gunzip -c patch-file | patch -p1 |
| |
| 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". |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| Don't forget to add vital registry entries by applying winedefault.reg |
| with programs/regapi/. See documentation/ directory for details. |
| |
| See http://www.winehq.com/support.shtml 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. |
| |
| In order to verify the correctness of the environment you need for |
| Wine to run successfully, you may run "./tools/winecheck | less". |
| You'll get a percentage score indicating "Wine configuration correctness". |
| As this program is alpha, it doesn't run a truly thorough test yet, though, |
| so it should be taken as a first verification step only. |
| |
| See wine.conf man page on how to switch to text mode only support if desired. |
| |
| 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 c:\\windows\\sol.exe (using a DOS filename) |
| |
| wine /usr/windows/sol.exe (using a Unix filename) |
| |
| 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 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). |
| |
| If you want to process the SGML files in there, then you can run "make" |
| 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 |
| |
| 8. GETTING MORE INFORMATION |
| |
| WWW: A great deal of information about Wine is available from WineHQ at |
| http://www.winehq.com/ : various Wine Guides, application database, |
| bug tracking. This is probably the best starting point. |
| |
| FAQ: The Wine FAQ is located at http://www.winehq.com/FAQ |
| |
| Usenet: You can discuss Wine-related issues and get help |
| on comp.emulators.ms-windows.wine. |
| |
| Bugs: Report bugs to Wine Bugzilla at http://bugs.winehq.com/. |
| 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. |
| |
| HOWTO: The Wine HOWTO (outdated !) is available at |
| http://www.westfalen.de/witch/wine-HOWTO.txt . |
| |
| IRC: Online help is available at channel #WineHQ on irc.openprojects.net. |
| |
| CVS: The current Wine development tree is available through CVS. |
| Go to http://www.winehq.com/dev.shtml for more information. |
| |
| Mailing lists: |
| There are several mailing lists for Wine developers; see |
| http://www.winehq.com/dev.shtml#ml for more information. |
| |
| If you add something, or fix a bug, please send a patch (in 'diff -u' |
| format) to wine-patches@winehq.com list for inclusion in the next |
| release. |
| |
| -- |
| Alexandre Julliard |
| julliard@winehq.com |