mirror of
https://github.com/reactos/wine.git
synced 2024-11-26 21:20:25 +00:00
465 lines
16 KiB
Plaintext
465 lines
16 KiB
Plaintext
Copyright 1999 Adam Sacarny (magicbox@bestweb.net)
|
|
1. WHAT IS THE WINE CONFIG FILE?
|
|
|
|
The Wine config file stores various settings for Wine. These include:
|
|
Drives and Information about them
|
|
Directory Settings
|
|
Port Settings
|
|
The Wine look and feel
|
|
Wine's DLL Usage
|
|
|
|
2. HOW DO I MAKE ONE?
|
|
|
|
This section will guide you through the process of making a config file. Take a
|
|
look at the file <dirs to wine>/wine.ini
|
|
It is organized by section.
|
|
|
|
|
|
Name | Needed? | What it does
|
|
----------------------------------------------------------------
|
|
[Drive X] | yes | Sets up drives recognized by wine
|
|
[wine] | yes | Settings for wine directories
|
|
[DllDefaults] | recmd | Defaults for loading DLL's
|
|
[DllPairs] | recmd | Sanity checkers for DLL's
|
|
[DllOverrides] | recmd | Overides defaults for DLL loading
|
|
[options] | no | No one seems to know
|
|
[fonts] | yes | Font appearance and recognition
|
|
[serialports] | no | COM ports seen by wine
|
|
[parallelports] | no | LPT ports seen by wine
|
|
[spooler] | no | Print spooling
|
|
[ports] | no | Direct port access
|
|
[spy] | no | What to do with certain debug messages
|
|
[Registry] | no | Specifies locations of windows registry files
|
|
[tweak.layout] | recmd | Appearance of wine
|
|
[programs] | no | Programs to be run automatically
|
|
[Console] | no | Console settings
|
|
Recmd-Recommended
|
|
2.1 THE [Drive X] SECTION
|
|
It should be pretty self explanatory, but here is an in-depth tutorial about
|
|
them.
|
|
There are up to 6 lines for each drive in Wine.
|
|
|
|
[Drive X]
|
|
|
|
The above line begins the section for a drive whose letter is X.
|
|
|
|
Path=/dir/to/path
|
|
|
|
This path is where the drive will begin. When Wine is browsing in drive X, it
|
|
will see the files that are in the directory "/dir/to/path". Don't forget to
|
|
leave off the trailing slash!
|
|
|
|
Type=floppy|hd|cdrom|network <--- the |'s mean Type=<one of the options>
|
|
|
|
Sets up the type of drive Wine will see it as. Type must equal one of the four
|
|
"floppy", "hd", "cdrom", or "network". They are self-explanatory.
|
|
|
|
Label=blah
|
|
|
|
Defines the drive label. Generally only needed for programs that look for a
|
|
special CD-ROM. Info on finding the lable is in <dirs to
|
|
wine>/documentation/cdrom-labels. The label may be up to 11 characters.
|
|
|
|
Serial=deadbeef
|
|
|
|
Tells Wine the serial number of the drive. A few programs with intense
|
|
protection for pirating might need this, but otherwise don't use it. Up to 8
|
|
characters and hexadecimal.
|
|
|
|
Filesystem=msdos|win95|unix
|
|
|
|
Sets up the way Wine looks at files on the drive.
|
|
|
|
msdos -> Case insensitive filesystem. Alike to DOS and Windows 3.x.
|
|
8.3 is the maximum length of files (eightdot.123) - longer ones will be
|
|
truncated. (NOTE: this is a very bad choice if you plan on running apps
|
|
that use long filenames. win95 should work fine with apps that were
|
|
designed to run under the msdos system. In other words, you might not
|
|
want to use this.)
|
|
|
|
win95 -> Case insensitive. Alike to Windows 9x/NT 4. This is the long
|
|
filename filesystem you are probably used to working with. The
|
|
filesystem of choice for most applications to be run under wine.
|
|
PROBABLY THE ONE YOU WANT
|
|
|
|
unix -> Case sensitive. This filesystem has almost no use (Windows apps
|
|
expect case insensitive filenames). Try it if you dare, but win95 is a
|
|
much better choice.
|
|
|
|
Device=/dev/xx
|
|
|
|
Use this ONLY for floppy and cdrom devices. Using it on Extended2 partitions can
|
|
have dire results (When a windows app tries to do a lowlevel write, they do it
|
|
in a FAT way -- FAT does not mix with Extended2). Currently, it is useless when
|
|
used on cdrom's, however functionality could be implemented later to allow wine
|
|
to automatically find the cdrom label.
|
|
NOTE: This setting is not terribly important, almost all apps will have no
|
|
problem if it remains unspecified. If you are unsure about specifying device
|
|
names, just leave out this setting for your drives.
|
|
|
|
Here is a setup for Drive X, a generic hard drive:
|
|
[Drive X]
|
|
Path=/dos-a
|
|
Type=hd
|
|
Label=Hard Drive
|
|
Filesystem=win95
|
|
This is a setup for Drive X, a generic CD-ROM drive:
|
|
[Drive X]
|
|
Path=/dos-d
|
|
Type=cdrom
|
|
Label=Total Annihilation
|
|
Filesystem=win95
|
|
Device=/dev/hdc
|
|
And here is a setup for Drive X, a generic floppy drive:
|
|
[Drive X]
|
|
Type=floppy
|
|
Path=/mnt/floppy
|
|
Label=Floppy Drive
|
|
Serial=87654321
|
|
Filesystem=win95
|
|
Device=/dev/fd0
|
|
|
|
2.2 THE [wine] SECTION
|
|
|
|
The [wine] section of the configuration file contains information wine uses for
|
|
directories. When specifying the directories for the settings, make them as they
|
|
would appear in wine. If your drive C has a Path of /dos, and your windows
|
|
directory is located in /dos/windows, Windows=c:\windows.
|
|
|
|
Windows=c:\windows
|
|
|
|
Sets up the windows directory. Make one if you don't have windows. NO TRAILING
|
|
SLASH (NOT C:\windows\)!
|
|
|
|
System=c:\windows\system
|
|
|
|
Sets up where the windows system files are. Should reside in the directory used
|
|
for the "Windows" setting. If you don't have windows then this is where the
|
|
system files will go. NO TRAILING SLASH!
|
|
|
|
Temp=c:\temp
|
|
|
|
This should be the directory you want your temp files stored in. YOU MUST HAVE
|
|
WRITE ACCESS TO IT.
|
|
|
|
Path=c:\windows;c:\windows\system;c:\blanco
|
|
|
|
Behaves like the PATH setting on unix boxes. When wine is run like "wine
|
|
sol.exe", if sol.exe resides in a directory specified in the "Path" setting,
|
|
wine will run it (Of course, if sol.exe resides in the current directory, wine
|
|
will run that one). Make sure it always has your windows directory and system
|
|
directory (For this setup, it must have c:\windows;c:\windows\system).
|
|
|
|
SymbolTableFile=wine.sym
|
|
|
|
Sets up the symbol table file for the wine debugger. You probably don't need to
|
|
fiddle with this. May be useful if your wine is stripped.
|
|
|
|
printer=off|on
|
|
|
|
Tells wine whether to allow printer drivers and printing to work. Using these
|
|
things are pretty alpha, so you might want to watch out. Some people might find
|
|
it useful, however. If you're not planning on working on printing, don't even
|
|
add this to your wine.ini (It probably isn't already in it). Check out the
|
|
[spooler] and [parallelports] sections too.
|
|
|
|
2.3 INTRODUCTION TO DLL SECTIONS
|
|
|
|
There are a few things you will need to know before configuring the DLL sections
|
|
in your wine configuration file.
|
|
|
|
2.3.1 WINDOWS DLL PAIRS
|
|
|
|
Most windows DLL's have a win16 (Windows 3.x) and win32 (Windows 9x/NT)
|
|
form. The combination of the win16 and win32 DLL versions are called
|
|
the "DLL pair". This is a list of the most common pairs:
|
|
Win16 | Win32 | Native*
|
|
-----------------------------
|
|
KERNEL | KERNEL32 | No!
|
|
USER | USER32 | No!
|
|
SHELL | SHELL32 | Yes
|
|
GDI | GDI32 | No!
|
|
COMMDLG | COMDLG32 | Yes
|
|
VER | VERSION | Yes
|
|
*-Is it possible to use native dll with wine?(See next section)
|
|
|
|
2.3.2 DIFFERENT FORMS OF DLL'S
|
|
|
|
There are a few different forms of DLL's wine can load:
|
|
native -> The DLL's that are included with windows. Many windows
|
|
DLL's can be loaded in their native form. Many times these
|
|
native versions work better than their non-Microsoft equivalent
|
|
-- other times they don't.
|
|
elfdll -> ELF encapsulated windows DLL's. This is currently
|
|
experimental (Not working yet).
|
|
so -> Native ELF libraries. Will not work yet.
|
|
builtin -> The most common form of DLL loading. This is what you
|
|
will use if the DLL is error-prone in native form (KERNEL for
|
|
example), you don't have the native DLL, or you just want to be
|
|
Microsoft-free.
|
|
|
|
2.4 THE [DllDefaults] SECTION
|
|
|
|
These settings provide wine's default handling of DLL loading.
|
|
|
|
EXTRA_LD_LIBRARY_PATH=/dirs
|
|
|
|
The directory specified here is appended to the normal search path for certain
|
|
forms of DLL's (elfdll and .so).
|
|
|
|
DefaultLoadOrder = native, elfdll, so, builtin
|
|
|
|
This setting is a comma-delimited list of which order to attempt loading DLL's.
|
|
If the first option fails, it will try the second, and so on. The order
|
|
specified above is probably the best in most conditions.
|
|
|
|
2.5 THE [DllPairs] SECTION
|
|
|
|
This section is optional, but strongly recommended. If you try to use native
|
|
SHELL32, but builtin SHELL, you could have some big problems (native and
|
|
builtin/so/elfdll do certain things in different ways). Using different forms of
|
|
a pair is a *very*, **very** bad idea. By specifying DLL pairs here, wine will
|
|
print out a message if you use different forms of a pair.
|
|
You shouldn't need to change anything in this section, the following should work
|
|
fine in all cases:
|
|
|
|
[DllPairs]
|
|
kernel = kernel32
|
|
gdi = gdi32
|
|
user = user32
|
|
commdlg = comdlg32
|
|
commctrl= comctl32
|
|
ver = version
|
|
shell = shell32
|
|
lzexpand= lz32
|
|
winsock = wsock32
|
|
|
|
2.6 THE [DllOverrides] SECTION
|
|
|
|
The format for this section is the same for each line:
|
|
|
|
<DLL>{,<DLL>,<DLL>...} = <FORM>{,<FORM>,<FORM>...}
|
|
|
|
For example, to load builtin KERNEL pair (Case doesn't matter here):
|
|
|
|
kernel,kernel32 = builtin
|
|
|
|
To load the native COMMDLG pair, but if that doesn't work try builtin:
|
|
|
|
commdlg,comdlg32 = native,builtin
|
|
|
|
To load the native COMCTL32:
|
|
|
|
comctl32 = native
|
|
|
|
Here is a good generic setup (As it is defined in wine.ini that was included
|
|
with your wine package):
|
|
|
|
[DllOverrides]
|
|
kernel32, gdi32, user32 = builtin
|
|
kernel, gdi, user = builtin
|
|
toolhelp = builtin
|
|
comdlg32, commdlg = elfdll, builtin, native
|
|
version, ver = elfdll, builtin, native
|
|
shell32, shell = builtin, native
|
|
lz32, lzexpand = builtin, native
|
|
commctrl, comctl32 = builtin, native
|
|
wsock32, winsock = builtin
|
|
advapi32, crtdll, ntdll = builtin, native
|
|
mpr, winspool = builtin, native
|
|
ddraw, dinput, dsound = builtin, native
|
|
winmm, w32skrnl, msvfw32= builtin
|
|
wnaspi32, wow32 = builtin
|
|
system, display, wprocs = builtin
|
|
wineps = builtin
|
|
|
|
NOTE: You see that elfdll or so is the first option for a few of these dll's.
|
|
This will fail for you, but you won't notice it as wine will just use the second
|
|
or third option.
|
|
|
|
2.7 THE [options] SECTION
|
|
|
|
No one seems to know what this section is...
|
|
|
|
AllocSystemColors=100
|
|
|
|
System colors to allocate? Just leave it at 100.
|
|
|
|
2.8 THE [fonts] SECTION
|
|
|
|
This section sets up wine's font handling.
|
|
|
|
Resolution = 96
|
|
|
|
Since the way X handles fonts is different from the way Windows does, wine uses
|
|
a special mechanism to deal with them. It must scale them using the number
|
|
defined in the "Resolution" setting. 60-120 are reasonable values, 96 is a nice
|
|
in the middle one. If you have the real windows fonts available (<dirs to
|
|
wine>/documentation/ttfserver and fonts), this parameter will not be as
|
|
important. Of course, it's always good to get your X fonts working acceptably in
|
|
wine.
|
|
|
|
Default = -adobe-times-
|
|
|
|
The default font wine uses. Fool around with it if you'd like.
|
|
|
|
OPTIONAL:
|
|
|
|
The "Alias" setting allows you to map an X font to a font used in wine. This is
|
|
good for apps that need a special font you don't have, but a good replacement
|
|
exists. The syntax is like so:
|
|
|
|
AliasX = [Fake windows name],[Real X name]<,optional "masking" section>
|
|
|
|
Pretty straightforward. Replace "AliasX" with "Alias0", then "Alias1" and so on.
|
|
The fake windows name is the name that the font will be under a windows app in
|
|
wine. The real X name is the font name as seen by X (Run "xfontsel").
|
|
The optional "masking" section allows you to utilize the fake windows name you
|
|
define. If it is not used, then wine will just try to extract the fake windows
|
|
name itself and not use the value you enter.
|
|
|
|
Here is an example of an alias without masking. The font will show up in windows
|
|
apps as "Google". When defining an alias in a config file, forget about my
|
|
comment text (The "<-- blah" stuff)
|
|
|
|
Alias0 = Foo,--google- <-- Note the no spaces after the " = ". Important!
|
|
|
|
Here is an example with masking enabled. The font will show up as "Foo" in
|
|
windows apps.
|
|
|
|
Alias1 = Foo,--google-,subst
|
|
|
|
For more info check out <dirs to wine>/documentation/fonts
|
|
|
|
2.9 THE [serialports], [parallelports], [spooler], AND [ports] SECTIONS
|
|
|
|
Even though it sounds like a lot of sections, these are all closely related.
|
|
They all are for communications and parallel ports.
|
|
|
|
The [serialports] section tells wine what serial ports it is allowed to use.
|
|
|
|
ComX=/dev/cuaY
|
|
|
|
Replace X with the number of the COM port in Windows (1-8) and Y with the
|
|
number of it in X (Usually the number of the port in Windows minus 1). ComX can
|
|
actually equal any device (/dev/modem is acceptable). It is not always necessary
|
|
to define any COM ports (An optional setting). Here is an example:
|
|
|
|
Com1=/dev/cua0
|
|
|
|
Use as many of these as you like in the section to define all of the COM ports
|
|
you need.
|
|
|
|
The [parallelports] section sets up any parallel ports that will be allowed
|
|
access under wine.
|
|
|
|
LptX=/dev/lpY
|
|
|
|
Seem farmiliar? Syntax is just like the COM port setting. Replace X with a value
|
|
from 1-4 as it is in Windows and Y with a value from 0-3 (Y is usually the value
|
|
in windows minus 1, just like for COM ports). You don't always need to define a
|
|
parallel port (AKA, it's optional). As with the other section, LptX can equal
|
|
any device (Maybe /dev/printer). Here is an example:
|
|
|
|
Lpt1=/dev/lp0
|
|
|
|
The [spooler] section will inform wine where to spool print jobs. Use this if
|
|
you want to try printing. Wine docs claim that spooling is "rather primitive" at
|
|
this time, so it won't work perfectly. IT IS OPTIONAL
|
|
The only setting you use in this section works to map a port (LPT1, for example)
|
|
to a file or a command. Here is an example, mapping LPT1 to the file "out.ps":
|
|
|
|
LPT1:=out.ps
|
|
|
|
The following command maps printing jobs to LPT1 to the command "lpr". Notice
|
|
the |:
|
|
|
|
LPT1:=|lpr
|
|
|
|
The [ports] section is usually useful only for people who need direct port
|
|
access for programs requiring dongles or scanners. IF YOU DON'T NEED IT, DON'T
|
|
USE IT!
|
|
|
|
read=0x779,0x379,0x280-0x2a0
|
|
|
|
Gives direct read access to those IO's.
|
|
|
|
write=0x779,0x379,0x280-0x2a0
|
|
|
|
Gives direct write access to those IO's. It probably a good idea to keep the
|
|
values of the "read" and "write" settings the same. This stuff will only work
|
|
when you're root.
|
|
|
|
2.10 THE [spy], [Registry], [tweak.layout], and [programs] SECTIONS
|
|
|
|
[spy] is used to Include or exclude debug messages, and to output them to a
|
|
file. The latter is rarely used. THESE ARE ALL OPTIONAL AND YOU PROBABLY DON'T
|
|
NEED TO ADD OR REMOVE ANYTHING IN THIS SECTION TO YOUR CONFIG.
|
|
|
|
File=/blanco
|
|
|
|
Sets the logfile for wine. Set to CON to log to standard out. THIS IS RARELY
|
|
USED
|
|
|
|
Exclude=WM_SIZE;WM_TIMER;
|
|
|
|
Excludes debug messages about WM_SIZE and WM_TIMER in the logfile.
|
|
|
|
Include=WM_SIZE;WM_TIMER;
|
|
|
|
Includes debug messages about WM_SIZE and WM_TIMER in the logfile.
|
|
|
|
[Registry] can be used to tell wine where your old windows registry files exist. This
|
|
section is completely optional and useless to people using wine without an existing
|
|
windows installation.
|
|
|
|
UserFileName=/dirs/to/user.reg
|
|
|
|
The location of your old user.reg file.
|
|
|
|
LocalMachineFileName=/dirs/to/system.reg
|
|
|
|
The location of your old system.reg file.
|
|
|
|
[tweak.layout] is devoted to wine's look. There is only one setting for it.
|
|
|
|
WineLook=win31|win95|win98
|
|
|
|
Will change the look of wine from Windows 3.1 to Windows 95. "win98" behaves
|
|
just like "win95" most of the time.
|
|
|
|
[programs] can be used to say what programs run under special conditions.
|
|
|
|
Default=/program/to/execute.exe
|
|
|
|
Sets the program to be run if wine is started without specifying a program.
|
|
|
|
Startup=/program/to/execute.exe
|
|
|
|
Sets the program to automatically be run at startup every time.
|
|
|
|
3. WHERE DO I PUT IT?
|
|
|
|
The wine config file can go in two places.
|
|
|
|
/usr/local/etc/wine.conf <--- A systemwide config file, used for anyone
|
|
who doesn't have their own.
|
|
$HOME/.winerc <--- Your own config file, that only is used for your
|
|
user.
|
|
|
|
So copy the file you made to be the wine.conf to /usr/local/etc/wine.conf or
|
|
$HOME/.winerc for wine to recognize it.
|
|
|
|
4. WHAT IF IT DOESN'T WORK?
|
|
|
|
There is always a chance that things will go wrong. If the unthinkable happens,
|
|
try the newsgroup, comp.emulators.ms-windows.wine
|
|
Make sure that you have looked over this document thoroughly, and have also
|
|
read:
|
|
README
|
|
documentation/bugreports
|
|
http://www.westfalen.de/witch/wine-HOWTO.txt (Optional but recommended)
|
|
If indeed it looks like you've done your research, be prepared for helpful
|
|
suggestions. If you haven't, brace yourself for heaving flaming.
|
|
|