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