| 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. | |