mirror of
https://github.com/reactos/wine.git
synced 2024-11-26 21:20:25 +00:00
242 lines
9.0 KiB
Plaintext
242 lines
9.0 KiB
Plaintext
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.org.
|
|
|
|
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 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:
|
|
Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG
|
|
options turned on in your kernel. More information is in the ports
|
|
tree: 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).
|
|
|
|
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.
|
|
|
|
Of course you also need "make" (most likely GNU make).
|
|
|
|
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.
|
|
|
|
Optional support libraries:
|
|
If you want CUPS printing support, please install both cups and cups-devel
|
|
packages.
|
|
|
|
For the automatic processing of the test suite scripts, you also need
|
|
libperl development header support (libperl-dev package on Debian).
|
|
|
|
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/regedit/. See documentation/ directory for details.
|
|
|
|
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.
|
|
|
|
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 search Path as specified in
|
|
wine sol.exe the config file to locate the file)
|
|
|
|
wine c:\\windows\\sol.exe (using DOS filename syntax)
|
|
|
|
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 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 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
|
|
|
|
8. GETTING MORE INFORMATION
|
|
|
|
WWW: A great deal of information about Wine is available from WineHQ at
|
|
http://www.winehq.org/ : various Wine Guides, application database,
|
|
bug tracking. This is probably the best starting point.
|
|
|
|
FAQ: The Wine FAQ is located at http://www.winehq.org/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.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.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 (in 'diff -u'
|
|
format) to wine-patches@winehq.org list for inclusion in the next
|
|
release.
|
|
|
|
--
|
|
Alexandre Julliard
|
|
julliard@winehq.org
|