UsefulRegistryKeys

Useful Registry Keys

Users should never have to play with the registry. That said, sometimes there's no other way to do what you need to do...

Here you'll find useful registry keys that cannot be changed in winecfg. You should edit the registry using regedit. When updating your Wine version, don't forget to run wineprefixcreate to update your registry.

{i} If key does not exist create it. All values are strings (REG_SZ) unless stated otherwise.

I'll try to keep this list accurate but you might want to check it against current Wine source code (for Wine related keys that is): $ find . -exec grep "@@" {} \; | grep registry

HKEY_CURRENT_USER (a.k.a HKCU)

|
+-Software
   |
   +-Wine
      |
      +-Alsa Driver
      |  |
      |  +->AutoScanCards
      |  |   [Whether or not to scan all known sound cards and add them to Wine's list
      |  |    Set to "N", and then Devicexxx info is a way to exactly specify the devices
      |  |    used by Wine. (default yes)]
      |  |
      |  +->AutoScanDevices
      |  |   [Whether or not to scan all known PCM devices on each card (default no)]
      |  |
      |  +->DeviceCount
      |  |   [If present, specifies the number of hard coded Alsa devices to add to Wine's list
      |  |    default 0]
      |  |
      |  +->DeviceCTLn      (where n goes from 1 to DeviceCount)
      |  |   [Specifies the Alsa control devices to open for Device n]
      |  | 
      |  +->DevicePCMn      (where n goes from 1 to DeviceCount)
      |  |   [Specifies the Alsa PCM devices to open for Device n]
      |  |
      |  +->UseDirectHW
      |      [When set to y, direct hardware access is used
      |       (can prevent buffer underruns in some cases)]
      |
      +-AppDefaults
      |  |
      |  --*<app.exe>
      |      [Application specific defaults. Replace app.exe with the name of the
      |       application you want to override defaults for. And use the same subtrees
      |       as the Wine subtree (i.e. DllOverrides, X11 Driver, etc.).]
      |
      +-Debug
      |  |
      |  +->RelayExclude
      |  |   [Use this key to exclude some calls from the (overwhelming) +relay debug logging. Example:
      |  |    "RelayExclude"="ntdll.RtlEnterCriticalSection;ntdll.RtlLeaveCriticalSection"]
      |  |
      |  +->RelayFromExclude
      |  |   [Exclude calls made from listed dlls in the the +relay debug log. Example:
      |  |    "RelayFromExclude"="kernel32" - omit all calls made from kernel32.dll]
      |  |
      |  +->SpyExclude
      |  |   [Exclude listed messages from the +message debug log. Example:
      |  |    "SpyExclude"="WM_TIMER;WM_MOUSEMOVE;WM_PAINT"]
      |  |
      |  +->SpyInclude
      |      [Include only listed messages in the +message debug log. Example:
      |       "SpyInclude"="WM_CREATE"]
      |
      +-Direct3D
      |  |
      |  +->DirectDrawRenderer
      |  |   [Select what backend to use for DDraw. Valid options are:
      |  |    gdi - Use GDI to draw on the screen (slow but reliable) (default)
      |  |    opengl - Use OpenGL (fast but not all programs work correctly)
      |  |    see http://wiki.winehq.org/DirectDraw for more information]
      |  |
      |  +->RenderTargetLockMode
      |  |   [Selects which mode is used to read and write the framebuffer while it is locked.
      |  |    auto:     same as readdraw at the moment, will do benchmarks and use best method later(default)
      |  |    disabled: effectively disables render target locking
      |  |    readdraw: uses glReadPixels for reading, glDrawPixels for drawing
      |  |    readtex:  reading with glReadPixels, drawing by drawing a textured quad
      |  |    texdraw:  readback using a texture, drawing with glDrawPixels
      |  |    textex:   readback using a texture, drawing with a textured quad
      |  |    see http://wiki.winehq.org/DirectDraw for more information]
      |  |
      |  +->OffscreenRenderingMode
      |  |   [Selects which mode is used to render offscreen images/textures.
      |  |    backbuffer: the rendering is done in the backbuffer (default)
      |  |    pbuffer:    uses PixelBuffers
      |  |    fbo:        uses Framebuffer object]
      |  |
      |  +->UseGLSL
      |  |   [When set to "disabled", this disables the use of GL Shading Language for vertex
      |  |    and pixel shaders, it will result in a fallback to ARB shaders. By default GLSL 
      |  |    is enabled when available. (It is default as of 29/10/2007 or Wine 0.9.49)
      |  |
      |  +->VideoMemorySize
      |      [Sets the amount of emulated video memory. Default is a simple autodetection
      |       based on the card type guessed from OpenGL strings and extensions]
      |
      +-DirectInput
      |  |
      |  +->*<joystick name> = <axes mapping>
      |      [Linux only (js* devices). This maps axis of joystick "joystick name".  The "axes mapping" is comma
      |       separated list of "axes type"s - one for each joystick axes (hat-pov uses 2 axis).
      |       "axes type" is one of: X, Y, Z, Rx, Ry, Rz, Slider1, Slider2, POV1, POV2, POV3, POV4.
      |       To find the joystick name run 'WINEDEBUG=+dinput wine program.exe 2>&1 | grep joydev_enum_device'
      |       Example: "Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1". (two "Logitech" is not a typo)]
      |
      +-Fonts
      |  |
      |  +-Replacements
      |  |  |
      |  |  +->*<font name> = <replacement font name>
      |  |      ["Wingdings"="Winedings" would enumerate the Winedings font both as Winedings and
      |  |       Wingdings. However if a real Wingdings font is present the replacement does not
      |  |       take place.]
      |  |
      |  +-ExternalFonts
      |     |
      |     +->*<font name>
      |         [ExternalFonts has a list of font names whose
      |          values are the name of the actual font]
      |
      +-MSHTML
      |  |
      |  +->GeckoPath
      |  |   [Path to the where Gecko engine is installed. Example: "c:\Program Files\wine_gecko".]
      |  |
      |  +->GeckoUrl
      |      [This is the url to the Wine Gecko required by MSHTML.
      |       Default is http://source.winehq.org/winegecko.php.
      |       You can change it to a local file like file://Z:\path\to\wine_gecko.cab
      |       so you don't need to redownload it each time you create a new wineprefix.]
      |
      +-Network
      |  |
      |  +->UseDnsComputerName
      |      [Set to N if you need a persistent NetBIOS ComputerName that possibly differs from the Unix host name.
      |       You'll need to set ComputerName in HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName]
      |
      +-Printing
      |  |
      |  +->PPD Files
      |  |  |  [When CUPS does not found a printer (wine compiled without CUPS,
      |  |  |   libcups not loadable or required functions not found in libcups), then
      |  |  |   this Key must Exist to use your printers from "/etc/printcap"]
      |  |  |
      |  |  +->*<printer name> = <PPD-File with full unix path>
      |  |  |    [When there is no Value with the Name "PPD File" found in the Registry
      |  |  |     in the Settings for a Printer ("<printer name>\\PrinterDriverData"),
      |  |  |     then this Key is tried as next]
      |  |  |
      |  |  +->"generic" = <the default PPD-File with full Unix path>
      |  |        [This PPD File is used, when every other Key failed.
      |  |         "wineps.drv" need a PPD-File for every Printer.]
      |  |
      |  +->Spooler
      |     |  [You can redirect any Printerport to a Unix-File or pipe it to an
      |     |   Unix-Application. This is also useful, when a Windows-Program has
      |     |   disabled the "Redirect to File" Option in the Printer-Dialog.]
      |     |
      |     +->*<portname> = <unixfile or "|unix_application">
      |         [All Printer with the given portname can be redirected.
      |          Example for an unixfile: "LPT1:" = "/tmp/printer_data.ps"
      |          Pipe to Application - Example: "LPR:Print with KDE" = "|kprinter"]
      |
      +->Version
      |   [This is the version of Windows Wine will report.
      |    Values: vista, win2003, winxp, win2k, winnt, winme, win98, win95, win31.]
      |
      +-VDM
      |  |
      |  +-ppdev
      |     |
      |     +->*<port_number> = </dev/parportN>
      |         [This sets mapping between port_number and /dev/parportN device.
      |           For example  "378  /dev/parport0".]
      |
      +-WineBrowser
      |  |
      |  +->Browsers
      |  |   [List of browsers that Wine will attempt to launch when running winebrowser
      |  |    command or clicking on a link in a windows application. Default value is
      |  |    firefox,konqueror,mozilla,netscape,galeon,opera,dillo]
      |  |
      |  +->Mailers
      |      [List of mail clients that Wine will attempt to launch when running winebrowser
      |       Default value is mozilla-thunderbird,thunderbird,evolution]
      |
      +-X11 Driver
         |
         +->ClientSideWithRender
         |   [Set this to "N" if you don't want to use the Render extension to render client side fonts]
         |
         +->ClientSideAntiAliasWithRender
         |   [Set this to "N" to disable font anti-aliasing when X-Render extension is present]
         |
         +->ClientSideAntiAliasWithCore
         |   [Set this to "N" to disable font anti-aliasing when X-Render extension is not present or disabled]
         |
         +->Desktop
         |   [This key is set to the size (resolution) when you are using the
         |    "Emulate a virtual desktop"-option in winecfg.
         |     The value is used as is (if not "n", "f" or "0") for the X11 geometry.]
         |
         +->DXGrab
         |   [Set this to "Y" to allow DirectX apps to stop the mouse leaving their window.]
         |
         +->Managed
         |   [Set this to "N" to disallow the window manager to manage created windows.]
         |
         +->Synchronous (removed as of 2006-02-24. use "synchronous" debug channel instead)
         |   [In case of X errors it sometimes helps to set it to "Y".]
         |
         +->UseXRandR
         |   [Set this to "N" to prevent wine from switching the resolution using XRandr extension.]
         |
         +->UseXVidMode
             [Set this to "Y" to allow wine switch the resolution using XVidMode extension.]

HKEY_LOCAL_MACHINE (a.k.a HKLM)

|
+-Software
|  |
|  +-Microsoft
|     |
|     +-DirectDraw
|     |  |
|     |  +->ForceRefreshRate      (added in Wine 0.9.58)
|     |      [DWORD Value (REG_DWORD): Set this to the refresh rate you wish to
|     |       force for DirectX games.  This is analogous to forcing the refresh
|     |       rate in Windows using dxdiag as described in KB315614 (main article),
|     |       KB230002, and KB217348.  If this key does not exist, the default
|     |       refresh rate will be used.]
|     |
|     +-Internet Explorer
|     |  |
|     |  +->Version
|     |  +->W2kVersion
|     |  |   [Useful to make application believe that you have Internet Explorer
|     |  |   installed (if you set it manually, you might need some IE provided
|     |  |   dlls). Set them to "6.0.2800.1106" for IE6SP1.]
|     |  |
|     |  +->Build
|     |     [Same as above. Set it to "62800.1106" for IE6SP1.]
|     |
|     |
|     +-Windows
|     |  |
|     |  +-CurrentVersion
|     |     |
|     |     +-Add Paths
|     |        |
|     |        +-IExplore.exe
|     |           [this key explains where to find iexplore.exe.
|     |            It is needed if you install the gecko engine.
|     |            Default: "C:\Program Files\Internet Explorer\iexplore.exe"
|     |            "Path": "C:\Program Files\Internet Explorer;"]
|     |
|     +-Windows NT
|        |
|        +-CurrentVersion
|           |
|           +->FontSubstitutes
|           |   [Define font substitutes.
|           |    For example: "Tahoma"="Arial" will substitute 'Tahoma' font with 'Arial' font.]
|           |
|           +-AeDebug
|              |
|              +->Debugger
|                  [Command to execute on unhandled exception. The environment
|                   variable WINEDEBUG is cleared before execution.
|                   Default: "winedbg --auto %ld %ld"]
|   
|
|
--System
   |
   +-CurrentControlSet
      |
      +-Control
      |  |
      |  +-ComputerName
      |  |  |
      |  |  +->ComputerName
      |  |      [Current computer name.
      |  |       Updated automatically from UNIX host name unless UseDnsComputerName=N]
      |  |
      |  +-Session Manager
      |     |
      |     +-Environment
      |        |
      |        +->ComSpec
      |        |   [Location of the system console.
      |        |    Default: c:\windows\system32\cmd.exe]
      |        |
      |        +->PATH
      |        |   [Path environment variable for searching programs.
      |        |    Default: c:\windows\system32;c:\windows]
      |        |
      |        +->ProgramFiles
      |        |   [Location of the Program Files directory and ProgramFiles environment variable.
      |        |    Default for English: C:\Program Files]
      |        |
      |        +->SYSTEMROOT
      |        |   [Location of the windows system root and SYSTEMROOT environment variable.
      |        |    Default: c:\windows]
      |        |
      |        +->TEMP
      |        |   [Location of the temporary files directory and TEMP environment variable.
      |        |    Default: c:\windows\temp
      |        |
      |        +->TMP
      |        |   [Same as above.]
      |        | 
      |        +->USERPROFILE
      |        |   [Location of the user's profile directory and USERPROFILE environment variable.
      |        |    Default: c:\windows\Profiles\<unix username>]
      |        |
      |        +->windir
      |        |   [Location of the windows system root
      |        |    Default: c:\windows]
      |        |
      |        +->winsysdir
      |            [Location of the system libraries directory
      |             Default: c:\windows\system32]
      |
      +-Hardware Profiles
         |
         +-Current
            |
            +-Software
               |
               +-Fonts
                  |
                  +->LogPixels
                      [Sets current DPI - font size. Some dialogs resize themselves
                       according to this value]

See Also

  • DirectDraw -- Discussion of performance related issues (Relevant to some registry settings listed here)

  • regedit -- A tool for editing the registry

  • winecfg -- The wine configuration tool.

  • DebugChannels -- How to turn on and off debug channels (i.e. relay)

  • Wine Man Page -- Documents environment variables which could be an alternative to editing the registry.

UsefulRegistryKeys (last edited 2008-03-28 17:19:16 by DenverGingerich)