NativeDll

For the purpose of testing, or to get some applications to run, Wine can use native libraries instead of the built-in ones. This page explains how to use the native version of some libraries because not every one can be used simply by selecting a DLL override inside winecfg.

There are also more specific pages.

{OK} The preferred way to enable a native library is to use winecfg and to define DLL overrides on a per-application basis whenever possible.

quartz & devenum

An application-specific dll override does not work with quartz.dll. You have to set it globally, i.e. for all threads.

WINEDLLOVERRIDES=quartz=n wine myapp.exe

/!\ Often enough, an override for quartz leads to crashes in built-in devenum.dll. Override both

WINEDLLOVERRIDES=quartz,devenum=n wine myapp.exe

amstream

amstream must register itself. Often enough, the native amstream.dll won't work (yet) without a native quartz.dll.

WINEDLLOVERRIDES="amstream=n" wine regsvr32 amstream.dll
WINEDLLOVERRIDES="amstream,quartz,devenum=n" wine myapp.exe

winmm

The winmm libraries of W95, W2k and XP differ. Here's how to use a w2k one.

  • Duplicate Wine's drive_c/windows/system.ini [MCI] section as [MCI32]. It maps device names like WaveAudio to libraries like mciwave.dll.

  • Add to Wine's drive_c/windows/win.ini a section named "MCI Extensions" that maps filename extensions like .wav to MCI device types.

[MCI extensions]
avi=AVIVideo
cda=CDAudio
mid=Sequencer
midi=Sequencer
wav=WaveAudio
wma=MPEGVideo

Add all the other mappings found in Wine's system.reg under "HKLM\Software\Microsoft\Windows NT\CurrentVersion\MCI Extensions" if you need to.

DirectX codecs

You can follow instructions to install all of DirectX9 (use winetricks). You'll generally find DirectX as well inside a .cab file on the CD of your application that depends on DirectX.

<!> It is recommended to install DirectX into a separate prefix like ~/.wine-dx9.

Often enough, Wine's built-in DirectX is almost good enough; an application needs only one or the other DirectX codec. Copy this codec from the native DirectX install into your regular Wine prefix, then register it with Wine. Here's an example involving an audio codec:

cp -p ~/.wine-dx9/drive_c/windows/system32/l3codecx.ax ~/.wine-myapps/drive_c/windows/system32/
WINEPREFIX=~/.wine-myapps wine regsvr32 l3codecx.ax

{i} It is generally recommended that missing dlls are copied to the application's directory instead of Wine's windows/system32/ directory.


CategoryDLLs

NativeDll (last edited 2010-09-17 15:25:35 by JörgHöhle)